SlideShare a Scribd company logo
© 2015 IBM Corporation
David Currie – Senior Software Engineer
3rd February 2015
Scalable, Available and
Reliable Cloud Applications
with PaaS and Microservices
© 2015 IBM Corporation
Important Disclaimers
THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.
WHILST EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION
CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED.
ALL PERFORMANCE DATA INCLUDED IN THIS PRESENTATION HAVE BEEN GATHERED IN A CONTROLLED
ENVIRONMENT. YOUR OWN TEST RESULTS MAY VARY BASED ON HARDWARE, SOFTWARE OR INFRASTRUCTURE
DIFFERENCES.
ALL DATA INCLUDED IN THIS PRESENTATION ARE MEANT TO BE USED ONLY AS A GUIDE.
IN ADDITION, THE INFORMATION CONTAINED IN THIS PRESENTATION IS BASED ON IBM’S CURRENT PRODUCT
PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM, WITHOUT NOTICE.
IBM AND ITS AFFILIATED COMPANIES SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE
OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF:
- CREATING ANY WARRANT OR REPRESENTATION FROM IBM, ITS AFFILIATED COMPANIES OR ITS OR THEIR
SUPPLIERS AND/OR LICENSORS
© 2015 IBM Corporation
david_currie@uk.ibm.com @dcurrie www.slideshare.net/davidcurrie
© 2015 IBM Corporation
© 2015 IBM Corporation
© 2015 IBM Corporation
WebSphere
Liberty Profile
WebSphere
eXtreme
Scale
(WXS)
JAX-RS
ServletFilter
DataService
Facade
ServiceFacade
Data Tier
App
Specific
Caching
WXS
Client
nginx
Hybrid
Worklight
App
Browser
App
jQuery/DOJO
jQuery/DOJO
nginx
IBM
Worklight
http://bit.ly/
acmeairblog
© 2015 IBM Corporation
programmableweb.com 2012
4.3 billion API calls/day

Peak Performance
and Scale
© 2015 IBM Corporation

Operational
Visibility
© 2015 IBM Corporation

DevOps
HA & DR
Elastic scaling
© 2015 IBM Corporation
http://techblog.netflix.com
http://netflix.github.io
© 2015 IBM Corporation
2012
2013
2014
SPECjEnterprise
Acme Air Cloud/Mobile
Sample/Benchmark born
Sample application
cloud prize work
Acme Air run
on IBM Cloud at
“Web Scale”
Portability cloud
prize work
https://github.com/EmergingTechnologyInstitute
© 2015 IBM Corporation
Monolithic
Application
© 2015 IBM Corporation
Monolithic
Application
Modularity
© 2015 IBM Corporation
Monolithic
Application
Scaling
© 2015 IBM Corporation
Monolithic
Application
Failing

© 2015 IBM Corporation
Monolithic
Application
Failing

© 2015 IBM Corporation
Monolithic
Application
Failed


