SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
The ‘Serverless‘ Paradigm, OpenWhisk and
FIWARE
Alex Glikson
Cloud Platforms, IBM Research
Architect, FIWARE Cloud Hosting
glikson@il.ibm.com
FIWARE Summit, Malaga, Spain
December 13-15, 2016
https://www.fiware.org/summit/
Outline
1. Overview of Serverless
2. OpenWhisk – open source ‘Serverless’ platform
3. Challenges of Serverless
4. Serverless and FIWARE
1
Serverless in a Nutshell
 ‘Next-gen’ PaaS (developers just write the business logic)
 for services decomposable into events/requests & handlers
 scaled, metered [and charged] by individual handler invocation
* The motivation behind the ‘serverless’ term is that the application provider
doesn’t need to care about managing the underlying servers (introduced by
Amazon, who didn’t have fully managed PaaS offering before Lambda)
2
analyze
reading
OpenWhisk
create
order
alert
customer
alarm
changes changes
service order appliance
events
IBM
Watson
IoT
Example: bit.ly/open-fridge
@ Daniel Krook
The Essence of Serverless
 What is Serverless?
• ‘Serverless’ is a cloud-native design pattern, accompanied
with a programming model and a runtime architecture
• Aimed at radically simplified, faster and more efficient
development and operation of (certain) applications
 The Pattern
• Application is architected a set of ‘business logic’ functions,
local or remote, triggered by discrete events or requests
• The underlying runtime is (infinitely) elastic, with scaling (and
chargeback) granularity of single function invocation (100ms)
• Each local function is invoked in a sandbox, which is short-
lived and ephemeral (interacting with stateful services)
4
Serverless Market
 Amazon Lambda
• Pioneer of serverless, launched in Nov 2014
• Rapid growth, dedicated mini-con at Re:Invent 2016
 Similar offerings by other commercial cloud providers
• Google Functions, Azure Functions, IBM OpenWhisk
 Multiple niche players
• iron.io, pubnub.com, etc
 OpenWhisk – the open source serverless platform
• Developed by IBM, now under incubation in Apache (w/Adobe)
• Also offered on IBM Bluemix as a fully managed service
5
What is serverless good for?
6
Example: Serverless at Thomson Reuters
7
https://www.portal.reinvent.awsevents.com/connect/sessionDetail.ww?SESSION_ID=8674
Example: Serverless at Bustle
8
https://aws.amazon.com/solutions/case-studies/bustle/
Example: Serverless at Expedia
9
https://www.portal.reinvent.awsevents.com/connect/sessionDetail.ww?SESSION_ID=8671
Example: Serverless at Expedia
10
https://www.portal.reinvent.awsevents.com/connect/sessionDetail.ww?SESSION_ID=8671
Serverless: Why Now? The Perfect Storm
11
Serverless
PaaS Evolution
Developers enjoy the ‘low touch’
experience, but scaling is a challenge
Event-Driven Use-Cases
More application can be architected
as a collection of events and handlers
Containers Maturity
Technologies for fine-grained
sandboxing become mainstream
API Economy
Proliferation of RESTful, composable
(micro)services, often charged by API call
Image: http://bobkaylor.typepad.com/bob_kaylor/2012/01/the-meaning-of-jesus-part-2-the-perfect-storm.html
OpenWhisk:
Open Source Serverless Platform
Trigger
Package
Feed
Package
Feed
Package
Feed
Package
Feed
REST
CLI iOS SDK
CRUD triggers, actions, and rules
Invoke actions
UI
Action
NodeJS
Action
Swift
Action
Docker
Rule
Rule
Rule
Action
NodeJS
Action
Docker
Service ecosytem
Bluemix services
3rd party services
Self-enabled services
Chain Chain Invoke
Docker (and potentially other abstractions going forward)
API Gateway*
* work in progress
OpenWhisk Tenets:
• Fully open (source, dev, community, ecosystem)
• Extensible (feeds, actions, packages)
• Polyglot (JS, Python, Swift, Java, *any*/docker)
• Composable (e.g., sequences)
• Per-event/request scaling, metering
https://github.com/openwhisk
OpenWhisk Internal Architecture
13
Controller
…Invoker InvokerInvoker
OpenWhisk Catalog
 Cron
 Utils (e.g., jq)
 CouchDB/Cloudant
 Object Storage
 MQTT
 Kafka
 Node-RED
* Some of the above are work in progress
14
 Github
 Slack
 IBM Watson
 Weather
 WebHooks
 Mobile Push
 etc
