SlideShare une entreprise Scribd logo
1  sur  75
Serverless and Event-driven Applications with Cloud
Foundry and OpenWhisk
Andrei Yurkevich (@yurkvch)
Chief Technology Officer
Andreas Nauerz (@AndreasNauerz)
Technical Product Manager
@altoros@yurkvch
WHAT WE DO
Altoros brings “software assembly lines” into organizations
through integration of solutions offered by the Cloud Foundry ecosystem.
TRAINING:
FOR OPERATORS
FOR DEVELOPERS
DEVELOPER
ADOPTION
CONSULTING
PROOF OF CONCEPT
& IMPLEMENTATION
APP DEVELOPMENT
& MICROSERVICES
2
POPULARPOPULAR
Delivered by partners:
Delivered by Altoros:
@altoros@yurkvch
WHO WE ARE
Altoros offices Delivery partner in APAC
3
Minsk, BY
Oslo, NO
Sunnyvale, CA
(HQ)
Chicopee, MA
London, UK
Espoo, FI
Buenos Aires, AR
Santa Fe, AR
Tokyo, JP
Silkeborg, DK
Zurich, CH
Taby, SE
4
We will tell you about…
● Why we need event-driven infrastructure
5
We will tell you about…
● Why we need event-driven infrastructure
● Requirements for event-driven infrastructure
6
We will tell you about…
● Why we need event-driven infrastructure
● Requirements for event-driven infrastructure
● Introducing OpenWhisk
7
We will tell you about…
● Why we need event-driven infrastructure
● Requirements for event-driven infrastructure
● Introducing OpenWhisk
● OpenWhisk and CloudFoundry
8
We will tell you about…
● Why we need event-driven infrastructure
● Requirements for event-driven infrastructure
● Introducing OpenWhisk
● OpenWhisk and CloudFoundry
● Demo
9
Welcome to Industrial internet!
10
Devices can be...
11
How would you implement it?
12
OK, let’s move step by step
13
And if you want it to be HA?
14
What about another device?
15
Let’s be smart!
16
An unexpected spike!
17
Scaling out!
18
And traffic goes down...
19
An excessive compute?
20
Or maybe those ones?
21
And in the meantime...
22
And further down...
23
And...
24
One process, one container
25
One process, one container
26
But if we don’t scale fast...
How much
does it cost?
27
Ideal case
28
Compute follows traffic
29
Compute follows traffic
30
So what are the requirements?
● Invoke and scale as fast as possible
● Terminate after completion
31
So what are the requirements?
● Invoke and scale as fast as possible
● Terminate after completion
● Charge per compute used
32
So what are the requirements?
● Invoke and scale as fast as possible
● Terminate after completion
● Charge per compute used
● Guaranteed message delivery
● Load balancing
33
So what are the requirements?
● Invoke and scale as fast as possible
● Terminate after completion
● Charge per compute used
● Guaranteed message delivery
● Load balancing
● High availability
● Self-healing
34
So what are the requirements?
● Invoke and scale as fast as possible
● Terminate after completion
● Charge per compute used
● Guaranteed message delivery
● Load balancing
● High availability
● Self-healing
● Support of multiple
technologies
● Have possibility to launch other
microservices
● Write and read data from
multiple data sources
35
So what are the requirements?
● Invoke and scale as fast as possible
● Terminate after completion
● Charge per compute used
● Guaranteed message delivery
● Load balancing
● High availability
● Self-healing
● Support of multiple
technologies
● Have possibility to launch other
microservices
● Write and read data from
multiple data sources
● Abstract developers from the
infrastructure
Yorktown, NY
OpenWhisk in a nutshell
Raleigh, NCAustin, TX
Boeblingen, Germany
Serverless computing in general and OpenWhisk in particular is regarded an important effort 31
37
OpenWhisk in a nutshell
„Event-action platform to execute code in response to events“
* whisk (v): to move nimbly and quickly (source: merriam-webster.com)
38
OpenWhisk in a nutshell
„Event-action platform to execute code in response to events“
Delivered as open source & managed service on IBM Bluemix
* whisk (v): to move nimbly and quickly (source: merriam-webster.com)
39
OpenWhisk in a nutshell
Serverless deployment & operations model
40
OpenWhisk in a nutshell
Serverless deployment & operations model
Optimal utilization & granular pricing
41
OpenWhisk in a nutshell
Serverless deployment & operations model
Optimal utilization & granular pricing
Scales on a per-request basis
42
OpenWhisk in a nutshell
Serverless deployment & operations model
Optimal utilization & granular pricing
Flexible programming model
Supports higher-level programming constructs (e.g. sequencing)
Scales on a per-request basis
Polyglot support
43
OpenWhisk in a nutshell
Serverless deployment & operations model
Optimal utilization & granular pricing
Flexible programming model
Open (Apache 2) & open ecosystem
Supports higher-level programming constructs (e.g. sequencing)
Open interface for event providers
Scales on a per-request basis
Polyglot support
Leverages Docker, Kafka, Consul, …
44
OpenWhisk in a nutshell
Serverless deployment & operations model
Optimal utilization & granular pricing
Flexible programming model
Open (Apache 2) & open ecosystem
Supports higher-level programming constructs (e.g. sequencing)
Open interface for event providers
Scales on a per-request basis
Polyglot support
Implemented in Scala
Leverages Docker, Kafka, Consul, …
OpenWhisk in a nutshell
Swift
Application
Container VMCF
2
Polling
1b
Request
1a
Traditional model
• Continous polling due to missing event
programming model
• Charges even when idling due to poor utilization
Process & idle
OpenWhisk in a nutshell
Swift
Application
Container VMCF
2
Polling
1b
Request
1a
Traditional model
• Continous polling due to missing event
programming model
• Charges even when idling due to poor utilization
• Worry about scaling
- When to scale? (mem-, cpu-, response time-driven)
- How fast to scale?
Process & idle
OpenWhisk in a nutshell
Swift
Application
Container VMCF
2
Polling
1b
Request
1a
Traditional model
• Continous polling due to missing event
programming model
• Charges even when idling due to poor utilization
• Worry about scaling
- When to scale? (mem-, cpu-, response time-driven)
- How fast to scale?
• Worry about resiliency
- At least 2 processes for HA (driving cost)
- Deployment in multiple regions (driving cost)
- Keep them running & healthy
Process & idle
OpenWhisk in a nutshell
OpenWhisk
• Introduces event programming model
• Charges only for what is used due to optimal
utilization Pool of actions
Swift DockerJS
Trigger
1
Running
action
Running
action
Running
action
3
Deploy action within millisecs,
run it,
free up resources
OpenWhisk
Engine
2
OpenWhisk in a nutshell
OpenWhisk
• Introduces event programming model
• Charges only for what is used due to optimal
utilization
• Scales inherently
- One process per request
Pool of actions
Swift DockerJS
Trigger
1
Running
action
Running
action
Running
action
3
Deploy action within millisecs,
run it,
free up resources
OpenWhisk
Engine
2
OpenWhisk in a nutshell
OpenWhisk
• Introduces event programming model
• Charges only for what is used due to optimal
utilization
• Scales inherently
- One process per request
• No cost overhead for resiliency
- No long running process for HA
Pool of actions
Swift DockerJS
Trigger
1
Running
action
Running
action
Running
action
3
Deploy action within millisecs,
run it,
free up resources
OpenWhisk
Engine
2
OpenWhisk in a nutshell
}
1
Event Providers
OpenWhisk
Cloudant
Push Notifcations
…
…
…
Data event occurs, e.g.
-Commit on a Git Repository
-CRUD operation on Cloudant
-….
Trigger execution
of associated
OpenWhisk action
2
…
JS Swift Docker …
OpenWhisk in a nutshell
OpenWhisk
JS Swift Docker …
Incoming HTTP request, e.g.
HTTP GET mynewcoolapp.com/customers
1 2 Invoke associated
OpenWhisk action
„getCustomers“
Browser
Mobile App
Web App
Variety of
languages
OpenWhisk in a nutshell
• Services define the events they emit as triggers, and developers associate
the actions to handle the events via rules
• The developer only needs to care about implementing the desired application
logic - the system handles the rest
T R A
OpenWhisk in a nutshell
Trigger: „A class of events that can happen“T
OpenWhisk in a nutshell
A Actions: „An event-handler, i.e. code that runs in response to an event“
OpenWhisk in a nutshell
A
AA
:= A1
+ A2
+ A3
AB
:= A2
+ A1
+ A3
AC
:= A3
+ A1
+ A2
Actions: Can be chained to create sequences to increase flexibility and foster
reuse
OpenWhisk in a nutshell
R
R := T A
Rules: „An association of a trigger and an action“
OpenWhisk in a nutshell
myAction
myFeedT
A
Packages: „A shared collection of triggers and actions“P
A forecast
Open
Source
Yours
Third
Party
translate
languageId
textToSpeec
h
A
A
A
databaseCreate
documentRead
...
changesT
A
A
A
Push
Notifications
sendMessage
webhookT
A
webhookT
postA
Websocket
sendA
OpenWhisk in a nutshell
You want to try OpenWhisk on your own?
OpenWhisk in a nutshell
You want to try OpenWhisk on your own?
• Want to try out our IBM Bluemix OpenWhisk offering?
Sign-up today at: https://new-console.ng.bluemix.net/openwhisk/
OpenWhisk in a nutshell
You want to try OpenWhisk on your own?
• Want to try out our IBM Bluemix OpenWhisk offering?
Sign-up today at: https://new-console.ng.bluemix.net/openwhisk/
• Want to try out our open-source OpenWhisk offering?
Visit: https://developer.ibm.com/openwhisk/
62
Demo time!
http://bit.ly/1Uw6OP3
63
I will show you...
64
How did it work?
https://developer.ibm.com/openwhisk/2016/04/01/ibm-bluemix-openwhisk-whats-under-the-hood/
65
Another prospective
@yurkvch @altoros 6
Cloud Foundry and OpenWhisk
67
I can’t use OpenWhisk on Bluemix because
Vendor lock-in
68
I can’t use OpenWhisk on Bluemix because
Vendor lock-in
All my data is (in local datacenter)
69
I can’t use OpenWhisk on Bluemix because
Vendor lock-in
All my data is (in local datacenter)
We implement a hybrid strategy
70
I can’t use OpenWhisk on Bluemix because
Vendor lock-in
All my data is (in local datacenter)
We implement a hybrid strategy
We don’t use Bluemix at...
71
I can’t use OpenWhisk on Bluemix because
Vendor lock-in
All my data is (in local datacenter)
We implement a hybrid strategy
We don’t use Bluemix at...
I need to have the compute device on the network edge
72
I can’t use OpenWhisk on Bluemix because
Vendor lock-in
All my data is (in a local data center)
We implement a hybrid strategy
We don’t use Bluemix at...
I need to have the compute device on the network edge
Security!
73
https://github.com/openwhisk
altoros.com
blog.altoros.com
developer.ibm.com/openwhisk
74
@yurkvch
@altoros
Questions? @AndreasNauerz
@OpenWhisk
altoros.com
blog.altoros.com
developer.ibm.com/openwhisk
75
@yurkvch
@altoros
Thank you! @AndreasNauerz
@OpenWhisk