© 2015 IBM Corporation
Monolithic
Application
Update
© 2015 IBM Corporation
Monolithic
Application
Revolution
© 2015 IBM Corporation
Monolithic
Application
Develop
© 2015 IBM Corporation
Microservices
Application
© 2015 IBM Corporation
Microservices
Application
Interactions
© 2015 IBM Corporation
Microservices
Application
Scaled
© 2015 IBM Corporation
Microservices
Application
Evolution
© 2015 IBM Corporation
Service
Discovery
Eureka
© 2015 IBM Corporation
Service
Invocation
Ribbon
© 2015 IBM Corporation
Hope is not a
design method
“
”Michael Nygard, Release It!
© 2015 IBM Corporation
App Container
UserRequest
Dependency A Dependency B Dependency C
Dependency D Dependency F
Dependency G Dependency I
Dependency J Dependency L
Dependency E
Dependency H
Dependency K
Dependency M Dependency N Dependency O
© 2015 IBM Corporation
UserRequest
Dependency A Dependency B Dependency C
Dependency D Dependency F
Dependency G Dependency I
Dependency J Dependency L
Dependency E
Dependency H
Dependency K
Dependency M Dependency N Dependency O
App ContainerFAILURE!
© 2015 IBM Corporation
UserRequest
Dependency A Dependency B Dependency C
Dependency D Dependency F
Dependency G Dependency I
Dependency J Dependency L
Dependency E
Dependency H
Dependency K
Dependency M Dependency N Dependency O
UserRequest
UserRequest
UserRequest
UserRequest
App Container
THREAD
STARVATION!
© 2015 IBM Corporation
UserRequest
Dependency A Dependency B Dependency C
Dependency D Dependency F
Dependency G Dependency I
Dependency E
Dependency H
Dependency A
(5 Threads)
Dependency B
(5 Threads)
Dependency C
(10 Threads)
Dependency D
(5 Threads)
Dependency E
(10 Threads)
Dependency F
(5 Threads)
Dependency G
(10 Threads)
Dependency H
(5 Threads)
App Container
FAILFAST
© 2015 IBM Corporation
Circuit
Breaker
Hystrix
https://www.flickr.com/photos/leafbug/409950515 CC-BY-ND 2.0
© 2015 IBM Corporation
© 2015 IBM Corporation
Container
Libraries
App Property File
DB
Runtime
URL
Application
DynamicLongProperty timeToWait =
DynamicPropertyFactory.getInstance().
getLongProperty(“mywebapp.lock.waitTime", 1000);
timeToWait.get();
Dynamic
Configuration
Archaius
© 2015 IBM Corporation
Small download
Low memory usage
Simple configuration
Fast start up
Easy access
Free tooling
http://wasdev.net
© 2015 IBM Corporation
GitHub
Cloud Foundry
NetflixOSS
Zero Turnaround
Jenkins
Opscode
Chef
Apache Maven
IBM UrbanCode Deploy
Gradle
Apache Ant
IntelliJ IDEA
WebSphere
Developer Tools
Liberty
http://wasdev.net
http://wasdev.github.io
Docker
© 2015 IBM Corporation
Liberty Core
Base, Express
ND
z/OS
Application
Manager
HTTP TransportFeature Manager
clusterMember
jpaservlet
jsp
jsf
jndi jdbc
sessionDatabasemonitor
wab
blueprint
jaxrs
json
restConnector
osgi.jpa
appSecurity
ssl
localConnector beanValidation
ejbLite cdi managedBeans
oauth collectiveMember ldapRegistry webCache
concurrent wasJmsClient wasJmsServer
wasJmsSecurityjmsMdb
jaxws
wmqJmsClientwsSecurity
mongodb jaxb
collectiveControllerzosSecurity zosTransaction
zosWlm
Liberty
Features
© 2014 IBM Corporation38
dcurrie@shotover /d/libertydemo (master)
$ cat > gradle.properties
wlpDir=d:/libertydemo/wlp
dcurrie@shotover /d/libertydemo (master)
$ gradlew build
BUILD SUCCESSFUL
Total time: 1 mins 4.741 secs
dcurrie@shotover /d/libertydemo (master)
$ ls -s ws-noss/build/libs/ws-netflix-oss_1.0.0.esa
5727 ws-noss/build/libs/ws-netflix-oss_1.0.0.esa
https://github.com/WASdev/sample.netflixoss.wlp
© 2015 IBM Corporation39
dcurrie@shotover /d/libertydemo/wlp (master)
$ featureManager install netflixoss.wlp_1.0.0.esa
server.xml
<featureManager>
<feature>jsp-2.2</feature>
<feature>usr:netflixoss.wlp</feature>
</featureManager>
© 2015 IBM Corporation40
DynamicLongProperty timeToWait =
DynamicPropertyFactory.getInstance().
getLongProperty(“mywebapp.lock.waitTime", 1000);
timeToWait.get();
<archaius>
<myWebapp><lock><waitTime>500</waitTime></lock></myWebapp>
</archaius>
server.xml
© 2015 IBM Corporation41
public class MyCommand extends HystrixCommand<String> {
protected String run() { // remote call }
protected String getFallback() { // local fallback }
}
String result = new MyCommand().execute();
<hystrix>
<command><MyCommand>
<execution><isolation><thread>
<timeoutInMilliseconds>10000</timeoutInMilliseconds>
</thread></isolation></execution>
</MyCommand></command>
</hystrix>
server.xml
© 2015 IBM Corporation
IBM Bluemix
Builds on a polyglot Platform-as-a-Service
© 2015 IBM Corporation
IBM Bluemix
Security
Services
Web and
application
services
Cloud
Integration
Services
Mobile
Services
Database
services
Big Data
services
Internet of
Things
Services
Watson
Services
DevOps
Services
IBM,
Third Party
and Community
Services
© 2015 IBM Corporation
IBM Bluemix
Private registry +
Hosted Docker runtime
© 2015 IBM Corporation45
© 2015 IBM Corporation
Winner will be found at IBM’s booth
4th of February at 15.00
Sign up here: ibm.biz/bluemix-jfokus
Meet IBM at Jfokus!
© 2015 IBM Corporation
© 2015 IBM Corporation
IBM Global Entrepreneur offer Startups resources including free software and technical
experts, exposure to 600+ expert mentors, plus access to a global network of clients.
Also eligible startups can apply for getting between 1 K USD to 10 K USD a month
credits for 12 months on their Softlayer and/or Bluemix account
IBM Global Entrepreneur Program
Sign up here: ibm.com/isv/startup
IBM Global Entrepreneur Program
for Cloud Startups – apply for credits
Sign up here: ibm.biz/CloudStartup
IBM Analytics Starter Program
Sign-up here: ibm.biz/analyticsstarter
© 2015 IBM Corporation
© 2015 IBM Corporation
Copyright and Trademarks
© IBM Corporation 2015. All Rights Reserved.
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International
Business Machines Corp., and registered in many jurisdictions worldwide.
Other product and service names might be trademarks of IBM or other companies.
A current list of IBM trademarks is available on the Web – see the IBM “Copyright and
trademark information” page at URL: www.ibm.com/legal/copytrade.shtml
50

More Related Content

What's hot (20)

PPTX
Docker OpenStack Cloud Foundry
Animesh Singh
 
PPTX
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
PDF
Cloud Foundry Anniversary: Technical Slides
marklucovsky
 
PPTX
Introduction to Microservices and Cloud Native Application Architecture
David Currie
 
PPTX
Optimizing Cloud Foundry and OpenStack for large scale deployments
Animesh Singh
 
PDF
Cloud Foundry Overview
Patrick Chanezon
 
PPTX
Cloud Foundry and OpenStack
vadimspivak
 
PDF
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Animesh Singh
 
PPTX
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Krishna-Kumar
 
KEY
Cloud Foundry Bootcamp
Joshua Long
 
PDF
Containerize, PaaS, or Go Serverless!?
Phil Estes
 
PDF
Cloud Foundry BOSH CPI for OpenStack
Animesh Singh
 
PPTX
PaaSVSContainerization
Seyed Ehsan Beheshtian
 
PDF
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Animesh Singh
 
PDF
Continuous Delivery to Kubernetes with Jenkins and Helm
David Currie
 
PPTX
Cloud Foundry: Hands-on Deployment Workshop
Manuel Garcia
 
PDF
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Matt Stine
 
PDF
Docker 101
Lev Lazinskiy
 
PDF
Run your Java apps on Cloud Foundry
Andy Piper
 
PPT
Java Development on Bluemix
Ram Vennam
 
Docker OpenStack Cloud Foundry
Animesh Singh
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
Cloud Foundry Anniversary: Technical Slides
marklucovsky
 
Introduction to Microservices and Cloud Native Application Architecture
David Currie
 
Optimizing Cloud Foundry and OpenStack for large scale deployments
Animesh Singh
 
Cloud Foundry Overview
Patrick Chanezon
 
Cloud Foundry and OpenStack
vadimspivak
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Animesh Singh
 
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Krishna-Kumar
 
Cloud Foundry Bootcamp
Joshua Long
 
Containerize, PaaS, or Go Serverless!?
Phil Estes
 
Cloud Foundry BOSH CPI for OpenStack
Animesh Singh
 
PaaSVSContainerization
Seyed Ehsan Beheshtian
 
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Animesh Singh
 
Continuous Delivery to Kubernetes with Jenkins and Helm
David Currie
 
Cloud Foundry: Hands-on Deployment Workshop
Manuel Garcia
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Matt Stine
 
Docker 101
Lev Lazinskiy
 
Run your Java apps on Cloud Foundry
Andy Piper
 
Java Development on Bluemix
Ram Vennam
 

Similar to Scalable, Available and Reliable Cloud Applications with PaaS and Microservices (20)

PPTX
Taking the Application Server to Web Scale with Netflix Open Source Software
David Currie
 
PPTX
Adapting Deployment Pipelines for Complex Applications
IBM UrbanCode Products
 
PPT
2109 mobile cloud integrating your mobile workloads with the enterprise
Todd Kaplinger
 
PDF
Mobile to Mainframe - En-to-end transformation
Sanjeev Sharma
 
PDF
Application Development for IBM Connections with IBM Bluemix
Niklas Heidloff
 
PDF
Application Development for IBM Connections with IBM Bluemix
IBM Connections Developers
 
PPT
IBM Impact Session 2351 hybrid apps
nick_garrod
 
PDF
1812 icap-v1.3 0430
Rohit Kelapure
 
PDF
CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...
Hendrik van Run
 
PPTX
S106 using ibm urban code deploy to deliver your apps to cics
nick_garrod
 
PDF
z/VM and OpenStack
OpenStack_Online
 
PDF
Java on zSystems zOS
Tim Ellison
 
PPTX
Cloud Roundtable | Your PaaS to DevOps
Codemotion
 
PDF
IBM Enterprise Social Solutions on Bluemix (XPages and Connections)
Niklas Heidloff
 
PDF
Building Enterprise enabled Cognitive Mobile application for a Hybrid Cloud E...
Vidyasagar Machupalli
 
PDF
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
IBM UrbanCode Products
 
PDF
Data Governance with IBM Streams V4.1
lisanl
 
PPTX
S107 5 compelling reasons for using cics in the cloud
nick_garrod
 
PPTX
Your PaaS to DevOps
Roberto Pozzi
 
PDF
What's New in Toolkits for IBM Streams V4.1
lisanl
 
Taking the Application Server to Web Scale with Netflix Open Source Software
David Currie
 
Adapting Deployment Pipelines for Complex Applications
IBM UrbanCode Products
 
2109 mobile cloud integrating your mobile workloads with the enterprise
Todd Kaplinger
 
Mobile to Mainframe - En-to-end transformation
Sanjeev Sharma
 
Application Development for IBM Connections with IBM Bluemix
Niklas Heidloff
 
Application Development for IBM Connections with IBM Bluemix
IBM Connections Developers
 
IBM Impact Session 2351 hybrid apps
nick_garrod
 
1812 icap-v1.3 0430
Rohit Kelapure
 
CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...
Hendrik van Run
 
S106 using ibm urban code deploy to deliver your apps to cics
nick_garrod
 
z/VM and OpenStack
OpenStack_Online
 
Java on zSystems zOS
Tim Ellison
 
Cloud Roundtable | Your PaaS to DevOps
Codemotion
 
IBM Enterprise Social Solutions on Bluemix (XPages and Connections)
Niklas Heidloff
 
Building Enterprise enabled Cognitive Mobile application for a Hybrid Cloud E...
Vidyasagar Machupalli
 
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
IBM UrbanCode Products
 
Data Governance with IBM Streams V4.1
lisanl
 
S107 5 compelling reasons for using cics in the cloud
nick_garrod
 
Your PaaS to DevOps
Roberto Pozzi
 
What's New in Toolkits for IBM Streams V4.1
lisanl
 
Ad

More from David Currie (6)

PDF
Continuous Delivery to Kubernetes with Jenkins and Helm
David Currie
 
PDF
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
David Currie
 
PDF
How to Containerize WebSphere Application Server Traditional, and Why You Mig...
David Currie
 
PPT
IBM WebSphere Liberty and Docker Deep Dive
David Currie
 
PDF
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
David Currie
 
PDF
Platform as a Service - Cloud Foundry and IBM Bluemix
David Currie
 
Continuous Delivery to Kubernetes with Jenkins and Helm
David Currie
 
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
David Currie
 
How to Containerize WebSphere Application Server Traditional, and Why You Mig...
David Currie
 
IBM WebSphere Liberty and Docker Deep Dive
David Currie
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
David Currie
 
Platform as a Service - Cloud Foundry and IBM Bluemix
David Currie
 
Ad

Recently uploaded (20)

PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
Adobe Premiere Pro Crack / Full Version / Free Download
hashhshs786
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Adobe Premiere Pro Crack / Full Version / Free Download
hashhshs786
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 

Scalable, Available and Reliable Cloud Applications with PaaS and Microservices

  • 1. © 2015 IBM Corporation David Currie – Senior Software Engineer 3rd February 2015 Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
  • 2. © 2015 IBM Corporation Important Disclaimers THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILST EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. ALL PERFORMANCE DATA INCLUDED IN THIS PRESENTATION HAVE BEEN GATHERED IN A CONTROLLED ENVIRONMENT. YOUR OWN TEST RESULTS MAY VARY BASED ON HARDWARE, SOFTWARE OR INFRASTRUCTURE DIFFERENCES. ALL DATA INCLUDED IN THIS PRESENTATION ARE MEANT TO BE USED ONLY AS A GUIDE. IN ADDITION, THE INFORMATION CONTAINED IN THIS PRESENTATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM, WITHOUT NOTICE. IBM AND ITS AFFILIATED COMPANIES SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF: - CREATING ANY WARRANT OR REPRESENTATION FROM IBM, ITS AFFILIATED COMPANIES OR ITS OR THEIR SUPPLIERS AND/OR LICENSORS
  • 3. © 2015 IBM Corporation [email protected] @dcurrie www.slideshare.net/davidcurrie
  • 4. © 2015 IBM Corporation
  • 5. © 2015 IBM Corporation
  • 6. © 2015 IBM Corporation WebSphere Liberty Profile WebSphere eXtreme Scale (WXS) JAX-RS ServletFilter DataService Facade ServiceFacade Data Tier App Specific Caching WXS Client nginx Hybrid Worklight App Browser App jQuery/DOJO jQuery/DOJO nginx IBM Worklight http://bit.ly/ acmeairblog
  • 7. © 2015 IBM Corporation programmableweb.com 2012 4.3 billion API calls/day  Peak Performance and Scale
  • 8. © 2015 IBM Corporation  Operational Visibility
  • 9. © 2015 IBM Corporation  DevOps HA & DR Elastic scaling
  • 10. © 2015 IBM Corporation http://techblog.netflix.com http://netflix.github.io
  • 11. © 2015 IBM Corporation 2012 2013 2014 SPECjEnterprise Acme Air Cloud/Mobile Sample/Benchmark born Sample application cloud prize work Acme Air run on IBM Cloud at “Web Scale” Portability cloud prize work https://github.com/EmergingTechnologyInstitute
  • 12. © 2015 IBM Corporation Monolithic Application
  • 13. © 2015 IBM Corporation Monolithic Application Modularity
  • 14. © 2015 IBM Corporation Monolithic Application Scaling
  • 15. © 2015 IBM Corporation Monolithic Application Failing 
  • 16. © 2015 IBM Corporation Monolithic Application Failing 
  • 17. © 2015 IBM Corporation Monolithic Application Failed  
  • 18. © 2015 IBM Corporation Monolithic Application Update
  • 19. © 2015 IBM Corporation Monolithic Application Revolution
  • 20. © 2015 IBM Corporation Monolithic Application Develop
  • 21. © 2015 IBM Corporation Microservices Application
  • 22. © 2015 IBM Corporation Microservices Application Interactions
  • 23. © 2015 IBM Corporation Microservices Application Scaled
  • 24. © 2015 IBM Corporation Microservices Application Evolution
  • 25. © 2015 IBM Corporation Service Discovery Eureka
  • 26. © 2015 IBM Corporation Service Invocation Ribbon
  • 27. © 2015 IBM Corporation Hope is not a design method “ ”Michael Nygard, Release It!
  • 28. © 2015 IBM Corporation App Container UserRequest Dependency A Dependency B Dependency C Dependency D Dependency F Dependency G Dependency I Dependency J Dependency L Dependency E Dependency H Dependency K Dependency M Dependency N Dependency O
  • 29. © 2015 IBM Corporation UserRequest Dependency A Dependency B Dependency C Dependency D Dependency F Dependency G Dependency I Dependency J Dependency L Dependency E Dependency H Dependency K Dependency M Dependency N Dependency O App ContainerFAILURE!
  • 30. © 2015 IBM Corporation UserRequest Dependency A Dependency B Dependency C Dependency D Dependency F Dependency G Dependency I Dependency J Dependency L Dependency E Dependency H Dependency K Dependency M Dependency N Dependency O UserRequest UserRequest UserRequest UserRequest App Container THREAD STARVATION!
  • 31. © 2015 IBM Corporation UserRequest Dependency A Dependency B Dependency C Dependency D Dependency F Dependency G Dependency I Dependency E Dependency H Dependency A (5 Threads) Dependency B (5 Threads) Dependency C (10 Threads) Dependency D (5 Threads) Dependency E (10 Threads) Dependency F (5 Threads) Dependency G (10 Threads) Dependency H (5 Threads) App Container FAILFAST
  • 32. © 2015 IBM Corporation Circuit Breaker Hystrix https://www.flickr.com/photos/leafbug/409950515 CC-BY-ND 2.0
  • 33. © 2015 IBM Corporation
  • 34. © 2015 IBM Corporation Container Libraries App Property File DB Runtime URL Application DynamicLongProperty timeToWait = DynamicPropertyFactory.getInstance(). getLongProperty(“mywebapp.lock.waitTime", 1000); timeToWait.get(); Dynamic Configuration Archaius
  • 35. © 2015 IBM Corporation Small download Low memory usage Simple configuration Fast start up Easy access Free tooling http://wasdev.net
  • 36. © 2015 IBM Corporation GitHub Cloud Foundry NetflixOSS Zero Turnaround Jenkins Opscode Chef Apache Maven IBM UrbanCode Deploy Gradle Apache Ant IntelliJ IDEA WebSphere Developer Tools Liberty http://wasdev.net http://wasdev.github.io Docker
  • 37. © 2015 IBM Corporation Liberty Core Base, Express ND z/OS Application Manager HTTP TransportFeature Manager clusterMember jpaservlet jsp jsf jndi jdbc sessionDatabasemonitor wab blueprint jaxrs json restConnector osgi.jpa appSecurity ssl localConnector beanValidation ejbLite cdi managedBeans oauth collectiveMember ldapRegistry webCache concurrent wasJmsClient wasJmsServer wasJmsSecurityjmsMdb jaxws wmqJmsClientwsSecurity mongodb jaxb collectiveControllerzosSecurity zosTransaction zosWlm Liberty Features
  • 38. © 2014 IBM Corporation38 dcurrie@shotover /d/libertydemo (master) $ cat > gradle.properties wlpDir=d:/libertydemo/wlp dcurrie@shotover /d/libertydemo (master) $ gradlew build BUILD SUCCESSFUL Total time: 1 mins 4.741 secs dcurrie@shotover /d/libertydemo (master) $ ls -s ws-noss/build/libs/ws-netflix-oss_1.0.0.esa 5727 ws-noss/build/libs/ws-netflix-oss_1.0.0.esa https://github.com/WASdev/sample.netflixoss.wlp
  • 39. © 2015 IBM Corporation39 dcurrie@shotover /d/libertydemo/wlp (master) $ featureManager install netflixoss.wlp_1.0.0.esa server.xml <featureManager> <feature>jsp-2.2</feature> <feature>usr:netflixoss.wlp</feature> </featureManager>
  • 40. © 2015 IBM Corporation40 DynamicLongProperty timeToWait = DynamicPropertyFactory.getInstance(). getLongProperty(“mywebapp.lock.waitTime", 1000); timeToWait.get(); <archaius> <myWebapp><lock><waitTime>500</waitTime></lock></myWebapp> </archaius> server.xml
  • 41. © 2015 IBM Corporation41 public class MyCommand extends HystrixCommand<String> { protected String run() { // remote call } protected String getFallback() { // local fallback } } String result = new MyCommand().execute(); <hystrix> <command><MyCommand> <execution><isolation><thread> <timeoutInMilliseconds>10000</timeoutInMilliseconds> </thread></isolation></execution> </MyCommand></command> </hystrix> server.xml
  • 42. © 2015 IBM Corporation IBM Bluemix Builds on a polyglot Platform-as-a-Service
  • 43. © 2015 IBM Corporation IBM Bluemix Security Services Web and application services Cloud Integration Services Mobile Services Database services Big Data services Internet of Things Services Watson Services DevOps Services IBM, Third Party and Community Services
  • 44. © 2015 IBM Corporation IBM Bluemix Private registry + Hosted Docker runtime
  • 45. © 2015 IBM Corporation45
  • 46. © 2015 IBM Corporation Winner will be found at IBM’s booth 4th of February at 15.00 Sign up here: ibm.biz/bluemix-jfokus Meet IBM at Jfokus!
  • 47. © 2015 IBM Corporation
  • 48. © 2015 IBM Corporation IBM Global Entrepreneur offer Startups resources including free software and technical experts, exposure to 600+ expert mentors, plus access to a global network of clients. Also eligible startups can apply for getting between 1 K USD to 10 K USD a month credits for 12 months on their Softlayer and/or Bluemix account IBM Global Entrepreneur Program Sign up here: ibm.com/isv/startup IBM Global Entrepreneur Program for Cloud Startups – apply for credits Sign up here: ibm.biz/CloudStartup IBM Analytics Starter Program Sign-up here: ibm.biz/analyticsstarter
  • 49. © 2015 IBM Corporation
  • 50. © 2015 IBM Corporation Copyright and Trademarks © IBM Corporation 2015. All Rights Reserved. IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corp., and registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web – see the IBM “Copyright and trademark information” page at URL: www.ibm.com/legal/copytrade.shtml 50