OpenWhisk CLI: Create and test action
Create the Action that analyzes IoT readings, then stores in the database
wsk action create analyze-service-event analyze-service-event.js 
--param cloudant_user $CLOUDANT_USER
--param cloudant_pass $CLOUDANT_PASS
Invoke the Action manually with sample message data to test
wsk action invoke --blocking --result analyze-service-event
--param service '{"appliance_serial": "xxxxyyyyzzzz", "part_number":
"ddddeeeeffff", "reading": 13, "timestamp": 1466188262}'
OpenWhisk CLI: Link trigger to action
Create the Trigger that subscribes to an MQTT topic pattern
wsk trigger create openfridge-feed-trigger 
--feed mqtt/mqtt-feed-action
--param topic 'iot-2/type/+/id/+/evt/+/fmt/json'
--param url 'ssl://example.messaging.internetofthings.ibmcloud.com:8883’
Link the Trigger to the Action using a Rule
wsk rule create --enable openfridge-feed-rule 
openfridge-feed-trigger analyze-service-event
OpenWhisk and API Gateway Coming
soon...
• OpenWhisk CLI is extended to to allow user to define routes for
actions
$ wsk action create hello hello.js
$ wsk api create GET /v1/hello hello
Route URL:
https://api-gw.mybluemix.net/api/ /nsuuid/v1/hello
$ curl –XGET https://api-gw.mybluemix.net/api/ /nsuuid/v1/hello
{ message: ”Hello World” }
1
Browser
Mobile App
Web App
APIGateway
2
OpenWhisk
3 Invoke associated
OpenWhisk action
„getCustomers“
Swift DockerJS Python Java
Incoming HTTP request, e.g. HTTP GET
api-gw.mybluemix.net/…/getCustomers
- API Gateway takes care of…
- security (authenticate, authorize, threat protect, validate)
- control (rate limiting, response caching)
- mediation
- parameter mapping
- schema validation
- etc
OpenWhisk Debugger
(https://github.com/openwhisk/openwhisk-debugger )
 Allows to…
• debug actions locally
• inspect parameter values
• edit code & push changes
 Supports debugging…
• NodeJS, Python and Swift actions
OpenWhisk on OpenStack
https://developer.ibm.com/openwhisk/2016/08/08/multicloud-openwhisk-build-a-distributed-openwhisk-deployment-on-openstack/
19
Challenges of Serverless
 Opinionated programming model
• Aligned with 12-factor approach to cloud-native applications
 Per-invocation latency & overhead
 High-performance persistent state
 Life cycle of composite serverless applications
 Monitoring, error handling, testing, debugging
20
Proposal: Serverless/OpenWhisk in FIWARE
 FIWARE is an open source platform, community and ecosystem for
context-aware cloud-based applications enabled by Big Data and IoT
• OpenWhisk shares similar open principles and philosophy
 Serverless capabilities (based on OpenWhisk) can simplify development
and hosting of FIWARE applications, e.g.,
• Simple interface to develop and run actions (in various programming
languages), integrated into FIWARE user experience
□ FIWARE WireCloud integration/frontend?
• OpenWhisk packages surfacing APIs of individual FIWARE Generic
Enablers (GEs) as OpenWhisk triggers and actions
• FIWARE Orion/NGSI package encapsulating generic context operations
(queries, updates), subscription feed
□ Feed provider via Cygnus  OpenWhisk bridge
• GE developers could take advantage of OpenWhisk too
21
https://www.fiware.org/
Thank you!
http://fiware.org
Follow @FIWARE on Twitter
Alex Glikson
Cloud Platforms, IBM Research
Architect, FIWARE Cloud Hosting
glikson@il.ibm.com
OpenWhisk on IBM Bluemix
23
Getting started with OpenWhisk in Bluemix
Click here and run your first action in 30 secs:
https://console.ng.bluemix.net/openwhisk/
Associate an action
with event triggers:
Serverless check processing with OpenWhisk
https://github.com/krook/openchecks
Serverless can handle many cloud native app 12 Factors
I Codebase Handled by developer (Manage versioning of functions on their own)
II Dependencies Handled by developer, facilitated by serverless platform (Runtimes and packages)
III Config Handled by platform (Environment variables or injected event parameters)
IV Backing services Handled by platform (Connection information injected as event parameters)
V Build, release, run Handled by platform (Deployed resources are immutable and internally versioned)
VI Processes Handled by platform (Single stateless containers often used)
VII Port binding Handled by platform (Actions or functions are automatically discovered)
VIII Concurrency Handled by platform (Process model is hidden and scales in response to demand)
IX Disposability Handled by platform (Lifecycle is hidden from the user, fast startup and elastic scale is prioritized)
X Dev/prod parity Handled by developer (The developer is the deployer. Scope of what differs is narrower)
XI Logs Handled by platform (Developer writes to console.log, platform handles log streaming)
XII Admin processes Handled by developer (No distinction between one off processes and long running)

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

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
 
OpenWhisk: Event-driven Design
OpenWhisk: Event-driven DesignOpenWhisk: Event-driven Design
OpenWhisk: Event-driven Design
 
IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Fut...
IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Fut...IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Fut...
IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Fut...
 
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
 
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...
 
ADDO 2020: "The past, present, and future of cloud native API gateways"
ADDO 2020: "The past, present, and future of cloud native API gateways"ADDO 2020: "The past, present, and future of cloud native API gateways"
ADDO 2020: "The past, present, and future of cloud native API gateways"
 
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
 
Cloud foundry: The Platform for Forging Cloud Native Applications
Cloud foundry: The Platform for Forging Cloud Native ApplicationsCloud foundry: The Platform for Forging Cloud Native Applications
Cloud foundry: The Platform for Forging Cloud Native Applications
 
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
 
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
 
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
 
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
 
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
 
Ambassador Fest: "Kubernetes Workflow 101: The Big Picture of Idea to an API ...
Ambassador Fest: "Kubernetes Workflow 101: The Big Picture of Idea to an API ...Ambassador Fest: "Kubernetes Workflow 101: The Big Picture of Idea to an API ...
Ambassador Fest: "Kubernetes Workflow 101: The Big Picture of Idea to an API ...
 
Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)
 
