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

Post on 23-Jan-2018

3.123 views 1 download

Transcript of 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

© 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