ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson...
Transcript of ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson...
© 2017 IBM Corporation
Serverless Computing:Customer AdoptionInsights & Patterns
© 2017 IBM Corporation
@Michael_beh
Michael BehrendtIBM Distinguished EngineerChief Architect, Serverless/FaaS & IBM Cloud Functions
© 2017 IBM Corporation
IBM Cloud FunctionsEvolution of serverless
Incr
easi
ng fo
cus
on b
usin
ess
logi
c
Decreasing concern (and control) over stack implementation
Bare Metal
Virtual machines
Functions
Containers
© 2017 IBM Corporation
IBM Cloud Functions
Apache open source project:openwhisk.org
FaaS platform to execute code in response to events
OpenWhisk
© 2017 IBM Corporation
IBM Cloud Functions
FaaS platform to execute code in response to events
IBM Cloud Functions
IBM Cloud Functions:Managed service as part ofthe IBM Cloudbluemix.net/openwhisk
Enrich Store Analyze Apply
The Watson Data PlatformPublic, Private, Licensed
Ingest
Data
Compute Infrastructure Mgmt
Dev Services
Infrastructure Physical NetworkStorage + more...
Messaging LoggingBlockchainContainers + more...
Cloud
Application DsX Virtual agentHealthcare FinancialServices
Conversation Discovery Compare + Comply
Knowledge Query Tone Analysis Personality
Insights
VisualRecognition Speech Document
ConversionNat. Language Understanding
Nat. Language Classifier + more...
AI
Logistics IoT
IBM Watson and Cloud Platform
© 2017 IBM Corporation
IBM Cloud Functions
Triggers(response)
Rules
Actions(code)
Source (events) Results
OpenWhiskConcepts
IBM Cloud Functions
© 2017 IBM Corporation
IBM Cloud Functions
Supported Languages
Multi-language
Support
CommunityEfforts
… and more to come
JS/NodeJS 6
Java
Python 3
Swift 3
Docker
Haskell
…
Scala
PHP
IBM Cloud Functions
© 2017 IBM Corporation
IBM Cloud FunctionsOpenWhisk
Non-blocking
Blocking
Periodic
Support for different invocation models
IBM Cloud Functions
© 2017 IBM Corporation
IBM Cloud FunctionsOpenWhisk
Supports higher-level programming constructs Chaining/
Sequencing
Action 1
Action 2
ParameterBinding
IBM Cloud Functions
© 2017 IBM Corporation
IBM Cloud FunctionsOpenWhisk
Composition, Control Flow and State Management
IBM Cloud FunctionsA Differentiated Model for FaaS Composition
• Respond to the need for more complex, coordinated flows required for end to end solutions across cloud Services
• Enable more expressive programming through direct integration of new constructs into existing language bindings
© 2017 IBM Corporation l
IBM Cloud Functions
EventProvider Periodic IBM Cloudant Message Hub
Mobile Push Github
OpenWhisk
IBM App Connect
IBM Cloud Functions
© 2017 IBM Corporation
IBM Cloud FunctionsOpenWhisk
Granular pricingPay only for the exact time your actions run. When an action is not invoked, it’s not in memory, so you don’t pay anything.
IBM Cloud Functions
© 2017 IBM Corporation
IBM Cloud FunctionsOpenWhisk
Reduce CostsTime an action was running* memory allocated to action
$ 0.000017 per GBsFree tier: 400000 GBs
IBM Cloud Functions
© 2017 IBM Corporation
IBM Cloud FunctionsWhat is serverless good for?
OpenWhisk allows you to build up an entirely serverlessapplication architecture
© 2017 IBM Corporation
IBM Cloud FunctionsCustomers and Partners
Customers and PartnersC
lient
sPa
rtne
rs
© 2017 IBM Corporation
IBM Cloud Functions
Mobile backend
What is OpenWhisk good for?
Outsource compute-intensive tasks to a powerful & scalable serverless platform and implement your actions even without changing the programming language.
What is IBM Cloud Functions good for?
© 2017 IBM Corporation
IBM Cloud FunctionsWhat is Serverless good for?
Mobile backend
The Weather Godshttps://itunes.apple.com/us/app/weather-gods/id1041512978?mt=8
What is OpenWhisk good for?What is IBM Cloud Functions good for?
© 2017 IBM Corporation
IBM Cloud FunctionsThe Weather Gods High Level Architecture
Weather Checker
TWC
Weather Model
Group Scanner
1Cron trigger every 3 minutes
Cloudant
Set flag to check weather for each user location in the group
For each user location updated
2
Weather Collector Trigger
Snow Scanner
Rain Scanner
Wind Scanner
Storm Scanner
Frost Scanner
ETC Scanner
3Weather Update Trigger
Notification
Not
ifica
tion
Mod
el
Send Notificati
on
4
Notification Trigger
Bluemix
Notification
Weather Gods
OpenWhisk Actions
External
Data
Triggers
© 2017 IBM Corporation
IBM Cloud Functions
Data processing
What is OpenWhisk good for?What is IBM Cloud Functions good for?
© 2017 IBM Corporation
IBM Cloud Functions
Data processing
Ideally suited for working with multimedia data like audio, image and video data:Audio normalizationImage rotation, sharpening, noise reduction or Thumbnail generationImage OCR’ingVideo transcoding…
What is OpenWhisk good for?What is IBM Cloud Functions good for?
© 2017 IBM Corporation
IBM Cloud Functions
Data processing
http://ecc.ibm.com/case-study/us-en/ECCF-CDC12387USEN
What do our customers do with IBM Cloud Functions?
10x faster90% less cost
© 2017 IBM Corporation
IBM Cloud FunctionsSiteSpirit High Level Architecture
ms2-image-moveupload-trigger ms2-imagecrop
-trigger
Upload Bucket
Per Customer
Costumer DB
+mediaspirit-transform
cloudant/create
ms2-changelistener
ms2-cloudant-trigger
+
+ms2-moveuploaded-
upload
ms2-get-clientconfig
ms2-moveuploaded-done
+
+
+ms2-fetch-cropres
ms2-get-clientconfig
ms2-imagecropper
ms2-crop-done
mediaspirit-newfile-uploaded
Crop Resolutions Buckets?
Sequence
Trigger
Action
Manager DB
Object Storage
1
23
4
© 2017 IBM Corporation
IBM Cloud Functions
Data processing
What do our customers do with IBM Cloud Functions?
Less cost <$2 for all paper checksprocessed within 1 year
© 2017 IBM Corporation
IBM Cloud FunctionsSantander High Level Architecture
IBM Bluemix Openwhisk
Object Storage
Archived Audited Parsed Processed
Resized Images
Represents System of Records
Save Images
Find Checks
ChangesChanges
ParseCheck
OCREngine
Record Deposit
Email Notification
Trigger ActionIBM Cloudant
1 2 3 4
© 2017 IBM Corporation
IBM Cloud Functions
Cognitive
What is OpenWhisk good for?What is IBM Cloud Functions good for?
© 2017 IBM Corporation
IBM Cloud Functions
Cognitive
Skylinkhttps://github.com/IBM-Bluemix/skylink
What is OpenWhisk good for?What is IBM Cloud Functions good for?
© 2017 IBM Corporation
IBM Cloud FunctionsWhat is Serverless good for?
Abilisensehttps://www.abilisense.com/
© 2017 IBM Corporation
IBM Cloud FunctionsAbilisense High Level Architecture
AbilisenseOpenwhisk
Compose for MangoDB
IBM Weather Channel
IBM Watson IOTPlatform
Object Storage
SoundProcessing
Machine Learning
NotificationsHTTP
REST
Abilisense
MQTT
Smart Cities
REST
12a
2b3 4
© 2017 IBM Corporation
IBM Cloud Functions
Assumptions
Home Devices 1.000 Un.
Avg. Sound File Size 1 MB
Avg. Number of Sound Readings 10 Monthly
IoT Reading Frequency 1 Hourly
IoT Recording Data Size 2 KB
Weather Data Reading Frequency 1 Hourly
Weather Data Reading Size 2 KB
Weather Data Total Capability 1.41 MB
AbilisenseAssumptions
Runtime Action per Millisecond 5
Memory MB 512
Number of Executions 5,000,000.00
Monthly Cost $14.45
© 2017 IBM Corporation
IBM Cloud Functions
Potential research areas• Problem determination for apps with a large number of actions
• Latency reduction
• Density increase
• State handling
• Building complex apps
• …
© 2017 IBM Corporation
IBM Cloud Functions
Commercial offering home:bluemix.net/openwhisk
Open-source offering home: openwhisk.org
Slack: slack.openwhisk.org
Learn more
Learn more
© 2017 IBM Corporation
IBM Cloud Functions
Github github.com/openwhisk
Twitter twitter.com/openwhisk
Medium medium.com/openwhisk
Slideshare slideshare.net/OpenWhisk
Youtube youtube.com/channel/UCbzgShnQk8F43NKsvEYA1SA
Learn more
Learn more
© 2017 IBM Corporation
IBM Cloud Functions
Thank you