Upload
openwhisk
View
1.038
Download
0
Embed Size (px)
Citation preview
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskThe journey continues: What's new in OpenWhisk land and what have our customers built?
© 2017 IBM Corporation l Interconnect 2017
@AndreasNauerz@Michael_beh
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Available asopen source via Apacheopenwhisk.org
FaaS platform to execute code in response to events
OpenWhisk
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
FaaS platform to execute code in response to events
OpenWhisk
Also available as managed service on IBM Bluemixbluemix.net/openwhisk
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
OpenWhisk allows you to build up an entirely serverless application architecture
Openwhisk
IOT
Mobile
Cognitive
APIs
Data
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
API Gateway supportAllows to map API endpoints to OpenWhisk actions
GA Now
Serverless microservice APIs/backend
What is OpenWhisk good for?
Available for free, without limits
Define Actions:getCostumercreateCostumer deleteCostumer
Define API Endpoints (URLs) and map to ActionsGet: mydomain.com/…/customersPost: mydomain.com/…/customers Delete: mydomain.com/…/customers
12
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskgetCostumercreateCostumer deleteCostumer
Easy to add and edit:Security (API key, API secret, OAuth validation, CORS)Rate-LimitingMap actions to API endpoints (OpenAPI Doc creation)Easy socialization (sharing, API key creation)Analytics (API calls, errors, response time)Test your API (API Explorer) Upload Swagger/OpenAPI Doc
3
2 1
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat is OpenWhisk good for?
1
3
4
2
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Gives you full control over HTTP request/response from within an action
New
Web actions
Serverless microservice APIs/backend
What is OpenWhisk good for?
Another way to invoke an action is via our newest web action capabilities. Those OpenWhisk actions quickly enable you to build web based applications. Allowing backend logic which your web application can access anonymously without requiring an OpenWhisk authentication key. It is up to the action developer to
hello
Client
OpenwhiskIBM Cloudant
Enable Action to be a WebAction
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat is OpenWhisk good for?Sending a redirect
Setting a cookie
Sending an image
Examples for response handling
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat is OpenWhisk good for?
Example for request handling
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Allows to use Kong as an alternative open & vendor-agnostic API Gateway
New
Kong plug-infor OpenWhisk
Serverless microservice APIs/backend
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat is OpenWhisk good for?
1
2
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat is OpenWhisk good for?
3
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Integration with
New
Allows OpenWhisk to work with today’s stream-based applications; stream data to/from OpenWhisk and leverage PubNub BLOCKS for lightweight compute in the network.
Bringing OpenWhisk to Realtime Applications
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat is OpenWhisk good for?
Vehicle DispatchPubNub Blocks → OpenWhisk
PubNub Blocks filters geo data and routes to OpenWhisk for
computation. OpenWhisk runs business logic and M.L. and broadcasts back to PubNub
listeners on end-devices.
NewSample use-cases…
Disaster AlertsOpenWhisk → PubNub
OpenWhisk detects weather anomalies and and broadcasts to PubNub listeners on end-devices
for real-time disaster alerts.
Social Chat AppPubNub → Watson + OpenWhisk
PubNub filters chat messages through a PubNub Watson
Translator Block, and offloads audience analysis to OpenWhisk for
async post-processing.
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat is OpenWhisk good for?
Sample…
Clone and configure PubNub’s OpenWhisk Block at pubnub.com/openwhisk
{ “Openwhisk”: { “triggerName”: “hello_world” “payload”: {“message”: “Hello From PubNub BLOCKS!”, “publishTime”: 1492747834095 } } }
function main(params) { var dateNow = + new Date();
return { message: params.message, time_to_publish: dateNow - params.publishTime } }
{ “message”: “Hello From PubNub Blocks!”, “time_to_publish”: 15 }
1
2
3
4
JSON input payload to your Block
OpenWhisk simple computation
New
Return output
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Swift Action
Mobile backend
IBM API Gateway
Openwhisk
APIHi!
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.
Swift Action
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat is Serverless good for?
Mobile backend
The Weather Godshttps://itunes.apple.com/us/app/weather-gods/id1041512978?mt=8
IBM API Gateway
Openwhisk
APIHi!
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskThe Weather Gods High Level Architecture
Weather CheckerTWC
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 Notification
4
Notification Trigger
Bluemix
Notification
Weather Gods
OpenWhisk Actions
External
Data
Triggers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Data processing
OpenwhiskIBM Cloudant
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Data processing
OpenwhiskIBM Cloudant
Ideally suited for working with multimedia data like audio, image and video data:Audio normalizationImage rotation, sharpening, noise reduction or Thumbnail generationImage OCR’ing
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Data processing
OpenwhiskIBM Cloudant
http://ecc.ibm.com/case-study/us-en/ECCF-CDC12387USEN
What do our customers do with OpenWhisk?
10x faster 90% less cost
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskSiteSpirit 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 l Interconnect 2017
IBM Bluemix OpenWhisk
Data processing
OpenwhiskIBM Cloudant
What do our customers do with OpenWhisk?
Less cost <$2 for all paper checksprocessed within 1 year
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskSantander 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 l Interconnect 2017
IBM Bluemix OpenWhisk
Cognitive
OpenwhiskIBM Cloudant
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Cognitive
Skylinkhttps://github.com/IBM-Bluemix/skylink
OpenwhiskIBM Cloudant
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Real-time Datastream OpenwhiskIBM Message Hub IBM Cloudant
Event processing/Message Hub
Bluemix-managed Apache Kafka service for real-time build outs of data pipelines and streaming apps
What is OpenWhisk good for?
supports binary dataNew
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Real-time Datastream OpenwhiskIBM Message Hub IBM Cloudant
Event processing via IBM App Connect
IBM App Connect
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Watson IoT Realtime Insights
Trigger events based on IoT sensor data
What is OpenWhisk good for?
IOT
Device
1Weather Update Trigger
Watson IOT Platform
Realtime Insights rules 2 3
4 Trigger an Action
OpenWhisk
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat is Serverless good for?
Abilisensehttps://www.abilisense.com/
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskAbilisense High Level Architecture
AbilisenseOpenwhisk
Compose for MangoDB
IBM Weather Channel
IOTIBM Watson IOT
Platform
Object Storage
SoundProcessing
Machine Learning
Notifications
sFTP/FA
SP
MQTT
HTTP
REST
Abilisense
MQTT
Smart Cities
REST
12a
2b3 4
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
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 US$
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
IoT Node-Red
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Scheduled tasks
Periodic Alarm Openwhisk
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
ChatbotsIBM API Gateway
(Optional)
API
What is OpenWhisk good for?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat do our customers do with OpenWhisk?
Customers and Partners
Clie
nts
Part
ners
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Commercial offering home: bluemix.net/openwhisk
Open-source offering home: openwhisk.org
Slack: slack.openwhisk.org
Additional resources
Learn more
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Github github.com/openwhisk
Twitter twitter.com/openwhisk
Medium medium.com/openwhisk
Slideshare slideshare.net/OpenWhisk
Youtube youtube.com/channel/UCbzgShnQk8F43NKsvEYA1SA
Learn more
Additional resources