Serverless APIs with Apache OpenWhisk
Serverless APIs with Apache OpenWhiskServerless APIs with Apache OpenWhisk
Serverless APIs with Apache OpenWhisk
 
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
 
OpenWhisk on IBM Bluemix for the Industrial Internet
OpenWhisk on IBM Bluemix for the Industrial InternetOpenWhisk on IBM Bluemix for the Industrial Internet
OpenWhisk on IBM Bluemix for the Industrial Internet
 
Bringing Docker to the Cloud
Bringing Docker to the CloudBringing Docker to the Cloud
Bringing Docker to the Cloud
 

Andere mochten auch

ServerlessPresentation
ServerlessPresentationServerlessPresentation
ServerlessPresentation
Rohit Kumar
 

Andere mochten auch (20)

ServerlessPresentation
ServerlessPresentationServerlessPresentation
ServerlessPresentation
 
Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...
Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...
Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...
 
Openstack taskflow 簡介
Openstack taskflow 簡介Openstack taskflow 簡介
Openstack taskflow 簡介
 
Task flow
Task flowTask flow
Task flow
 
Apache kafka big data track
Apache kafka   big data trackApache kafka   big data track
Apache kafka big data track
 
Serverless Realtime Backup
Serverless Realtime BackupServerless Realtime Backup
Serverless Realtime Backup
 
