SlideShare a Scribd company logo
1IBM
_
Be Whisked Away with a
Raspberry PI, Java, and
OpenWhisk
Luc Desrosiers
IBM Certified IT Architect
Session CON2758
2IBM
_
About me
• 20 years in IT – Development, Integration, Cloud
• IT Architect who loves to write code
• Java enthusiast since using Servlet Express back in 1998
• Cloud, IoT and Cognitive computing are areas that I am passionate about
• Probably lost my hair to a program that would not compile…
3IBM
_
What can you expect to get from
this session?
• An understanding of serverless computing and OpenWhisk
• An early view on some usage patterns and how it can be used to
complement your application design
• A quick way to get started experimenting with OpenWhisk
And finally,
• A demonstration of an IoT solution integrated with OpenWhisk
4IBM
_
What is OpenWhisk?
OpenWhisk is a Cloud platform to execute code in response to events
• OpenWhisk is an Open Source project released by IBM
• Supports many language including Java
• Based on the serverless concept …
5IBM
_
What is serverless ?
OpenWhisk is a Cloud platform to execute code in response to events
• Serverless is about removing infrastructure from the equation
• It is about focusing on business logics, not thread pools
• Often associated to Function-as-a-Service
The transition from micro services…
Microservice
MicroserviceMicroservice
Microservice
Subscribe
REST
/HTTP
Microservice
Microservice
broker
API
Microservice
Publish
API
REST
/HTTP Publish
Service
Discovery
Microservice
1 Docker
Container
App
Servers
NodeJS
instance
App
Servers
NodeJS
instance
NodeJS
instance
VM
What if I need to
scale this?
VM
NodeJS
instance
NodeJS
instance
App
Servers
App
Servers
1 Docker
Container
VM
serverless container
to serverless…
Microservice
Microservice
Microservice
Microservice
Subscribe
REST
/HTTP
Microservice
broker
API
Action
Publish
API
REST
/HTTP Publish
Service
Discovery
Microservice
Trigger
Trigger
What if I need to
scale this?
Serverless
technology handles
the burst
Action
1 Docker
Container
1 Docker
Container
VM
VM
VM
8IBM
_
So what does it look like
?
Event
Trigger
Action
OpenWhisk Overview
Language supported:
• NodeJS
• Swift
• Java
• Python
• Docker
10IBM
_
Where does it fit ?
• Serverless is a piece of the puzzle… not a complete solution
• Triggers and Back-end Services are not necessarily serverless
• Someone has to hold the state after all…
UI
Components
Serverless
components
Event
Generator
Back-end as a Service
11IBM
_
Serverless and the 12 Factor App?
Twelve Factor App was created as a methodology for building SaaS…
II. Dependencies
Explicitly declare and isolate dependencies
III. Config
Store config in the environment
IV. Backing services
Treat backing services as attached resources
VI. Processes
Execute the app as one or more stateless
processes
https://12factor.net/
VII. Port binding
Export services via port binding
VIII. Concurrency
Scale out via the process model
IX. Disposability
Maximize robustness with fast startup and graceful
shutdown
12IBM
_
OK, what about usage patterns ?
• Serverless technologies are still new… patterns have yet to emerge
• Simplicity should be the focus of each function
• May need significant refactoring of existing code to minimize
dependencies…
However there are some architecture patterns where serveless fits
nicely…
Mobile and Web Backend as a Service
APIGateway
Sequence
Business Logic
Action
/whisk/websock
et
Backend
Service
Action
Trigger
Web
App
Benefits:
• Clear delineation of business and controller logic
• Produces discreet reusable action that can be assembled as a sequence
/whisk/push
The analytics platform
Cloudant
DB A
Data processing pipeline
IoT
Events
Change
Feed
Change
Listener
Cloudant
DB A
Quality
Control
Event
Persister
/whisk/clou
dant
Data
Enrichment
/whisk/wea
ther
Benefits:
• Database change can trigger other actions
• Functionality can be extended easily
Trigger
The DevOps pipeline
Sequence
Git
Data
Feed
GitHub
Benefits:
• Improve communication
• Clean extension to the build pipeline
Business Logic
Action
/whisk/slack
Backend
Service
Action
16IBM
_
Some considerations
• Avoid heavy-weight functions
• Harder to debug
• Harder to reuse
• Trigger do not guarantee order of processing…
• Message affinity is bad… avoid it at all costs
• Plan how your input and output are designed to maximize reuse
• Ability to re-use an action depends on the assumption it is making
about its input
• Assert aggressively!
17IBM
_
Now, how can you get started?
1. Get familiar with the OpenWhisk command line interface
2. Create a basic Java Action
3. Deploy to Bluemix or locally
OpenWhisk Command Line
wsk trigger create <trigger-name>
1. Creating a trigger
wsk package create <package-name>
2. Creating a package
wsk action create <package>/<action> <Jar File>.jar
3. Creating an action
wsk package bind /whisk.system/websocket <bind-name> -p uri
ws://<url>
4. Create a binding for an action
wsk rule create <rule-name> <trigger> <action>
5. Create a rule for triggering an action
Installing OpenWhisk CLI can be found here: https://new-console.ng.bluemix.net/openwhisk/cli
Creating a Basic Java Action
The entry point for the Action must follow this signature
Note: If the JAR file has more than one class with a main
method matching required signature, the CLI tool uses the first
one reported by jar -tf
Deploying to Bluemix
21IBM
_
What is available out of the
box?
Here are some of the provided package of actions and feed you can use to
get started:
Cloudant
Alarms
Watson
github
Push
Notifications
slack
Weather data
22IBM
_
Where does the Raspberry Pi come in?
• Serverless technology Is based on triggering action based on events
• A robot including sensors generates lots of events
• Objective was to see how serverless could be integrated
The Anatomy of an IoT tank
Cloudant
IoT-Tank
Stop Session
Start Session
Save IoT data
Change
Listener
Image Analysis
IoTBridge
Visual Recognition
Watson IoT
Foundation
IoTTankVision
OpenWhisk
Send image &
sensor data
Start &
stop session
IoT tank – Communication Layer
Pi4J – GPIO Control
IBM Watson IoT Foundation – IoT integration
Cloudant – Image persistence
JRPiCam – Pi Camera Control
Sending events:
Receiving commands:
25IBM
_
Wrap-up
• Serverless technology is a key part of a microservices architecture
• OpenWhisk reduces the operational burden
• Patterns are still emerging but the technology works great with:
• Web or Mobile application
• Analytics
• DevOps pipeline
• Getting started is easy and quick… Try it for yourself! 
26IBM
_
Thank You!
Some references…
IBM Hybrid Cloud solution guide:
Building a Hybrid Cloud with Bluemix
Bluemix blog
Getting Started with OpenWhisk:
https://github.com/openwhisk/openwhisk
https://new-console.ng.bluemix.net/openwhisk/cli
https://console.ng.bluemix.net/docs/openwhisk/index.html?pos=2
Accessing the code:
https://github.com/ldesrosi/iot-tank-client
https://github.com/ldesrosi/iot-tank-server
Luc Desrosiers | ldesrosi@uk.ibm.com | Twitter: Luc_At_IBM