Contenu connexe

Tendances

Tendances (19)

IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical StrategyIBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
 
OpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven appsOpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven apps
 
OpenWhisk Deep Dive: the action container model
OpenWhisk Deep Dive: the action container modelOpenWhisk Deep Dive: the action container model
OpenWhisk Deep Dive: the action container model
 
Going Serverless with OpenWhisk
Going Serverless with OpenWhiskGoing Serverless with OpenWhisk
Going Serverless with OpenWhisk
 
OpenWhisk: Event-driven Design
OpenWhisk: Event-driven DesignOpenWhisk: Event-driven Design
OpenWhisk: Event-driven Design
 
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
 
FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0 FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0
 
The Serverless Paradigm, OpenWhisk and FIWARE
The Serverless Paradigm, OpenWhisk and FIWAREThe Serverless Paradigm, OpenWhisk and FIWARE
The Serverless Paradigm, OpenWhisk and FIWARE
 
All Things Open : Crash Course in Open Source Cloud Computing
All Things Open : Crash Course in Open Source Cloud Computing All Things Open : Crash Course in Open Source Cloud Computing
All Things Open : Crash Course in Open Source Cloud Computing
 
Build a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskBuild a cloud native app with OpenWhisk
Build a cloud native app with OpenWhisk
 