[AWSKRUG&JAWS-UG Meetup #1] Serverless Real-Time Analysis
[AWSKRUG&JAWS-UG Meetup #1]  Serverless  Real-Time Analysis[AWSKRUG&JAWS-UG Meetup #1]  Serverless  Real-Time Analysis
[AWSKRUG&JAWS-UG Meetup #1] Serverless Real-Time Analysis
 
Architecture of a Kafka camus infrastructure
Architecture of a Kafka camus infrastructureArchitecture of a Kafka camus infrastructure
Architecture of a Kafka camus infrastructure
 
Open stack ocata summit enabling aws lambda-like functionality with openstac...
Open stack ocata summit  enabling aws lambda-like functionality with openstac...Open stack ocata summit  enabling aws lambda-like functionality with openstac...
Open stack ocata summit enabling aws lambda-like functionality with openstac...
 
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 ...
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
AWS Lambda from the Trenches
AWS Lambda from the TrenchesAWS Lambda from the Trenches
AWS Lambda from the Trenches
 
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQL
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQLAnnouncing Amazon Athena - Instantly Analyze Your Data in S3 Using SQL
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQL
 
Building Serverless APIs on AWS
Building Serverless APIs on AWSBuilding Serverless APIs on AWS
Building Serverless APIs on AWS
 
Build reactive systems on lambda
Build reactive systems on lambdaBuild reactive systems on lambda
Build reactive systems on lambda
 
JustGiving – Serverless Data Pipelines, API, Messaging and Stream Processing
JustGiving – Serverless Data Pipelines,  API, Messaging and Stream ProcessingJustGiving – Serverless Data Pipelines,  API, Messaging and Stream Processing
JustGiving – Serverless Data Pipelines, API, Messaging and Stream Processing
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)
 
How to implement chatbots for Alexa and Facebook Messenger
How to implement chatbots for Alexa and Facebook MessengerHow to implement chatbots for Alexa and Facebook Messenger
How to implement chatbots for Alexa and Facebook Messenger
 
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
 
Tomasz Janczuk - Webtaskalifragilistexpialidocious
Tomasz Janczuk - WebtaskalifragilistexpialidociousTomasz Janczuk - Webtaskalifragilistexpialidocious
Tomasz Janczuk - Webtaskalifragilistexpialidocious
 

Ähnlich wie The Serverless Paradigm, OpenWhisk and FIWARE

Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open CloudCloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Mark Hinkle
 
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
 

Ähnlich wie The Serverless Paradigm, OpenWhisk and FIWARE (20)

The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor app
 
The Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian CockcroftThe Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian Cockcroft
 
Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017
 
Serverless Pune Meetup 1
Serverless Pune Meetup 1Serverless Pune Meetup 1
Serverless Pune Meetup 1
 
Apache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless ComputingApache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless Computing
 
OpenWhisk JavaOne
OpenWhisk JavaOneOpenWhisk JavaOne
OpenWhisk JavaOne
 
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the CloudLinux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
 
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open CloudCloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
 
Serverless Pune meetup 3
Serverless Pune meetup 3Serverless Pune meetup 3
Serverless Pune meetup 3
 
Serverless Apps with Open Whisk
Serverless Apps with Open Whisk Serverless Apps with Open Whisk
Serverless Apps with Open Whisk
 
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
 
IBM Bluemix Talk at University College Cork (UCC)
IBM Bluemix Talk at University College Cork (UCC)IBM Bluemix Talk at University College Cork (UCC)
IBM Bluemix Talk at University College Cork (UCC)
 
High-Performance FAAS with Nuclio
High-Performance FAAS with NuclioHigh-Performance FAAS with Nuclio
High-Performance FAAS with Nuclio
 
IBM Bluemix and Docker Guest Lecture at Cork Institute of Technology
IBM Bluemix and Docker Guest Lecture at Cork Institute of TechnologyIBM Bluemix and Docker Guest Lecture at Cork Institute of Technology
IBM Bluemix and Docker Guest Lecture at Cork Institute of Technology
 
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
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
Cloud Foundry May 1 2014
Cloud Foundry May 1 2014Cloud Foundry May 1 2014
Cloud Foundry May 1 2014
 
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
 
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM BluemixDeploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
 
PaaS for the New Cloud Era
PaaS for the New Cloud EraPaaS for the New Cloud Era
PaaS for the New Cloud Era
 

Mehr von Alex Glikson (7)

AWS Re:Invented
AWS Re:InventedAWS Re:Invented
AWS Re:Invented
 
Serverless Compute Platforms on Kubernetes
Serverless Compute Platforms on KubernetesServerless Compute Platforms on Kubernetes
Serverless Compute Platforms on Kubernetes
 
From chroot to Docker to Kubernetes
From chroot to Docker to KubernetesFrom chroot to Docker to Kubernetes
From chroot to Docker to Kubernetes
 
Cloud-Native Application and Kubernetes
Cloud-Native Application and KubernetesCloud-Native Application and Kubernetes
Cloud-Native Application and Kubernetes
 
Mixing bare-metal and virtualized workloads on OpenStack - 2014
Mixing bare-metal and virtualized workloads on OpenStack - 2014Mixing bare-metal and virtualized workloads on OpenStack - 2014
Mixing bare-metal and virtualized workloads on OpenStack - 2014
 
Serverless, IoT and OpenWhisk
Serverless, IoT and OpenWhiskServerless, IoT and OpenWhisk
Serverless, IoT and OpenWhisk
 
Container-Based Platforms and Kubernetes
Container-Based Platforms and KubernetesContainer-Based Platforms and Kubernetes
Container-Based Platforms and Kubernetes
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

The Serverless Paradigm, OpenWhisk and FIWARE

  • 1. The ‘Serverless‘ Paradigm, OpenWhisk and FIWARE Alex Glikson Cloud Platforms, IBM Research Architect, FIWARE Cloud Hosting glikson@il.ibm.com FIWARE Summit, Malaga, Spain December 13-15, 2016 https://www.fiware.org/summit/
  • 2. Outline 1. Overview of Serverless 2. OpenWhisk – open source ‘Serverless’ platform 3. Challenges of Serverless 4. Serverless and FIWARE 1
  • 3. Serverless in a Nutshell  ‘Next-gen’ PaaS (developers just write the business logic)  for services decomposable into events/requests & handlers  scaled, metered [and charged] by individual handler invocation * The motivation behind the ‘serverless’ term is that the application provider doesn’t need to care about managing the underlying servers (introduced by Amazon, who didn’t have fully managed PaaS offering before Lambda) 2
  • 4. analyze reading OpenWhisk create order alert customer alarm changes changes service order appliance events IBM Watson IoT Example: bit.ly/open-fridge @ Daniel Krook
  • 5. The Essence of Serverless  What is Serverless? • ‘Serverless’ is a cloud-native design pattern, accompanied with a programming model and a runtime architecture • Aimed at radically simplified, faster and more efficient development and operation of (certain) applications  The Pattern • Application is architected a set of ‘business logic’ functions, local or remote, triggered by discrete events or requests • The underlying runtime is (infinitely) elastic, with scaling (and chargeback) granularity of single function invocation (100ms) • Each local function is invoked in a sandbox, which is short- lived and ephemeral (interacting with stateful services) 4
  • 6. Serverless Market  Amazon Lambda • Pioneer of serverless, launched in Nov 2014 • Rapid growth, dedicated mini-con at Re:Invent 2016  Similar offerings by other commercial cloud providers • Google Functions, Azure Functions, IBM OpenWhisk  Multiple niche players • iron.io, pubnub.com, etc  OpenWhisk – the open source serverless platform • Developed by IBM, now under incubation in Apache (w/Adobe) • Also offered on IBM Bluemix as a fully managed service 5
  • 7. What is serverless good for? 6
  • 8. Example: Serverless at Thomson Reuters 7 https://www.portal.reinvent.awsevents.com/connect/sessionDetail.ww?SESSION_ID=8674
  • 9. Example: Serverless at Bustle 8 https://aws.amazon.com/solutions/case-studies/bustle/
  • 10. Example: Serverless at Expedia 9 https://www.portal.reinvent.awsevents.com/connect/sessionDetail.ww?SESSION_ID=8671
  • 11. Example: Serverless at Expedia 10 https://www.portal.reinvent.awsevents.com/connect/sessionDetail.ww?SESSION_ID=8671
  • 12. Serverless: Why Now? The Perfect Storm 11 Serverless PaaS Evolution Developers enjoy the ‘low touch’ experience, but scaling is a challenge Event-Driven Use-Cases More application can be architected as a collection of events and handlers Containers Maturity Technologies for fine-grained sandboxing become mainstream API Economy Proliferation of RESTful, composable (micro)services, often charged by API call Image: http://bobkaylor.typepad.com/bob_kaylor/2012/01/the-meaning-of-jesus-part-2-the-perfect-storm.html
  • 13. OpenWhisk: Open Source Serverless Platform Trigger Package Feed Package Feed Package Feed Package Feed REST CLI iOS SDK CRUD triggers, actions, and rules Invoke actions UI Action NodeJS Action Swift Action Docker Rule Rule Rule Action NodeJS Action Docker Service ecosytem Bluemix services 3rd party services Self-enabled services Chain Chain Invoke Docker (and potentially other abstractions going forward) API Gateway* * work in progress OpenWhisk Tenets: • Fully open (source, dev, community, ecosystem) • Extensible (feeds, actions, packages) • Polyglot (JS, Python, Swift, Java, *any*/docker) • Composable (e.g., sequences) • Per-event/request scaling, metering https://github.com/openwhisk
  • 15. OpenWhisk Catalog  Cron  Utils (e.g., jq)  CouchDB/Cloudant  Object Storage  MQTT  Kafka  Node-RED * Some of the above are work in progress 14  Github  Slack  IBM Watson  Weather  WebHooks  Mobile Push  etc
  • 16. OpenWhisk CLI: Create and test action Create the Action that analyzes IoT readings, then stores in the database wsk action create analyze-service-event analyze-service-event.js --param cloudant_user $CLOUDANT_USER --param cloudant_pass $CLOUDANT_PASS Invoke the Action manually with sample message data to test wsk action invoke --blocking --result analyze-service-event --param service '{"appliance_serial": "xxxxyyyyzzzz", "part_number": "ddddeeeeffff", "reading": 13, "timestamp": 1466188262}'
  • 17. OpenWhisk CLI: Link trigger to action Create the Trigger that subscribes to an MQTT topic pattern wsk trigger create openfridge-feed-trigger --feed mqtt/mqtt-feed-action --param topic 'iot-2/type/+/id/+/evt/+/fmt/json' --param url 'ssl://example.messaging.internetofthings.ibmcloud.com:8883’ Link the Trigger to the Action using a Rule wsk rule create --enable openfridge-feed-rule openfridge-feed-trigger analyze-service-event
  • 18. OpenWhisk and API Gateway Coming soon... • OpenWhisk CLI is extended to to allow user to define routes for actions $ wsk action create hello hello.js $ wsk api create GET /v1/hello hello Route URL: https://api-gw.mybluemix.net/api/ /nsuuid/v1/hello $ curl –XGET https://api-gw.mybluemix.net/api/ /nsuuid/v1/hello { message: ”Hello World” } 1 Browser Mobile App Web App APIGateway 2 OpenWhisk 3 Invoke associated OpenWhisk action „getCustomers“ Swift DockerJS Python Java Incoming HTTP request, e.g. HTTP GET api-gw.mybluemix.net/…/getCustomers - API Gateway takes care of… - security (authenticate, authorize, threat protect, validate) - control (rate limiting, response caching) - mediation - parameter mapping - schema validation - etc
  • 19. OpenWhisk Debugger (https://github.com/openwhisk/openwhisk-debugger )  Allows to… • debug actions locally • inspect parameter values • edit code & push changes  Supports debugging… • NodeJS, Python and Swift actions
  • 21. Challenges of Serverless  Opinionated programming model • Aligned with 12-factor approach to cloud-native applications  Per-invocation latency & overhead  High-performance persistent state  Life cycle of composite serverless applications  Monitoring, error handling, testing, debugging 20
  • 22. Proposal: Serverless/OpenWhisk in FIWARE  FIWARE is an open source platform, community and ecosystem for context-aware cloud-based applications enabled by Big Data and IoT • OpenWhisk shares similar open principles and philosophy  Serverless capabilities (based on OpenWhisk) can simplify development and hosting of FIWARE applications, e.g., • Simple interface to develop and run actions (in various programming languages), integrated into FIWARE user experience □ FIWARE WireCloud integration/frontend? • OpenWhisk packages surfacing APIs of individual FIWARE Generic Enablers (GEs) as OpenWhisk triggers and actions • FIWARE Orion/NGSI package encapsulating generic context operations (queries, updates), subscription feed □ Feed provider via Cygnus  OpenWhisk bridge • GE developers could take advantage of OpenWhisk too 21 https://www.fiware.org/
  • 23. Thank you! http://fiware.org Follow @FIWARE on Twitter Alex Glikson Cloud Platforms, IBM Research Architect, FIWARE Cloud Hosting glikson@il.ibm.com
  • 24. OpenWhisk on IBM Bluemix 23
  • 25. Getting started with OpenWhisk in Bluemix Click here and run your first action in 30 secs: https://console.ng.bluemix.net/openwhisk/ Associate an action with event triggers:
  • 26. Serverless check processing with OpenWhisk https://github.com/krook/openchecks
  • 27. Serverless can handle many cloud native app 12 Factors I Codebase Handled by developer (Manage versioning of functions on their own) II Dependencies Handled by developer, facilitated by serverless platform (Runtimes and packages) III Config Handled by platform (Environment variables or injected event parameters) IV Backing services Handled by platform (Connection information injected as event parameters) V Build, release, run Handled by platform (Deployed resources are immutable and internally versioned) VI Processes Handled by platform (Single stateless containers often used) VII Port binding Handled by platform (Actions or functions are automatically discovered) VIII Concurrency Handled by platform (Process model is hidden and scales in response to demand) IX Disposability Handled by platform (Lifecycle is hidden from the user, fast startup and elastic scale is prioritized) X Dev/prod parity Handled by developer (The developer is the deployer. Scope of what differs is narrower) XI Logs Handled by platform (Developer writes to console.log, platform handles log streaming) XII Admin processes Handled by developer (No distinction between one off processes and long running)