serverlesscomputing: customer adoption insights & patterns · enrich store analyze apply the...

35
© 2017 IBM Corporation Serverless Computing: Customer Adoption Insights & Patterns © 2017 IBM Corporation @Michael_beh Michael Behrendt IBM Distinguished Engineer Chief Architect, Serverless/FaaS & IBM Cloud Functions

Upload: others

Post on 07-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

Serverless Computing:Customer AdoptionInsights & Patterns

© 2017 IBM Corporation

@Michael_beh

Michael BehrendtIBM Distinguished EngineerChief Architect, Serverless/FaaS & IBM Cloud Functions

Page 2: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsEvolution of serverless

Incr

easi

ng fo

cus

on b

usin

ess

logi

c

Decreasing concern (and control) over stack implementation

Bare Metal

Virtual machines

Functions

Containers

Page 3: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt
Page 4: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt
Page 5: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Apache open source project:openwhisk.org

FaaS platform to execute code in response to events

OpenWhisk

Page 6: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

FaaS platform to execute code in response to events

IBM Cloud Functions

IBM Cloud Functions:Managed service as part ofthe IBM Cloudbluemix.net/openwhisk

Page 7: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

Enrich Store Analyze Apply

The Watson Data PlatformPublic, Private, Licensed

Ingest

Data

Compute Infrastructure Mgmt

Dev Services

Infrastructure Physical NetworkStorage + more...

Messaging LoggingBlockchainContainers + more...

Cloud

Application DsX Virtual agentHealthcare FinancialServices

Conversation Discovery Compare + Comply

Knowledge Query Tone Analysis Personality

Insights

VisualRecognition Speech Document

ConversionNat. Language Understanding

Nat. Language Classifier + more...

AI

Logistics IoT

IBM Watson and Cloud Platform

Page 8: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Triggers(response)

Rules

Actions(code)

Source (events) Results

OpenWhiskConcepts

IBM Cloud Functions

Page 9: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Supported Languages

Multi-language

Support

CommunityEfforts

… and more to come

JS/NodeJS 6

Java

Python 3

Swift 3

Docker

Haskell

Scala

PHP

IBM Cloud Functions

Page 10: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsOpenWhisk

Non-blocking

Blocking

Periodic

Support for different invocation models

IBM Cloud Functions

Page 11: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsOpenWhisk

Supports higher-level programming constructs Chaining/

Sequencing

Action 1

Action 2

ParameterBinding

IBM Cloud Functions

Page 12: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsOpenWhisk

Composition, Control Flow and State Management

IBM Cloud FunctionsA Differentiated Model for FaaS Composition

• Respond to the need for more complex, coordinated flows required for end to end solutions across cloud Services

• Enable more expressive programming through direct integration of new constructs into existing language bindings

Page 13: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation l

IBM Cloud Functions

EventProvider Periodic IBM Cloudant Message Hub

Mobile Push Github

OpenWhisk

IBM App Connect

IBM Cloud Functions

Page 14: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsOpenWhisk

Granular pricingPay 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.

IBM Cloud Functions

Page 15: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsOpenWhisk

Reduce CostsTime an action was running* memory allocated to action

$ 0.000017 per GBsFree tier: 400000 GBs

IBM Cloud Functions

Page 16: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsWhat is serverless good for?

OpenWhisk allows you to build up an entirely serverlessapplication architecture

Page 17: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsCustomers and Partners

Customers and PartnersC

lient

sPa

rtne

rs

Page 18: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Mobile backend

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.

What is IBM Cloud Functions good for?

Page 19: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsWhat is Serverless good for?

Mobile backend

The Weather Godshttps://itunes.apple.com/us/app/weather-gods/id1041512978?mt=8

What is OpenWhisk good for?What is IBM Cloud Functions good for?

Page 20: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsThe Weather Gods High Level Architecture

Weather Checker

TWC

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 Notificati

on

4

Notification Trigger

Bluemix

Notification

Weather Gods

OpenWhisk Actions

External

Data

Triggers

Page 21: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Data processing

What is OpenWhisk good for?What is IBM Cloud Functions good for?

Page 22: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Data processing

Ideally suited for working with multimedia data like audio, image and video data:Audio normalizationImage rotation, sharpening, noise reduction or Thumbnail generationImage OCR’ingVideo transcoding…

What is OpenWhisk good for?What is IBM Cloud Functions good for?

Page 23: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Data processing

http://ecc.ibm.com/case-study/us-en/ECCF-CDC12387USEN

What do our customers do with IBM Cloud Functions?

10x faster90% less cost

Page 24: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsSiteSpirit 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

Page 25: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Data processing

What do our customers do with IBM Cloud Functions?

Less cost <$2 for all paper checksprocessed within 1 year

Page 26: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsSantander 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

Page 27: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Cognitive

What is OpenWhisk good for?What is IBM Cloud Functions good for?

Page 28: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Cognitive

Skylinkhttps://github.com/IBM-Bluemix/skylink

What is OpenWhisk good for?What is IBM Cloud Functions good for?

Page 29: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsWhat is Serverless good for?

Abilisensehttps://www.abilisense.com/

Page 30: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud FunctionsAbilisense High Level Architecture

AbilisenseOpenwhisk

Compose for MangoDB

IBM Weather Channel

IBM Watson IOTPlatform

Object Storage

SoundProcessing

Machine Learning

NotificationsHTTP

REST

Abilisense

MQTT

Smart Cities

REST

12a

2b3 4

Page 31: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

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

Page 32: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Potential research areas• Problem determination for apps with a large number of actions

• Latency reduction

• Density increase

• State handling

• Building complex apps

• …

Page 33: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Commercial offering home:bluemix.net/openwhisk

Open-source offering home: openwhisk.org

Slack: slack.openwhisk.org

Learn more

Learn more

Page 34: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

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 35: ServerlessComputing: Customer Adoption Insights & Patterns · Enrich Store Analyze Apply The Watson Data Platform Public, Private, Licensed Ingest Data Compute Infrastructure Mgmt

© 2017 IBM Corporation

IBM Cloud Functions

Thank you