Serverless apps with OpenWhisk
Serverless apps with OpenWhiskServerless apps with OpenWhisk
Serverless apps with OpenWhisk
 
Serverless architectures built on an open source platform
Serverless architectures built on an open source platformServerless architectures built on an open source platform
Serverless architectures built on an open source platform
 
Containers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment optionsContainers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment options
 
Serverless APIs with Apache OpenWhisk
Serverless APIs with Apache OpenWhiskServerless APIs with Apache OpenWhisk
Serverless APIs with Apache OpenWhisk
 
Building serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud FunctionsBuilding serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud Functions
 
Apache OpenWhisk - KRnet 2017
Apache OpenWhisk - KRnet 2017Apache OpenWhisk - KRnet 2017
Apache OpenWhisk - KRnet 2017
 
Intro - Cloud Native
Intro - Cloud NativeIntro - Cloud Native
Intro - Cloud Native
 
OpenWhisk Meetup - Austin, TX 07/2017
OpenWhisk Meetup - Austin, TX 07/2017OpenWhisk Meetup - Austin, TX 07/2017
OpenWhisk Meetup - Austin, TX 07/2017
 
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at SantanderServerless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
 

En vedette

En vedette (20)

IBM Bluemix OpenWhisk: Serverless Conference 2016, Tokyo, Japan: The Future o...
IBM Bluemix OpenWhisk: Serverless Conference 2016, Tokyo, Japan: The Future o...IBM Bluemix OpenWhisk: Serverless Conference 2016, Tokyo, Japan: The Future o...
IBM Bluemix OpenWhisk: Serverless Conference 2016, Tokyo, Japan: The Future o...
 