More Related Content

What's hot (20)

PDF
Virtual GitLab Meetup: How Containerized Pipelines and Kubernetes Can Boost Y...
Nico Meisenzahl
 
PPTX
New Serverless World, Cloud Native Apps
Melania Andrisan (Danciu)
 
PPT
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
OpenWhisk
 
PDF
Modular Web Applications based on OSGi - Jochen Hiller
mfrancis
 
PDF
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
ITCamp
 
PPTX
ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...
ITCamp
 
PDF
Was ist ein Service Mesh und wie funktioniert es?
Cloud Native Rosenheim Meetup
 
PDF
OpenWhisk Under the Hood -- London Oct 16 2016
Stephen Fink
 
PDF
Neues aus dem Docker-Universum
Nicholas Dille
 
PDF
Azure Meetup Hamburg: Production-Ready Terraform Deployments on Azure
Nico Meisenzahl
 
PPTX
Microservices and containers networking: Contiv, an industry leading open sou...
Codemotion
 
PPTX
Practical Approaches to Cloud Native Security
Karthik Gaekwad
 
PDF
Network Automation Journey, A systems engineer NetOps perspective
Walid Shaari
 
PDF
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
ITCamp
 
PPTX
Kube Apps in action
Karthik Gaekwad
 
PDF
Infrastructure as Code with Ansible
Daniel Bezerra
 
