SlideShare ist ein Scribd-Unternehmen logo
1 von 50
© 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

Weitere ähnliche Inhalte

Was ist angesagt?

Optimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deploymentsOptimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deployments
Animesh Singh
 
Cloud Foundry and OpenStack
Cloud Foundry and OpenStackCloud Foundry and OpenStack
Cloud Foundry and OpenStack
vadimspivak
 
Cloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStackCloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStack
Animesh Singh
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Matt Stine
 

Was ist angesagt? (20)

Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud Foundry
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
Cloud Foundry Anniversary: Technical Slides
Cloud Foundry Anniversary: Technical Slides Cloud Foundry Anniversary: Technical Slides
Cloud Foundry Anniversary: Technical Slides
 
Introduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application ArchitectureIntroduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application Architecture
 
Optimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deploymentsOptimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deployments
 
Cloud Foundry Overview
Cloud Foundry OverviewCloud Foundry Overview
Cloud Foundry Overview
 
Cloud Foundry and OpenStack
Cloud Foundry and OpenStackCloud Foundry and OpenStack
Cloud Foundry and OpenStack
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
 
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetupCloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
 
Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry Bootcamp
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?
 
Cloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStackCloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStack
 
PaaSVSContainerization
PaaSVSContainerizationPaaSVSContainerization
PaaSVSContainerization
 
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
 
Continuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmContinuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and Helm
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
 
Docker 101
Docker 101Docker 101
Docker 101
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud Foundry
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on Bluemix
 

Ähnlich wie Scalable, Available and Reliable Cloud Applications with PaaS and Microservices

2109 mobile cloud integrating your mobile workloads with the enterprise
2109 mobile cloud  integrating your mobile workloads with the enterprise2109 mobile cloud  integrating your mobile workloads with the enterprise
2109 mobile cloud integrating your mobile workloads with the enterprise
Todd Kaplinger
 

Ähnlich wie Scalable, Available and Reliable Cloud Applications with PaaS and Microservices (20)

Taking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source SoftwareTaking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source Software
 
Adapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex ApplicationsAdapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex Applications
 
2109 mobile cloud integrating your mobile workloads with the enterprise
2109 mobile cloud  integrating your mobile workloads with the enterprise2109 mobile cloud  integrating your mobile workloads with the enterprise
2109 mobile cloud integrating your mobile workloads with the enterprise
 
Mobile to Mainframe - En-to-end transformation
Mobile to Mainframe - En-to-end transformationMobile to Mainframe - En-to-end transformation
Mobile to Mainframe - En-to-end transformation
 
Application Development for IBM Connections with IBM Bluemix
Application Development  for IBM Connections with IBM BluemixApplication Development  for IBM Connections with IBM Bluemix
Application Development for IBM Connections with IBM Bluemix
 
Application Development for IBM Connections with IBM Bluemix
Application Development  for IBM Connections with IBM BluemixApplication Development  for IBM Connections with IBM Bluemix
Application Development for IBM Connections with IBM Bluemix
 
IBM Impact Session 2351 hybrid apps
IBM Impact Session 2351 hybrid appsIBM Impact Session 2351 hybrid apps
IBM Impact Session 2351 hybrid apps
 
1812 icap-v1.3 0430
1812 icap-v1.3 04301812 icap-v1.3 0430
1812 icap-v1.3 0430
 
CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...
CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...
CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...
 
S106 using ibm urban code deploy to deliver your apps to cics
S106 using ibm urban code deploy to deliver your apps to cicsS106 using ibm urban code deploy to deliver your apps to cics
S106 using ibm urban code deploy to deliver your apps to cics
 
Delivering infrastructure, security, and operations as code - DEM06 - Santa C...
Delivering infrastructure, security, and operations as code - DEM06 - Santa C...Delivering infrastructure, security, and operations as code - DEM06 - Santa C...
Delivering infrastructure, security, and operations as code - DEM06 - Santa C...
 
z/VM and OpenStack
z/VM and OpenStackz/VM and OpenStack
z/VM and OpenStack
 
Java on zSystems zOS
Java on zSystems zOSJava on zSystems zOS
Java on zSystems zOS
 
Cloud Roundtable | Your PaaS to DevOps
Cloud Roundtable | Your PaaS to DevOpsCloud Roundtable | Your PaaS to DevOps
Cloud Roundtable | Your PaaS to DevOps
 
IBM Enterprise Social Solutions on Bluemix (XPages and Connections)
IBM Enterprise Social Solutions  on Bluemix (XPages and Connections)IBM Enterprise Social Solutions  on Bluemix (XPages and Connections)
IBM Enterprise Social Solutions on Bluemix (XPages and Connections)
 
Building Enterprise enabled Cognitive Mobile application for a Hybrid Cloud E...
Building Enterprise enabled Cognitive Mobile application for a Hybrid Cloud E...Building Enterprise enabled Cognitive Mobile application for a Hybrid Cloud E...
Building Enterprise enabled Cognitive Mobile application for a Hybrid Cloud E...
 
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with BluemixAdopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
 
Data Governance with IBM Streams V4.1
Data Governance with IBM Streams V4.1Data Governance with IBM Streams V4.1
Data Governance with IBM Streams V4.1
 
S107 5 compelling reasons for using cics in the cloud
S107 5 compelling reasons for using cics in the cloudS107 5 compelling reasons for using cics in the cloud
S107 5 compelling reasons for using cics in the cloud
 
Your PaaS to DevOps
Your PaaS to DevOpsYour PaaS to DevOps
Your PaaS to DevOps
 

Mehr von David Currie

Mehr von David Currie (6)

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

Kürzlich hochgeladen

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Kürzlich hochgeladen (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%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
 
%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
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
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 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
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%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
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 

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 david_currie@uk.ibm.com @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