IBM Bluemix OpenWhisk: IBM Seminar 2016, Tokyo, Japan: The Future of Cloud Pr...
IBM Bluemix OpenWhisk: IBM Seminar 2016, Tokyo, Japan: The Future of Cloud Pr...IBM Bluemix OpenWhisk: IBM Seminar 2016, Tokyo, Japan: The Future of Cloud Pr...
IBM Bluemix OpenWhisk: IBM Seminar 2016, Tokyo, Japan: The Future of Cloud Pr...
 
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
 
How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...
 
OpenWhisk ChatBot InterConnect 2017
OpenWhisk ChatBot InterConnect 2017OpenWhisk ChatBot InterConnect 2017
OpenWhisk ChatBot InterConnect 2017
 
OpenWhisk Part 1 Research Data at Interconnect 2017
OpenWhisk Part 1 Research Data at Interconnect 2017OpenWhisk Part 1 Research Data at Interconnect 2017
OpenWhisk Part 1 Research Data at Interconnect 2017
 
OpenWhisk Part 2 Research Day at Interconnect 2017
OpenWhisk Part 2 Research Day at Interconnect 2017OpenWhisk Part 2 Research Day at Interconnect 2017
OpenWhisk Part 2 Research Day at Interconnect 2017
 
Bluemix IoT Cloud Foundry Meetup slides
Bluemix IoT Cloud Foundry Meetup slidesBluemix IoT Cloud Foundry Meetup slides
Bluemix IoT Cloud Foundry Meetup slides
 
Devoxx 2014 presentation
Devoxx 2014 presentationDevoxx 2014 presentation
Devoxx 2014 presentation
 
Cloud foundry
Cloud foundryCloud foundry
Cloud foundry
 
Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry Bootcamp
 
Cloud Foundry Open Tour Beijing: Becoming a Node.js Ninja on
 Cloud Foundry