PDF
Heroku cloud platform
Hasan Khatib
 
PPTX
EMC World 2016 12 Factor Apps FTW
Tommy Trogden
 
PPTX
Out of the Blue: Getting started with IBM Bluemix development
Oliver Busse
 
PPT
OpenWhisk Introduction
Ioana Baldini
 
Virtual GitLab Meetup: How Containerized Pipelines and Kubernetes Can Boost Y...
Nico Meisenzahl
 
New Serverless World, Cloud Native Apps
Melania Andrisan (Danciu)
 
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
OpenWhisk
 
Modular Web Applications based on OSGi - Jochen Hiller
mfrancis
 
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
ITCamp
 
ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...
ITCamp
 
Was ist ein Service Mesh und wie funktioniert es?
Cloud Native Rosenheim Meetup
 
OpenWhisk Under the Hood -- London Oct 16 2016
Stephen Fink
 
Neues aus dem Docker-Universum
Nicholas Dille
 
Azure Meetup Hamburg: Production-Ready Terraform Deployments on Azure
Nico Meisenzahl
 
Microservices and containers networking: Contiv, an industry leading open sou...
Codemotion
 
Practical Approaches to Cloud Native Security
Karthik Gaekwad
 
Network Automation Journey, A systems engineer NetOps perspective
Walid Shaari
 
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
ITCamp
 
Kube Apps in action
Karthik Gaekwad
 
Infrastructure as Code with Ansible
Daniel Bezerra
 
Heroku cloud platform
Hasan Khatib
 
EMC World 2016 12 Factor Apps FTW
Tommy Trogden
 
Out of the Blue: Getting started with IBM Bluemix development
Oliver Busse
 
OpenWhisk Introduction
Ioana Baldini
 

Similar to OpenWhisk JavaOne (20)

PPTX
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA - Serverless & Open...
IBM France Lab
 
PDF
Going Serverless with OpenWhisk
Alex Glikson
 
PDF
The 'Serverless' Paradigm, OpenWhisk and FIWARE
FIWARE
 
PDF
The Serverless Paradigm, OpenWhisk and FIWARE
Alex Glikson
 
PDF
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
OpenWhisk
 
PDF
NodeJS Serverless backends for your frontends
Carlos Santana
 
PDF
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Daniel Krook
 
PDF
OpenWhisk - A platform for cloud native, serverless, event driven apps
Daniel Krook
 
PDF
Serverless Java on Kubernetes
Krzysztof Sobkowiak
 
PDF
Apache OpenWhisk Serverless Computing
Upkar Lidder
 
PDF
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
ServerlessConf
 
PDF
Openwhisk - Colorado Meetups
Upkar Lidder
 
PDF
TechTalk - Building Serverless Applications with IBM Bluemix
Janakiram MSV
 
PDF
Apache OpenWhisk
Simon Sasaki
 
PDF
Your Java Journey into the Serverless World
Kamesh Sampath
 
PPTX
Serverless Apps with Open Whisk
Dev_Events
 
PDF
OpenWhisk - Serverless Architecture
Dev_Events
 
PDF
Serverless apps with OpenWhisk
Daniel Krook
 
PDF
Building Serverless Apps with Kafka (Dale Lane, IBM) Kafka Summit London 2019
confluent
 
PDF
An intro to serverless and OpenWhisk for Kafka users
Dale Lane
 
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA - Serverless & Open...
IBM France Lab
 
Going Serverless with OpenWhisk
Alex Glikson
 
The 'Serverless' Paradigm, OpenWhisk and FIWARE
FIWARE
 
