Upload
openwhisk
View
3.123
Download
1
Embed Size (px)
Citation preview
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Keynote
© 2017 IBM Corporation l Interconnect 2017
@jrmcgee
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Agenda
1. Evolution of serverless 2. What is serverless aka FaaS? 3. Bluemix: What is it? 4. OpenWhisk: What is it & what’s new? 5. What is serverless good for? 6. Q&A
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Agenda
1. Evolution of serverless 2. What is serverless aka FaaS? 3. Bluemix: What is it? 4. OpenWhisk: What is it & what’s new? 5. What is serverless good for? 6. Q&A
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskEvolution of serverless
Incr
easi
ng fo
cus
on b
usin
ess
logi
c
Decreasing concern (and control) over stack implementation
Bare Metal
VM VM
VM
Virtual machines
Functions
Containers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Runs code only on-demand on a per-request basis
Serverless deployment & operations model
VM
No servers Just code
Evolution of serverless
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Runs code in response to events
Event-programming model
Evolution of serverless
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Agenda
1. Evolution of serverless 2. What is serverless aka FaaS? 3. Bluemix: What is it? 4. OpenWhisk: What is it & what’s new? 5. What is serverless good for? 6. Q&A
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskBluemix
Your Own Hosted Apps / Services
Platform Deployment Options to meet Workload Requirements
BluemixPublic
BluemixDedicated
BluemixLocal*
Powered by IBM SoftLayer In Your Data Center
Flexible Compute Options to Run AppsContainers Virtual Machines
DevOpsTooling
+
Integration& API Mgmt
+
Catalog of Services that Extend Apps� Functionality
Web Data Mobile AnalyticsCognitive IoT Security Yours
+
US-South, EU-GB, AU-SYD
Event Runtimes Instant Runtimes
Bluemix is built on 4 key open compute technologies: OpenWhisk, Cloud Foundry, Docker, and OpenStack, and delivered by 3 deployment options: Public, Dedicated and Local.
It extends each of these with a growing number of services, robust DevOps tooling, integration capabilities, and a seamless developer experience.
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Agenda
1. Evolution of serverless 2. What is serverless aka FaaS? 3. Bluemix: What is new? 4. OpenWhisk: What is it & what’s new? 5. What is serverless good for? 6. Q&A
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskOpenWhisk
FaaS platform to execute code in response to events
What is OpenWhisk?
© 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
Triggers(response)
Rules
Actions(code)
Source (events) Results
OpenWhiskConcepts
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskOpenWhisk
Supported Languages
JS/NodeJS Swift
Python
Java Docker
Go Haskell
Scala . . .
Multi- language
Support
Community Efforts
… and more to come
JS/NodeJS 6
Java
Python 3
Swift 3
Docker
Haskell
…
Scala
New
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskOpenWhisk
Non-blocking
Blocking
Periodic
Support for different invocation models
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskOpenWhisk
Supports higher-level programming constructs Chaining/
Sequencing
Action 1
Action 2
Parameter Binding
Default Name
Default Parameters
Default Value
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskOpenWhisk
Event Provider
Open event emitter (consumer ecosystem)
Open interfacefor event emitters
© 2017 IBM Corporation l O’Reilly Software Architecture 2017 l @DanielKrook
IBM Bluemix OpenWhisk
Event Provider Periodic IBM Cloudant Message Hub
(binary data)
Mobile Push Github
OpenWhisk
IBM App Connect
New
New
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskOpenWhisk
zzz
timechargedGranular 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.
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskOpenWhisk
Memory allocated(MB)
Time executing (milliseconds)
Instancesexecuting simultaneously (count)
Reduce CostsTime an action was running * memory allocated to action $ 0.000017 per GBs Free tier: 400000 GBs
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskOpenWhisk
Controller
…Invoker InvokerInvoker
Apache OpenWhisk
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskOpenWhisk
Cloudant
ELK-Stack
Controller
Integration Service
soon
…InvokerInvokerInvoker
Monitoring
IBM Bluemix OpenWhisk
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskOpenWhisk
New
API Gateway supportAllows to map API endpoints to OpenWhisk actions. API Gateway takes care of security, control (e.g. rate limiting), mediation, parameter mapping, schema validation & supports different verbs
GA Now
© 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 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 OpenWhiskOpenWhisk
Allows to package all puzzle pieces of a server less application into a single project and deploy it in a vendor-agnostic way.
Now available: v0.6
New
Improved Serverless Framework support
© 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 OpenWhiskOpenWhisk
Community efforts to integrate with open tools
• VS Code • NodeRED • Jupyter Notebooks • …
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
DEMO
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskOpenWhisk & Containers
Basically, OpenWhisk is based on Docker… but we added some smartness to meet our performance goals…
Behind the scenes: It’s about containers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
A =wsk action invoke docker run
≈
OpenWhisk & Containers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Start containerdocker run
Initialize/init
Run/run
cold container
OpenWhisk & Containers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Start containerdocker run
Initialize/init
Run/run
39
pre-warmed container
OpenWhisk & Containers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Start containerdocker run
Initialize/init
Run/run
warm container
OpenWhisk & Containers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
cold container pre-warmed container warm container
faster
Performance is king…OpenWhisk & Containers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Already added support for Docker Compose…
New
Container abstraction & more
OpenWhisk & Containers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Adobe added support for Mesos…
New
Container abstraction & more
OpenWhisk & Containers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Community currently working on adding support for Kubernetes…
https://github.com/openwhisk/openwhisk/issues/2089 https://github.com/openwhisk/openwhisk/issues/1402
New
Container abstraction
OpenWhisk & Containers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
This ecosystem allows you…… to run short running scalable functions in a serverless fashion and … longer running processes on a containerized infrastructure also forming the basis for the said serverless platform
New
Container abstraction
OpenWhisk & Containers
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Agenda
1. Evolution of serverless 2. What is serverless aka FaaS? 3. Bluemix: What is it? 4. OpenWhisk: What is it & what’s new? 5. What is serverless good for? 6. Q&A
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat is serverless good for?
OpenWhisk allows you to build up an entirely serverless application architecture
Openwhisk
IOT
Mobile
Cognitive
APIs
Data
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskWhat is serverless good for?
Volatile workload that can be split in smaller short-running pieces.
Suited for sporadic as well as heavy load scenarios.
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhiskCustomers and Partners
Customers and Partners
Clie
nts
Part
ners
© 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 OpenWhisk
Data processing
OpenwhiskIBM Cloudant
Less cost <$2 for all paper checksprocessed within 1 year
What do our customers do with OpenWhisk?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Articoolohttp://articoolo.com/
What do our customers do with OpenWhisk?
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Agenda
1. Evolution of serverless 2. What is serverless aka FaaS? 3. Bluemix: What is it? 4. OpenWhisk: What is it & what’s new? 5. What is serverless good for? 6. Q&A
© 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
Learn more
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
Learn more
© 2017 IBM Corporation l Interconnect 2017
IBM Bluemix OpenWhisk
Q&A