Cloud Foundry Open Tour Beijing: Becoming a Node.js Ninja on
 Cloud FoundryCloud Foundry Open Tour Beijing: Becoming a Node.js Ninja on
 Cloud Foundry
Cloud Foundry Open Tour Beijing: Becoming a Node.js Ninja on
 Cloud Foundry
 
Cloud Foundry 101
Cloud Foundry 101Cloud Foundry 101
Cloud Foundry 101
 
Cloud Foundry Summit Frankfurt 2016 Isolation Segments
Cloud Foundry Summit Frankfurt 2016 Isolation SegmentsCloud Foundry Summit Frankfurt 2016 Isolation Segments
Cloud Foundry Summit Frankfurt 2016 Isolation Segments
 
What is BOSH? An over-overview
What is BOSH? An over-overviewWhat is BOSH? An over-overview
What is BOSH? An over-overview
 
Protect your IBM Domino data from leaks with BCC DominoProtect
Protect your IBM Domino data from leaks with BCC DominoProtectProtect your IBM Domino data from leaks with BCC DominoProtect
Protect your IBM Domino data from leaks with BCC DominoProtect
 
Cloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersCloud Foundry for Spring Developers
Cloud Foundry for Spring Developers
 
Open whisk quick start guide
Open whisk quick start guideOpen whisk quick start guide
Open whisk quick start guide
 
Autoscaling Distributed System with BOSH (Cloud Foundry Summit 2014)
Autoscaling Distributed System with BOSH (Cloud Foundry Summit 2014)Autoscaling Distributed System with BOSH (Cloud Foundry Summit 2014)
Autoscaling Distributed System with BOSH (Cloud Foundry Summit 2014)
 
Cloud Foundry Command Line
Cloud Foundry Command LineCloud Foundry Command Line
Cloud Foundry Command Line
 

Similaire à IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Future of Cloud Programming

Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
ServerlessConf
 
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud ComputingLinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
Mark Hinkle
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
Mark Hinkle
 
Spark Development Lifecycle at Workday - ApacheCon 2020
Spark Development Lifecycle at Workday - ApacheCon 2020Spark Development Lifecycle at Workday - ApacheCon 2020
Spark Development Lifecycle at Workday - ApacheCon 2020
Pavel Hardak
 
Apache Spark Development Lifecycle @ Workday - ApacheCon 2020
Apache Spark Development Lifecycle @ Workday - ApacheCon 2020Apache Spark Development Lifecycle @ Workday - ApacheCon 2020
Apache Spark Development Lifecycle @ Workday - ApacheCon 2020
Eren Avşaroğulları
 

Similaire à IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Future of Cloud Programming (20)

Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
 
RTP Bluemix Meetup April 20th 2016
RTP Bluemix Meetup April 20th 2016RTP Bluemix Meetup April 20th 2016
RTP Bluemix Meetup April 20th 2016
 
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
 
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud ComputingLinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
 
Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open Source
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Containerization Principles Overview for app development and deployment
Containerization Principles Overview for app development and deploymentContainerization Principles Overview for app development and deployment
Containerization Principles Overview for app development and deployment
 
Serverless Apps with Open Whisk
Serverless Apps with Open Whisk Serverless Apps with Open Whisk
Serverless Apps with Open Whisk
 
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBMKeynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
 
Microservices in action at the Dutch National Police
Microservices in action at the Dutch National PoliceMicroservices in action at the Dutch National Police
Microservices in action at the Dutch National Police
 
OpenValue meetup October 2017 - Microservices in action at the Dutch National...
OpenValue meetup October 2017 - Microservices in action at the Dutch National...OpenValue meetup October 2017 - Microservices in action at the Dutch National...
OpenValue meetup October 2017 - Microservices in action at the Dutch National...
 
JavaZone 2017 - Microservices in action at the Dutch National Police
JavaZone 2017 - Microservices in action at the Dutch National PoliceJavaZone 2017 - Microservices in action at the Dutch National Police
JavaZone 2017 - Microservices in action at the Dutch National Police
 
