Serverless Computing: Customer Adoption Insights & Patterns Michael Behrendt IBM Distinguished Engineer Chief Architect, Serverless/FaaS & @Michael_beh
Evolution of serverless Increasing focus on business logic Bare Metal Virtual machines Containers Functions Decreasing concern (and control) over stack implementation
OpenWhisk FaaS platform to execute code in response to events Apache open source project: openwhisk.org
FaaS platform to execute code in response to events : Managed service as part of the IBM Cloud bluemix.net/openwhisk
IBM Watson and Cloud Platform Application Healthcare Financial Services Logistics DsX IoT Virtual agent AI Conversation Visual Recognition Discovery Speech Compare + Comply Document Conversion Knowledge Query Nat. Language Understanding Tone Analysis Nat. Language Classifier Personality Insights + more... Data Ingest Public, Private, Licensed Enrich Store Analyze Apply The Watson Data Platform Dev Services Containers Messaging Blockchain Logging + more... Cloud Infrastructure Storage Compute Physical Network Infrastructure Mgmt + more...
OpenWhisk Concepts Source (events) Results Triggers (response) Actions (code) Rules
JS/NodeJS 6 Swift 3 Supported Languages Multilanguage Support Java Python 3 Docker PHP Community Efforts Haskell Scala and more to come
OpenWhisk Support for different invocation Blocking models Non-blocking Periodic
OpenWhisk Supports Action 1 higher-level programming constructs Action 2 Chaining/ Sequencing Parameter Binding
OpenWhisk A Differentiated Model for FaaS Composition Respond to the need for more complex, coordinated flows required for end to end solutions across cloud Services Composition, Enable more expressive programming through direct integration of new constructs into existing language bindings Control Flow and State Management
OpenWhisk Event Provider Periodic IBM Cloudant Message Hub Mobile Push Github IBM App Connect l
OpenWhisk Granular pricing Pay 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.
OpenWhisk Reduce Costs Time an action was running * memory allocated to action $ 0.000017 per GBs Free tier: 400000 GBs
What is serverless good for? OpenWhisk allows you to build up an entirely serverless application architecture
Customers and Partners Customers and Partners Partners Clients
What is IBM OpenWhisk Cloud Functions good for? good for? Mobile backend Outsource compute-intensive tasks to a powerful & scalable serverless platform and implement your actions even without changing the programming language.
What is IBM Serverless OpenWhisk Cloud Functions good for? good for? Mobile backend The Weather Gods https://itunes.apple.com/us/app/weathergods/id1041512978?mt=8
The Weather Gods High Level Architecture OpenWhisk Actions External Data Weather Update Trigger Weather Model Rain Scanner 3 Weather Gods Triggers 2 Snow Scanner Cron trigger every 3 minutes 1 TWC Group Scanner Weather Checker Wind Scanner Storm Scanner Notification Model Notification Bluemi x Notification 4 Set flag to check weather for each user location in the group Cloudant Weather Collector Trigger For each user location updated Frost Scanner ETC Scanner Notification Trigger Send Notificati on
What is IBM OpenWhisk Cloud Functions good for? good for? Data processing
What is IBM OpenWhisk Cloud Functions good for? good for? Data processing Ideally suited for working with multimedia data like audio, image and video data: Audio normalization Image rotation, sharpening, noise reduction or Thumbnail generation Image OCR ing Video transcoding
What do our customers do with? Data processing http://ecc.ibm.com/casestudy/us-en/eccfcdc12387usen 10x faster 90% less cost
SiteSpirit High Level Architecture 1 Per Customer Upload Bucket Object Storage Crop Resolutions Buckets? 4 Sequence Trigger Action mediaspirit-newfile-uploaded ms2-crop-done mediaspirit-transform ms2-moveuploaded-done + 2 + cloudant/create + ms2-moveuploadedupload 3 ms2-imagecropper + + ms2-fetch-cropres ms2-get-clientconfig + ms2-cloudanttrigger ms2-get-clientconfig Costumer DB ms2-image-moveuploadtrigger ms2- changelistener Manager DB ms2-imagecrop -trigger
What do our customers do with? Data processing Less cost <$2 for all paper checks processed within 1 year
Santander High Level Architecture Resized Images Archived Audited Parsed Processed Represents System of Records Save Images Changes Changes 1 2 3 4 Find Checks Parse Check Record Deposit Object Storage OCR Engine Email Notification IBM Bluemix IBM Cloudant Trigger Action Openwhisk
What is IBM OpenWhisk Cloud Functions good for? good for? Cognitive
What is IBM OpenWhisk Cloud Functions good for? good for? Cognitive Skylink https://github.com/ibm-bluemix/skylink
What is Serverless good for? Abilisense https://www.abilisense.com/
Abilisense High Level Architecture 1 2a Sound Processing Machine Learning Object Storage Abilisense 2b HTTP 3 4 Notifications MQTT IBM Watson IOT Platform Openwhisk Abilisense REST REST IBM Weather Channel Smart Cities Compose for MangoDB
Abilisense 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 Assumptions Runtime Action per Millisecond 5 Memory MB 512 Number of Executions 5,000,000.00 Monthly Cost $14.45 Weather Data Reading Frequency 1 Hourly Weather Data Reading Size 2 KB Weather Data Total Capability 1.41 MB
Potential research areas Problem determination for apps with a large number of actions Latency reduction Density increase State handling Building complex apps
Learn more Learn more Commercial offering home: bluemix.net/openwhisk Open-source offering home: openwhisk.org Slack: slack.openwhisk.org
Learn more Github github.com/openwhisk Learn Twitter twitter.com/openwhisk more Medium medium.com/openwhisk Slideshare slideshare.net/openwhisk Youtube youtube.com/channel/ucbzgshnqk8 F43NKsvEYA1SA
Thank you