50
© 2017 IBM Corporation l Interconnect 2017 IBM Bluemix OpenWhisk Keynote © 2017 IBM Corporation l Interconnect 2017 @jrmcgee

IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

Embed Size (px)

Citation preview

Page 1: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

Keynote

© 2017 IBM Corporation l Interconnect 2017

@jrmcgee

Page 2: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 3: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 4: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 5: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 6: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

Runs code in response to events

Event-programming model

Evolution of serverless

Page 7: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 8: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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.

Page 9: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 10: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhiskOpenWhisk

FaaS platform to execute code in response to events

What is OpenWhisk?

Page 11: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 12: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 13: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

Triggers(response)

Rules

Actions(code)

Source (events) Results

OpenWhiskConcepts

Page 14: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 15: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhiskOpenWhisk

Non-blocking

Blocking

Periodic

Support for different invocation models

Page 16: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 17: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhiskOpenWhisk

Event Provider

Open event emitter (consumer ecosystem)

Open interfacefor event emitters

Page 18: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 19: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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.

Page 20: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 21: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhiskOpenWhisk

Controller

…Invoker InvokerInvoker

Apache OpenWhisk

Page 22: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhiskOpenWhisk

Cloudant

ELK-Stack

Controller

Integration Service

soon

…InvokerInvokerInvoker

Monitoring

IBM Bluemix OpenWhisk

Page 23: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 24: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 25: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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?

Page 26: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 27: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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?

Page 28: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhiskOpenWhisk

Community efforts to integrate with open tools

• VS Code • NodeRED • Jupyter Notebooks • …

Page 29: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

DEMO

Page 30: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 31: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

A =wsk action invoke docker run

OpenWhisk & Containers

Page 32: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

Start containerdocker run

Initialize/init

Run/run

cold container

OpenWhisk & Containers

Page 33: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

Start containerdocker run

Initialize/init

Run/run

39

pre-warmed container

OpenWhisk & Containers

Page 34: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

Start containerdocker run

Initialize/init

Run/run

warm container

OpenWhisk & Containers

Page 35: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

cold container pre-warmed container warm container

faster

Performance is king…OpenWhisk & Containers

Page 36: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

Already added support for Docker Compose…

New

Container abstraction & more

OpenWhisk & Containers

Page 37: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

Adobe added support for Mesos…

New

Container abstraction & more

OpenWhisk & Containers

Page 38: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 39: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 40: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 41: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 42: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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.

Page 43: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhiskCustomers and Partners

Customers and Partners

Clie

nts

Part

ners

Page 44: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 45: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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?

Page 46: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

Articoolohttp://articoolo.com/

What do our customers do with OpenWhisk?

Page 47: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 48: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 49: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 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

Page 50: IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote

© 2017 IBM Corporation l Interconnect 2017

IBM Bluemix OpenWhisk

Q&A