Spark Development Lifecycle at Workday - ApacheCon 2020
Spark Development Lifecycle at Workday - ApacheCon 2020Spark Development Lifecycle at Workday - ApacheCon 2020
Spark Development Lifecycle at Workday - ApacheCon 2020
 
Apache Spark Development Lifecycle @ Workday - ApacheCon 2020
Apache Spark Development Lifecycle @ Workday - ApacheCon 2020Apache Spark Development Lifecycle @ Workday - ApacheCon 2020
Apache Spark Development Lifecycle @ Workday - ApacheCon 2020
 
Implementing Microservices on Oracle Cloud: Open, Manageable, Polyglot, and S...
Implementing Microservices on Oracle Cloud: Open, Manageable, Polyglot, and S...Implementing Microservices on Oracle Cloud: Open, Manageable, Polyglot, and S...
Implementing Microservices on Oracle Cloud: Open, Manageable, Polyglot, and S...
 
AZ900-AzureFundamentals-part-5.pdf
AZ900-AzureFundamentals-part-5.pdfAZ900-AzureFundamentals-part-5.pdf
AZ900-AzureFundamentals-part-5.pdf
 
Day in the life event-driven workshop
Day in the life  event-driven workshopDay in the life  event-driven workshop
Day in the life event-driven workshop
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT Challenges
 
Devoxx university - Kafka de haut en bas
Devoxx university - Kafka de haut en basDevoxx university - Kafka de haut en bas
Devoxx university - Kafka de haut en bas
 

Dernier

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Dernier (20)

Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 

IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Future of Cloud Programming

  • 1. Serverless and Event-driven Applications with Cloud Foundry and OpenWhisk Andrei Yurkevich (@yurkvch) Chief Technology Officer Andreas Nauerz (@AndreasNauerz) Technical Product Manager
  • 2. @altoros@yurkvch WHAT WE DO Altoros brings “software assembly lines” into organizations through integration of solutions offered by the Cloud Foundry ecosystem. TRAINING: FOR OPERATORS FOR DEVELOPERS DEVELOPER ADOPTION CONSULTING PROOF OF CONCEPT & IMPLEMENTATION APP DEVELOPMENT & MICROSERVICES 2 POPULARPOPULAR Delivered by partners: Delivered by Altoros:
  • 3. @altoros@yurkvch WHO WE ARE Altoros offices Delivery partner in APAC 3 Minsk, BY Oslo, NO Sunnyvale, CA (HQ) Chicopee, MA London, UK Espoo, FI Buenos Aires, AR Santa Fe, AR Tokyo, JP Silkeborg, DK Zurich, CH Taby, SE
  • 4. 4 We will tell you about… ● Why we need event-driven infrastructure
  • 5. 5 We will tell you about… ● Why we need event-driven infrastructure ● Requirements for event-driven infrastructure
  • 6. 6 We will tell you about… ● Why we need event-driven infrastructure ● Requirements for event-driven infrastructure ● Introducing OpenWhisk
  • 7. 7 We will tell you about… ● Why we need event-driven infrastructure ● Requirements for event-driven infrastructure ● Introducing OpenWhisk ● OpenWhisk and CloudFoundry
  • 8. 8 We will tell you about… ● Why we need event-driven infrastructure ● Requirements for event-driven infrastructure ● Introducing OpenWhisk ● OpenWhisk and CloudFoundry ● Demo
  • 11. 11 How would you implement it?
  • 12. 12 OK, let’s move step by step
  • 13. 13 And if you want it to be HA?
  • 21. 21 And in the meantime...
  • 24. 24 One process, one container
  • 25. 25 One process, one container
  • 26. 26 But if we don’t scale fast... How much does it cost?
  • 30. 30 So what are the requirements? ● Invoke and scale as fast as possible ● Terminate after completion
  • 31. 31 So what are the requirements? ● Invoke and scale as fast as possible ● Terminate after completion ● Charge per compute used
  • 32. 32 So what are the requirements? ● Invoke and scale as fast as possible ● Terminate after completion ● Charge per compute used ● Guaranteed message delivery ● Load balancing
  • 33. 33 So what are the requirements? ● Invoke and scale as fast as possible ● Terminate after completion ● Charge per compute used ● Guaranteed message delivery ● Load balancing ● High availability ● Self-healing
  • 34. 34 So what are the requirements? ● Invoke and scale as fast as possible ● Terminate after completion ● Charge per compute used ● Guaranteed message delivery ● Load balancing ● High availability ● Self-healing ● Support of multiple technologies ● Have possibility to launch other microservices ● Write and read data from multiple data sources
  • 35. 35 So what are the requirements? ● Invoke and scale as fast as possible ● Terminate after completion ● Charge per compute used ● Guaranteed message delivery ● Load balancing ● High availability ● Self-healing ● Support of multiple technologies ● Have possibility to launch other microservices ● Write and read data from multiple data sources ● Abstract developers from the infrastructure
  • 36. Yorktown, NY OpenWhisk in a nutshell Raleigh, NCAustin, TX Boeblingen, Germany Serverless computing in general and OpenWhisk in particular is regarded an important effort 31
  • 37. 37 OpenWhisk in a nutshell „Event-action platform to execute code in response to events“ * whisk (v): to move nimbly and quickly (source: merriam-webster.com)
  • 38. 38 OpenWhisk in a nutshell „Event-action platform to execute code in response to events“ Delivered as open source & managed service on IBM Bluemix * whisk (v): to move nimbly and quickly (source: merriam-webster.com)
  • 39. 39 OpenWhisk in a nutshell Serverless deployment & operations model
  • 40. 40 OpenWhisk in a nutshell Serverless deployment & operations model Optimal utilization & granular pricing
  • 41. 41 OpenWhisk in a nutshell Serverless deployment & operations model Optimal utilization & granular pricing Scales on a per-request basis
  • 42. 42 OpenWhisk in a nutshell Serverless deployment & operations model Optimal utilization & granular pricing Flexible programming model Supports higher-level programming constructs (e.g. sequencing) Scales on a per-request basis Polyglot support
  • 43. 43 OpenWhisk in a nutshell Serverless deployment & operations model Optimal utilization & granular pricing Flexible programming model Open (Apache 2) & open ecosystem Supports higher-level programming constructs (e.g. sequencing) Open interface for event providers Scales on a per-request basis Polyglot support Leverages Docker, Kafka, Consul, …
  • 44. 44 OpenWhisk in a nutshell Serverless deployment & operations model Optimal utilization & granular pricing Flexible programming model Open (Apache 2) & open ecosystem Supports higher-level programming constructs (e.g. sequencing) Open interface for event providers Scales on a per-request basis Polyglot support Implemented in Scala Leverages Docker, Kafka, Consul, …
  • 45. OpenWhisk in a nutshell Swift Application Container VMCF 2 Polling 1b Request 1a Traditional model • Continous polling due to missing event programming model • Charges even when idling due to poor utilization Process & idle
  • 46. OpenWhisk in a nutshell Swift Application Container VMCF 2 Polling 1b Request 1a Traditional model • Continous polling due to missing event programming model • Charges even when idling due to poor utilization • Worry about scaling - When to scale? (mem-, cpu-, response time-driven) - How fast to scale? Process & idle
  • 47. OpenWhisk in a nutshell Swift Application Container VMCF 2 Polling 1b Request 1a Traditional model • Continous polling due to missing event programming model • Charges even when idling due to poor utilization • Worry about scaling - When to scale? (mem-, cpu-, response time-driven) - How fast to scale? • Worry about resiliency - At least 2 processes for HA (driving cost) - Deployment in multiple regions (driving cost) - Keep them running & healthy Process & idle
  • 48. OpenWhisk in a nutshell OpenWhisk • Introduces event programming model • Charges only for what is used due to optimal utilization Pool of actions Swift DockerJS Trigger 1 Running action Running action Running action 3 Deploy action within millisecs, run it, free up resources OpenWhisk Engine 2
  • 49. OpenWhisk in a nutshell OpenWhisk • Introduces event programming model • Charges only for what is used due to optimal utilization • Scales inherently - One process per request Pool of actions Swift DockerJS Trigger 1 Running action Running action Running action 3 Deploy action within millisecs, run it, free up resources OpenWhisk Engine 2
  • 50. OpenWhisk in a nutshell OpenWhisk • Introduces event programming model • Charges only for what is used due to optimal utilization • Scales inherently - One process per request • No cost overhead for resiliency - No long running process for HA Pool of actions Swift DockerJS Trigger 1 Running action Running action Running action 3 Deploy action within millisecs, run it, free up resources OpenWhisk Engine 2
  • 51. OpenWhisk in a nutshell } 1 Event Providers OpenWhisk Cloudant Push Notifcations … … … Data event occurs, e.g. -Commit on a Git Repository -CRUD operation on Cloudant -…. Trigger execution of associated OpenWhisk action 2 … JS Swift Docker …
  • 52. OpenWhisk in a nutshell OpenWhisk JS Swift Docker … Incoming HTTP request, e.g. HTTP GET mynewcoolapp.com/customers 1 2 Invoke associated OpenWhisk action „getCustomers“ Browser Mobile App Web App Variety of languages
  • 53. OpenWhisk in a nutshell • Services define the events they emit as triggers, and developers associate the actions to handle the events via rules • The developer only needs to care about implementing the desired application logic - the system handles the rest T R A
  • 54. OpenWhisk in a nutshell Trigger: „A class of events that can happen“T
  • 55. OpenWhisk in a nutshell A Actions: „An event-handler, i.e. code that runs in response to an event“
  • 56. OpenWhisk in a nutshell A AA := A1 + A2 + A3 AB := A2 + A1 + A3 AC := A3 + A1 + A2 Actions: Can be chained to create sequences to increase flexibility and foster reuse
  • 57. OpenWhisk in a nutshell R R := T A Rules: „An association of a trigger and an action“
  • 58. OpenWhisk in a nutshell myAction myFeedT A Packages: „A shared collection of triggers and actions“P A forecast Open Source Yours Third Party translate languageId textToSpeec h A A A databaseCreate documentRead ... changesT A A A Push Notifications sendMessage webhookT A webhookT postA Websocket sendA
  • 59. OpenWhisk in a nutshell You want to try OpenWhisk on your own?
  • 60. OpenWhisk in a nutshell You want to try OpenWhisk on your own? • Want to try out our IBM Bluemix OpenWhisk offering? Sign-up today at: https://new-console.ng.bluemix.net/openwhisk/
  • 61. OpenWhisk in a nutshell You want to try OpenWhisk on your own? • Want to try out our IBM Bluemix OpenWhisk offering? Sign-up today at: https://new-console.ng.bluemix.net/openwhisk/ • Want to try out our open-source OpenWhisk offering? Visit: https://developer.ibm.com/openwhisk/
  • 63. 63 I will show you...
  • 64. 64 How did it work? https://developer.ibm.com/openwhisk/2016/04/01/ibm-bluemix-openwhisk-whats-under-the-hood/
  • 66. @yurkvch @altoros 6 Cloud Foundry and OpenWhisk
  • 67. 67 I can’t use OpenWhisk on Bluemix because Vendor lock-in
  • 68. 68 I can’t use OpenWhisk on Bluemix because Vendor lock-in All my data is (in local datacenter)
  • 69. 69 I can’t use OpenWhisk on Bluemix because Vendor lock-in All my data is (in local datacenter) We implement a hybrid strategy
  • 70. 70 I can’t use OpenWhisk on Bluemix because Vendor lock-in All my data is (in local datacenter) We implement a hybrid strategy We don’t use Bluemix at...
  • 71. 71 I can’t use OpenWhisk on Bluemix because Vendor lock-in All my data is (in local datacenter) We implement a hybrid strategy We don’t use Bluemix at... I need to have the compute device on the network edge
  • 72. 72 I can’t use OpenWhisk on Bluemix because Vendor lock-in All my data is (in a local data center) We implement a hybrid strategy We don’t use Bluemix at... I need to have the compute device on the network edge Security!