The Serverless Paradigm, OpenWhisk and FIWARE
Alex Glikson
 
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
OpenWhisk
 
NodeJS Serverless backends for your frontends
Carlos Santana
 
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Daniel Krook
 
OpenWhisk - A platform for cloud native, serverless, event driven apps
Daniel Krook
 
Serverless Java on Kubernetes
Krzysztof Sobkowiak
 
Apache OpenWhisk Serverless Computing
Upkar Lidder
 
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
ServerlessConf
 
Openwhisk - Colorado Meetups
Upkar Lidder
 
TechTalk - Building Serverless Applications with IBM Bluemix
Janakiram MSV
 
Apache OpenWhisk
Simon Sasaki
 
Your Java Journey into the Serverless World
Kamesh Sampath
 
Serverless Apps with Open Whisk
Dev_Events
 
OpenWhisk - Serverless Architecture
Dev_Events
 
Serverless apps with OpenWhisk
Daniel Krook
 
Building Serverless Apps with Kafka (Dale Lane, IBM) Kafka Summit London 2019
confluent
 
An intro to serverless and OpenWhisk for Kafka users
Dale Lane
 
Ad

Recently uploaded (20)

PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
July Patch Tuesday
Ivanti
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Ad

OpenWhisk JavaOne

  • 1. 1IBM _ Be Whisked Away with a Raspberry PI, Java, and OpenWhisk Luc Desrosiers IBM Certified IT Architect Session CON2758
  • 2. 2IBM _ About me • 20 years in IT – Development, Integration, Cloud • IT Architect who loves to write code • Java enthusiast since using Servlet Express back in 1998 • Cloud, IoT and Cognitive computing are areas that I am passionate about • Probably lost my hair to a program that would not compile…
  • 3. 3IBM _ What can you expect to get from this session? • An understanding of serverless computing and OpenWhisk • An early view on some usage patterns and how it can be used to complement your application design • A quick way to get started experimenting with OpenWhisk And finally, • A demonstration of an IoT solution integrated with OpenWhisk
  • 4. 4IBM _ What is OpenWhisk? OpenWhisk is a Cloud platform to execute code in response to events • OpenWhisk is an Open Source project released by IBM • Supports many language including Java • Based on the serverless concept …
  • 5. 5IBM _ What is serverless ? OpenWhisk is a Cloud platform to execute code in response to events • Serverless is about removing infrastructure from the equation • It is about focusing on business logics, not thread pools • Often associated to Function-as-a-Service
  • 6. The transition from micro services… Microservice MicroserviceMicroservice Microservice Subscribe REST /HTTP Microservice Microservice broker API Microservice Publish API REST /HTTP Publish Service Discovery Microservice 1 Docker Container App Servers NodeJS instance App Servers NodeJS instance NodeJS instance VM What if I need to scale this? VM NodeJS instance NodeJS instance App Servers App Servers 1 Docker Container VM
  • 7. serverless container to serverless… Microservice Microservice Microservice Microservice Subscribe REST /HTTP Microservice broker API Action Publish API REST /HTTP Publish Service Discovery Microservice Trigger Trigger What if I need to scale this? Serverless technology handles the burst Action 1 Docker Container 1 Docker Container VM VM VM
  • 8. 8IBM _ So what does it look like ? Event Trigger Action
  • 9. OpenWhisk Overview Language supported: • NodeJS • Swift • Java • Python • Docker
  • 10. 10IBM _ Where does it fit ? • Serverless is a piece of the puzzle… not a complete solution • Triggers and Back-end Services are not necessarily serverless • Someone has to hold the state after all… UI Components Serverless components Event Generator Back-end as a Service
  • 11. 11IBM _ Serverless and the 12 Factor App? Twelve Factor App was created as a methodology for building SaaS… II. Dependencies Explicitly declare and isolate dependencies III. Config Store config in the environment IV. Backing services Treat backing services as attached resources VI. Processes Execute the app as one or more stateless processes https://12factor.net/ VII. Port binding Export services via port binding VIII. Concurrency Scale out via the process model IX. Disposability Maximize robustness with fast startup and graceful shutdown
  • 12. 12IBM _ OK, what about usage patterns ? • Serverless technologies are still new… patterns have yet to emerge • Simplicity should be the focus of each function • May need significant refactoring of existing code to minimize dependencies… However there are some architecture patterns where serveless fits nicely…
  • 13. Mobile and Web Backend as a Service APIGateway Sequence Business Logic Action /whisk/websock et Backend Service Action Trigger Web App Benefits: • Clear delineation of business and controller logic • Produces discreet reusable action that can be assembled as a sequence /whisk/push
  • 14. The analytics platform Cloudant DB A Data processing pipeline IoT Events Change Feed Change Listener Cloudant DB A Quality Control Event Persister /whisk/clou dant Data Enrichment /whisk/wea ther Benefits: • Database change can trigger other actions • Functionality can be extended easily Trigger
  • 15. The DevOps pipeline Sequence Git Data Feed GitHub Benefits: • Improve communication • Clean extension to the build pipeline Business Logic Action /whisk/slack Backend Service Action
  • 16. 16IBM _ Some considerations • Avoid heavy-weight functions • Harder to debug • Harder to reuse • Trigger do not guarantee order of processing… • Message affinity is bad… avoid it at all costs • Plan how your input and output are designed to maximize reuse • Ability to re-use an action depends on the assumption it is making about its input • Assert aggressively!
  • 17. 17IBM _ Now, how can you get started? 1. Get familiar with the OpenWhisk command line interface 2. Create a basic Java Action 3. Deploy to Bluemix or locally
  • 18. OpenWhisk Command Line wsk trigger create <trigger-name> 1. Creating a trigger wsk package create <package-name> 2. Creating a package wsk action create <package>/<action> <Jar File>.jar 3. Creating an action wsk package bind /whisk.system/websocket <bind-name> -p uri ws://<url> 4. Create a binding for an action wsk rule create <rule-name> <trigger> <action> 5. Create a rule for triggering an action Installing OpenWhisk CLI can be found here: https://new-console.ng.bluemix.net/openwhisk/cli
  • 19. Creating a Basic Java Action The entry point for the Action must follow this signature Note: If the JAR file has more than one class with a main method matching required signature, the CLI tool uses the first one reported by jar -tf
  • 21. 21IBM _ What is available out of the box? Here are some of the provided package of actions and feed you can use to get started: Cloudant Alarms Watson github Push Notifications slack Weather data
  • 22. 22IBM _ Where does the Raspberry Pi come in? • Serverless technology Is based on triggering action based on events • A robot including sensors generates lots of events • Objective was to see how serverless could be integrated
  • 23. The Anatomy of an IoT tank Cloudant IoT-Tank Stop Session Start Session Save IoT data Change Listener Image Analysis IoTBridge Visual Recognition Watson IoT Foundation IoTTankVision OpenWhisk Send image & sensor data Start & stop session
  • 24. IoT tank – Communication Layer Pi4J – GPIO Control IBM Watson IoT Foundation – IoT integration Cloudant – Image persistence JRPiCam – Pi Camera Control Sending events: Receiving commands:
  • 25. 25IBM _ Wrap-up • Serverless technology is a key part of a microservices architecture • OpenWhisk reduces the operational burden • Patterns are still emerging but the technology works great with: • Web or Mobile application • Analytics • DevOps pipeline • Getting started is easy and quick… Try it for yourself! 
  • 26. 26IBM _ Thank You! Some references… IBM Hybrid Cloud solution guide: Building a Hybrid Cloud with Bluemix Bluemix blog Getting Started with OpenWhisk: https://github.com/openwhisk/openwhisk https://new-console.ng.bluemix.net/openwhisk/cli https://console.ng.bluemix.net/docs/openwhisk/index.html?pos=2 Accessing the code: https://github.com/ldesrosi/iot-tank-client https://github.com/ldesrosi/iot-tank-server Luc Desrosiers | [email protected] | Twitter: Luc_At_IBM