SlideShare a Scribd company logo
Building Highly Scalable Applications 
With Bluemix 
By: Ryan Baxter 
@ryanjbaxter 
08/19/2014
What is Bluemix? 
1 
Bluemix is a cloud-based 
platform for 
building, managing, 
and running 
applications of all 
types.
What does it mean to be scalable? 
Applications are considered scalable when additional 
instances can be added to accommodate a growing 
workload. 
2
By Scaling We Are Trying To Avoid This 
3
How Did We Solve This Problem 
Before? 
4
Scaling Horizontally Is Cheaper 
5
We End Up With Something Like This 
6 
Load 
Balancer
Scalability cannot be an after-thought. 
7
Lessen The Load 
 Load is the reason for scaling 
 We can lessen the load by diverting requests 
elsewhere 
 Use a content-delivery-network (CDN) for static 
resources 
 Libraries like JQuery, Bootstrap, etc can be delivered to clients 
more efficiently via a CDN while at the same time lessening 
the work of your app server 
 You can even put custom libraries on a CDN if it makes sense 
 Make everything you can cacheable!!! 
8
Does this application scale? 
9 
Client Side 
Code 
App 
REST APIs 
Search 
Twitter 
Streams 
DBaaS
Is this really better? 
10 
App 
My App 1 
DBaaS 
Client Side 
Code 
REST APIs 
Twitter Streams 
Search 
Load 
Balancer 
App N 
My App 1 
Client Side 
Code 
REST APIs 
Twitter Streams 
Search
Smaller Is Better 
11 
App 
Client Side Code 
REST APIs 
Twitter App 
Twitter Streams 
Search App 
Search 
DBaaS
Scaling The Web App 
12 
Twitter App 
Twitter Streams 
App N 
Client Side Code 
REST APIs 
App 
Client Side Code 
REST APIs 
Load 
Balancer 
Search App 
Search 
DBaaS
Pub/Sub To Distribute Data 
13 
Client Side Code 
Pub/Sub 
Twitter App 
Twitter Streams 
App N 
REST APIs 
App 
Client Side Code 
REST APIs 
Load 
Balancer 
DBaaS 
Search Not Shown For Simplicity
What About Search? 
14 
App N 
Client Side Code 
REST APIs 
App 
Load 
Balancer 
Client Side Code 
REST APIs 
Search App 
Search 
DBaaS 
Twitter Not Shown For Simplicity
Does This Make It Better? 
15 
App 
Search App 
Search 
App N 
Client Side Code 
REST APIs 
Load 
Balancer 
Client Side Code 
REST APIs 
Search App N 
Search 
Load Balancer 
DBaaS 
Twitter Not Shown For Simplicity
Lets Use A Queue 
16 
App 
Search Worker 
Search 
App N 
Client Side Code 
REST APIs 
Client Side Code 
REST APIs 
Search Worker N 
Search 
Load 
Balancer 
Search Queue 
DBaaS 
Twitter Not Shown For Simplicity
What About The Database? 
 Our application scales nicely, we have small modular 
components that focus on specific tasks 
 However in some cases we can only respond as fast 
as our database operations perform 
 We can have all the worker threads we want to handle search 
but if the DB is busy they can’t do much. 
17
Use A Caching Service 
18 
App N 
Search Worker 
Search 
DBaaS 
Client Side Code 
REST APIs 
App 
Client Side Code 
REST APIs 
Search Worker N 
Search 
Search Queue 
Data 
Cache 
Pub/Sub 
Twitter App 
Twitter Streams 
Load 
Balancer
Pub/Sub Services 
Caching Services 
19 
Message Queue Services
Storing State Within The Application 
20 
Chat App 
Hi There 
Hi Ryan
Inconsistent State When Scaled 
21 
Chat App 
Hi There 
Chat App N 
Hi Ryan 
Load 
Balancer
Store State In A Common Store 
22 
Chat App 
My Chat App N 
Load 
Balancer 
Data Store 
Hi There 
Hi Ryan 
Chat App N
Auto-Scaling 
 You can manually scale applications using the 
command line or the Bluemix UI 
 Use the auto-scaling service to avoid having to scale 
manually…it’s FREE!!! 
 Works with Java Liberty, Node.js, and Ruby runtimes 
 Java – scale based on CPU, JVM Heap, Memory 
 Node.js – scale based on CPU and Memory 
 Ruby – scale based on Memory 
23
DEMO 
24
Additional Resources 
 http://12factor.net/ - Great rules to follow for building 
scalable cloud applications 
 http://www.amazon.co.uk/Building-Scalable-Web-Sites- 
Henderson/dp/0596102356 - Book on building scalable 
websites 
 http://www.ibm.com/developerworks/cloud/library/cl-bluemix- 
node-redis-app/index.html - dW article on 
BlueChatter App 
 http://developer.ibm.com/bluemix - All things Bluemix 
25
Additional Resources 
 https://www.ibm.com/developerworks/cloud/library/cl-bluemix- 
autoscale/ - Scaling Applications On Bluemix 
 http://www.pivotal.io/platform-as-a-service/cloud-foundry- 
summit-2014 - Talks on microservices which 
are relevant to scalability 
26
Thank you. 
Get Started: www.bluemix.net 
@IBMBluemix 
https://www.facebook.com/ibmbluemix

More Related Content

What's hot

Azure Functions and Dynamics 365
Azure Functions and Dynamics 365Azure Functions and Dynamics 365
Flex And Php 101
Flex And Php 101Flex And Php 101
Flex And Php 101
Kalimulla Kattubadi
 
Brent Wilkins Resume
Brent Wilkins ResumeBrent Wilkins Resume
Brent Wilkins ResumeBrent Wilkins
 
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays
 
Hypermedia APIs – Why, what, how?
Hypermedia APIs – Why, what, how?Hypermedia APIs – Why, what, how?
Hypermedia APIs – Why, what, how?
Vesa Vänskä
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
hasan2000
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
Brian Lyttle
 
GlueCon 2019: Beyond REST - Moving to Event-Based APIs and Streaming
GlueCon 2019: Beyond REST - Moving to Event-Based APIs and StreamingGlueCon 2019: Beyond REST - Moving to Event-Based APIs and Streaming
GlueCon 2019: Beyond REST - Moving to Event-Based APIs and Streaming
LaunchAny
 
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)
Seven Peaks Speaks
 
API Centric Development in PHP
API Centric Development in PHPAPI Centric Development in PHP
API Centric Development in PHPJoe Stagner
 
Developing a SEO friendly CMS from the ground up - Digital Elite Day 19
Developing a SEO friendly CMS from the ground up - Digital Elite Day 19Developing a SEO friendly CMS from the ground up - Digital Elite Day 19
Developing a SEO friendly CMS from the ground up - Digital Elite Day 19
Fabrizio Ballarini
 
Server Side Programming
Server Side Programming Server Side Programming
Server Side Programming
Zac Gordon
 
Dreamwares Corporate Presentation
Dreamwares Corporate PresentationDreamwares Corporate Presentation
Dreamwares Corporate PresentationSarang Jiwane
 
We don’t need no stinkin app server! Building a Two-Tier Mobile App
We don’t need no stinkin app server! Building a Two-Tier Mobile AppWe don’t need no stinkin app server! Building a Two-Tier Mobile App
We don’t need no stinkin app server! Building a Two-Tier Mobile App
Pat Patterson
 
Session 5 google_app_engine
Session 5 google_app_engineSession 5 google_app_engine
Session 5 google_app_engineJeevan Dongre
 

What's hot (18)

Kashif Ghaffar
Kashif GhaffarKashif Ghaffar
Kashif Ghaffar
 
Azure Functions and Dynamics 365
Azure Functions and Dynamics 365Azure Functions and Dynamics 365
Azure Functions and Dynamics 365
 
Flex And Php 101
Flex And Php 101Flex And Php 101
Flex And Php 101
 
Brent Wilkins Resume
Brent Wilkins ResumeBrent Wilkins Resume
Brent Wilkins Resume
 
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
 
Hypermedia APIs – Why, what, how?
Hypermedia APIs – Why, what, how?Hypermedia APIs – Why, what, how?
Hypermedia APIs – Why, what, how?
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
 
GlueCon 2019: Beyond REST - Moving to Event-Based APIs and Streaming
GlueCon 2019: Beyond REST - Moving to Event-Based APIs and StreamingGlueCon 2019: Beyond REST - Moving to Event-Based APIs and Streaming
GlueCon 2019: Beyond REST - Moving to Event-Based APIs and Streaming
 
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)
 
API Centric Development in PHP
API Centric Development in PHPAPI Centric Development in PHP
API Centric Development in PHP
 
Developing a SEO friendly CMS from the ground up - Digital Elite Day 19
Developing a SEO friendly CMS from the ground up - Digital Elite Day 19Developing a SEO friendly CMS from the ground up - Digital Elite Day 19
Developing a SEO friendly CMS from the ground up - Digital Elite Day 19
 
Diagrama 3
Diagrama 3Diagrama 3
Diagrama 3
 
Server Side Programming
Server Side Programming Server Side Programming
Server Side Programming
 
Dreamwares Corporate Presentation
Dreamwares Corporate PresentationDreamwares Corporate Presentation
Dreamwares Corporate Presentation
 
Ttl
TtlTtl
Ttl
 
We don’t need no stinkin app server! Building a Two-Tier Mobile App
We don’t need no stinkin app server! Building a Two-Tier Mobile AppWe don’t need no stinkin app server! Building a Two-Tier Mobile App
We don’t need no stinkin app server! Building a Two-Tier Mobile App
 
Session 5 google_app_engine
Session 5 google_app_engineSession 5 google_app_engine
Session 5 google_app_engine
 

Viewers also liked

Extreme Scenes
Extreme ScenesExtreme Scenes
Extreme Scenes
Mark Deuze
 
PSFK Future Of Wearable Tech Report
PSFK Future Of Wearable Tech ReportPSFK Future Of Wearable Tech Report
PSFK Future Of Wearable Tech Report
PSFK
 
Living Information Public Life
Living Information Public LifeLiving Information Public Life
Living Information Public Life
Mark Deuze
 
Living Information Love Life
Living Information Love LifeLiving Information Love Life
Living Information Love Life
Mark Deuze
 
Living Information Real Life
Living Information Real LifeLiving Information Real Life
Living Information Real Life
Mark Deuze
 
Living information Course Review
Living information Course ReviewLiving information Course Review
Living information Course Review
Mark Deuze
 

Viewers also liked (7)

Extreme Scenes
Extreme ScenesExtreme Scenes
Extreme Scenes
 
HTML 5
HTML 5HTML 5
HTML 5
 
PSFK Future Of Wearable Tech Report
PSFK Future Of Wearable Tech ReportPSFK Future Of Wearable Tech Report
PSFK Future Of Wearable Tech Report
 
Living Information Public Life
Living Information Public LifeLiving Information Public Life
Living Information Public Life
 
Living Information Love Life
Living Information Love LifeLiving Information Love Life
Living Information Love Life
 
Living Information Real Life
Living Information Real LifeLiving Information Real Life
Living Information Real Life
 
Living information Course Review
Living information Course ReviewLiving information Course Review
Living information Course Review
 

Similar to Scalable apps

Building Highly Scalable Apps On Bluemix
Building Highly Scalable Apps On BluemixBuilding Highly Scalable Apps On Bluemix
Building Highly Scalable Apps On Bluemix
Ryan Baxter
 
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
Stephane Beladaci
 
Di api di server b1 ws
Di api di server b1 wsDi api di server b1 ws
Di api di server b1 ws
Abhishek Sur
 
Serverless - State Of the Union
Serverless - State Of the UnionServerless - State Of the Union
Serverless - State Of the Union
Amazon Web Services
 
Practical guide to building public APIs
Practical guide to building public APIsPractical guide to building public APIs
Practical guide to building public APIs
Reda Hmeid MBCS
 
SharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelSharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App Model
James Tramel
 
Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...
Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...
Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...
Polyxer Systems
 
Aws serverless multi-tier_architectures
Aws serverless multi-tier_architecturesAws serverless multi-tier_architectures
Aws serverless multi-tier_architectures
Devthilina Abayaratne
 
React Native Local Database For Super Smart Applications.pdf
React Native Local Database For Super Smart Applications.pdfReact Native Local Database For Super Smart Applications.pdf
React Native Local Database For Super Smart Applications.pdf
Katy Slemon
 
No SQL at The Guardian
No SQL at The GuardianNo SQL at The Guardian
No SQL at The Guardian
Mat Wall
 
Global Logic sMash Overview And Experiences
Global Logic   sMash  Overview And  ExperiencesGlobal Logic   sMash  Overview And  Experiences
Global Logic sMash Overview And Experiences
Project Zero
 
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
AWS Summits
 
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Amazon Web Services
 
Rest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbookRest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbook
Katy Slemon
 
Serverless architectures-with-aws-lambda
Serverless architectures-with-aws-lambdaServerless architectures-with-aws-lambda
Serverless architectures-with-aws-lambda
saifam
 
List of Top Local Databases used for react native app developement in 2022
List of Top Local Databases used for react native app developement in 2022					List of Top Local Databases used for react native app developement in 2022
List of Top Local Databases used for react native app developement in 2022
Shelly Megan
 
NoSql presentation
NoSql presentationNoSql presentation
NoSql presentation
Mat Wall
 
5 Golden Rules to Building APIs
5 Golden Rules to Building APIs5 Golden Rules to Building APIs
5 Golden Rules to Building APIs
Reda Hmeid MBCS
 

Similar to Scalable apps (20)

Building Highly Scalable Apps On Bluemix
Building Highly Scalable Apps On BluemixBuilding Highly Scalable Apps On Bluemix
Building Highly Scalable Apps On Bluemix
 
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
 
Di api di server b1 ws
Di api di server b1 wsDi api di server b1 ws
Di api di server b1 ws
 
Serverless: State Of the Union
Serverless: State Of the UnionServerless: State Of the Union
Serverless: State Of the Union
 
Serverless - State Of the Union
Serverless - State Of the UnionServerless - State Of the Union
Serverless - State Of the Union
 
Practical guide to building public APIs
Practical guide to building public APIsPractical guide to building public APIs
Practical guide to building public APIs
 
SharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelSharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App Model
 
Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...
Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...
Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...
 
Aws serverless multi-tier_architectures
Aws serverless multi-tier_architecturesAws serverless multi-tier_architectures
Aws serverless multi-tier_architectures
 
React Native Local Database For Super Smart Applications.pdf
React Native Local Database For Super Smart Applications.pdfReact Native Local Database For Super Smart Applications.pdf
React Native Local Database For Super Smart Applications.pdf
 
No SQL at The Guardian
No SQL at The GuardianNo SQL at The Guardian
No SQL at The Guardian
 
Global Logic sMash Overview And Experiences
Global Logic   sMash  Overview And  ExperiencesGlobal Logic   sMash  Overview And  Experiences
Global Logic sMash Overview And Experiences
 
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
 
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
 
API.docx
API.docxAPI.docx
API.docx
 
Rest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbookRest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbook
 
Serverless architectures-with-aws-lambda
Serverless architectures-with-aws-lambdaServerless architectures-with-aws-lambda
Serverless architectures-with-aws-lambda
 
List of Top Local Databases used for react native app developement in 2022
List of Top Local Databases used for react native app developement in 2022					List of Top Local Databases used for react native app developement in 2022
List of Top Local Databases used for react native app developement in 2022
 
NoSql presentation
NoSql presentationNoSql presentation
NoSql presentation
 
5 Golden Rules to Building APIs
5 Golden Rules to Building APIs5 Golden Rules to Building APIs
5 Golden Rules to Building APIs
 

More from IBM

Microservices - Choosing the Right Cloud Services and Tools
Microservices - Choosing the Right Cloud Services and ToolsMicroservices - Choosing the Right Cloud Services and Tools
Microservices - Choosing the Right Cloud Services and Tools
IBM
 
Digital Innovation in the Cognitive Era
Digital Innovation in the Cognitive EraDigital Innovation in the Cognitive Era
Digital Innovation in the Cognitive Era
IBM
 
How Bluemix Helps NASA Innovate
How Bluemix Helps NASA InnovateHow Bluemix Helps NASA Innovate
How Bluemix Helps NASA Innovate
IBM
 
IBM RTP Dojo Launch
IBM RTP Dojo LaunchIBM RTP Dojo Launch
IBM RTP Dojo Launch
IBM
 
Using Service Discovery and Service Proxy
Using Service Discovery and Service ProxyUsing Service Discovery and Service Proxy
Using Service Discovery and Service Proxy
IBM
 
IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future
IBM
 
IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote
IBM
 
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond
IBM
 
IBM Relay 2015: Cloud is All About the Customer
IBM Relay 2015: Cloud is All About the Customer IBM Relay 2015: Cloud is All About the Customer
IBM Relay 2015: Cloud is All About the Customer
IBM
 
IBM Relay 2015: Open for Data
IBM Relay 2015: Open for Data IBM Relay 2015: Open for Data
IBM Relay 2015: Open for Data
IBM
 
IBM Relay 2015: Expect More From Private Cloud
IBM Relay 2015: Expect More From Private CloudIBM Relay 2015: Expect More From Private Cloud
IBM Relay 2015: Expect More From Private Cloud
IBM
 
Node on Guard
Node on GuardNode on Guard
Node on Guard
IBM
 
Birmingham Meetup
Birmingham MeetupBirmingham Meetup
Birmingham Meetup
IBM
 
Discover the Linux on z Systems Effect
Discover the Linux on z Systems EffectDiscover the Linux on z Systems Effect
Discover the Linux on z Systems Effect
IBM
 
Exploring the Open Source Linux Ecosystem
Exploring the Open Source Linux EcosystemExploring the Open Source Linux Ecosystem
Exploring the Open Source Linux Ecosystem
IBM
 
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM BluemixOffline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
IBM
 
Open Source Centers of Gravity
Open Source Centers of GravityOpen Source Centers of Gravity
Open Source Centers of Gravity
IBM
 
Meetupslides 150409100501-conversion-gate01
Meetupslides 150409100501-conversion-gate01Meetupslides 150409100501-conversion-gate01
Meetupslides 150409100501-conversion-gate01IBM
 
Integrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry AppIntegrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry App
IBM
 
Building Your Own Watson Powered Application on Bluemix
Building Your Own Watson Powered Application on BluemixBuilding Your Own Watson Powered Application on Bluemix
Building Your Own Watson Powered Application on Bluemix
IBM
 

More from IBM (20)

Microservices - Choosing the Right Cloud Services and Tools
Microservices - Choosing the Right Cloud Services and ToolsMicroservices - Choosing the Right Cloud Services and Tools
Microservices - Choosing the Right Cloud Services and Tools
 
Digital Innovation in the Cognitive Era
Digital Innovation in the Cognitive EraDigital Innovation in the Cognitive Era
Digital Innovation in the Cognitive Era
 
How Bluemix Helps NASA Innovate
How Bluemix Helps NASA InnovateHow Bluemix Helps NASA Innovate
How Bluemix Helps NASA Innovate
 
IBM RTP Dojo Launch
IBM RTP Dojo LaunchIBM RTP Dojo Launch
IBM RTP Dojo Launch
 
Using Service Discovery and Service Proxy
Using Service Discovery and Service ProxyUsing Service Discovery and Service Proxy
Using Service Discovery and Service Proxy
 
IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future
 
IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote
 
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond
 
IBM Relay 2015: Cloud is All About the Customer
IBM Relay 2015: Cloud is All About the Customer IBM Relay 2015: Cloud is All About the Customer
IBM Relay 2015: Cloud is All About the Customer
 
IBM Relay 2015: Open for Data
IBM Relay 2015: Open for Data IBM Relay 2015: Open for Data
IBM Relay 2015: Open for Data
 
IBM Relay 2015: Expect More From Private Cloud
IBM Relay 2015: Expect More From Private CloudIBM Relay 2015: Expect More From Private Cloud
IBM Relay 2015: Expect More From Private Cloud
 
Node on Guard
Node on GuardNode on Guard
Node on Guard
 
Birmingham Meetup
Birmingham MeetupBirmingham Meetup
Birmingham Meetup
 
Discover the Linux on z Systems Effect
Discover the Linux on z Systems EffectDiscover the Linux on z Systems Effect
Discover the Linux on z Systems Effect
 
Exploring the Open Source Linux Ecosystem
Exploring the Open Source Linux EcosystemExploring the Open Source Linux Ecosystem
Exploring the Open Source Linux Ecosystem
 
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM BluemixOffline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
 
Open Source Centers of Gravity
Open Source Centers of GravityOpen Source Centers of Gravity
Open Source Centers of Gravity
 
Meetupslides 150409100501-conversion-gate01
Meetupslides 150409100501-conversion-gate01Meetupslides 150409100501-conversion-gate01
Meetupslides 150409100501-conversion-gate01
 
Integrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry AppIntegrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry App
 
Building Your Own Watson Powered Application on Bluemix
Building Your Own Watson Powered Application on BluemixBuilding Your Own Watson Powered Application on Bluemix
Building Your Own Watson Powered Application on Bluemix
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 

Scalable apps

  • 1. Building Highly Scalable Applications With Bluemix By: Ryan Baxter @ryanjbaxter 08/19/2014
  • 2. What is Bluemix? 1 Bluemix is a cloud-based platform for building, managing, and running applications of all types.
  • 3. What does it mean to be scalable? Applications are considered scalable when additional instances can be added to accommodate a growing workload. 2
  • 4. By Scaling We Are Trying To Avoid This 3
  • 5. How Did We Solve This Problem Before? 4
  • 7. We End Up With Something Like This 6 Load Balancer
  • 8. Scalability cannot be an after-thought. 7
  • 9. Lessen The Load  Load is the reason for scaling  We can lessen the load by diverting requests elsewhere  Use a content-delivery-network (CDN) for static resources  Libraries like JQuery, Bootstrap, etc can be delivered to clients more efficiently via a CDN while at the same time lessening the work of your app server  You can even put custom libraries on a CDN if it makes sense  Make everything you can cacheable!!! 8
  • 10. Does this application scale? 9 Client Side Code App REST APIs Search Twitter Streams DBaaS
  • 11. Is this really better? 10 App My App 1 DBaaS Client Side Code REST APIs Twitter Streams Search Load Balancer App N My App 1 Client Side Code REST APIs Twitter Streams Search
  • 12. Smaller Is Better 11 App Client Side Code REST APIs Twitter App Twitter Streams Search App Search DBaaS
  • 13. Scaling The Web App 12 Twitter App Twitter Streams App N Client Side Code REST APIs App Client Side Code REST APIs Load Balancer Search App Search DBaaS
  • 14. Pub/Sub To Distribute Data 13 Client Side Code Pub/Sub Twitter App Twitter Streams App N REST APIs App Client Side Code REST APIs Load Balancer DBaaS Search Not Shown For Simplicity
  • 15. What About Search? 14 App N Client Side Code REST APIs App Load Balancer Client Side Code REST APIs Search App Search DBaaS Twitter Not Shown For Simplicity
  • 16. Does This Make It Better? 15 App Search App Search App N Client Side Code REST APIs Load Balancer Client Side Code REST APIs Search App N Search Load Balancer DBaaS Twitter Not Shown For Simplicity
  • 17. Lets Use A Queue 16 App Search Worker Search App N Client Side Code REST APIs Client Side Code REST APIs Search Worker N Search Load Balancer Search Queue DBaaS Twitter Not Shown For Simplicity
  • 18. What About The Database?  Our application scales nicely, we have small modular components that focus on specific tasks  However in some cases we can only respond as fast as our database operations perform  We can have all the worker threads we want to handle search but if the DB is busy they can’t do much. 17
  • 19. Use A Caching Service 18 App N Search Worker Search DBaaS Client Side Code REST APIs App Client Side Code REST APIs Search Worker N Search Search Queue Data Cache Pub/Sub Twitter App Twitter Streams Load Balancer
  • 20. Pub/Sub Services Caching Services 19 Message Queue Services
  • 21. Storing State Within The Application 20 Chat App Hi There Hi Ryan
  • 22. Inconsistent State When Scaled 21 Chat App Hi There Chat App N Hi Ryan Load Balancer
  • 23. Store State In A Common Store 22 Chat App My Chat App N Load Balancer Data Store Hi There Hi Ryan Chat App N
  • 24. Auto-Scaling  You can manually scale applications using the command line or the Bluemix UI  Use the auto-scaling service to avoid having to scale manually…it’s FREE!!!  Works with Java Liberty, Node.js, and Ruby runtimes  Java – scale based on CPU, JVM Heap, Memory  Node.js – scale based on CPU and Memory  Ruby – scale based on Memory 23
  • 26. Additional Resources  http://12factor.net/ - Great rules to follow for building scalable cloud applications  http://www.amazon.co.uk/Building-Scalable-Web-Sites- Henderson/dp/0596102356 - Book on building scalable websites  http://www.ibm.com/developerworks/cloud/library/cl-bluemix- node-redis-app/index.html - dW article on BlueChatter App  http://developer.ibm.com/bluemix - All things Bluemix 25
  • 27. Additional Resources  https://www.ibm.com/developerworks/cloud/library/cl-bluemix- autoscale/ - Scaling Applications On Bluemix  http://www.pivotal.io/platform-as-a-service/cloud-foundry- summit-2014 - Talks on microservices which are relevant to scalability 26
  • 28. Thank you. Get Started: www.bluemix.net @IBMBluemix https://www.facebook.com/ibmbluemix

Editor's Notes

  1. Problems: -if one component crashes the entire instance crashes -if one compoent blocks everything else is blocked as well -probably have some data consistancy issues – twitter is streaming data to each instance
  2. If we break the app into individual components we can eliminate some problems -the first one being that if one component crashes everything else can still run, functionality may be decreased but we are not completely lost -can help isolate any data consistence issues when we scale
  3. The most common place you might first look to scale is the client side code and your rest apis. This in theory may be getting the most use. Technically you may want to also separate out rest apis as well. -we now can have a bottleneck in search -twitter streams def has an issue do to load balancer in front
  4. Lets introduce a service to help with twitter, We want all instances to know about the tweets coming in so we can use a pub sub model to help distribute tweets When an instance starts it subscribes to our pub sub service. Our twitter app publishes tweets to the service and the service now distributes them All instances now have the same data and we can add/subtract client side instances at will
  5. Search is also a problem eventualy our search “service” may get bogged down with requests and we have a bottleneck
  6. If we just scale the search app without any changes what may happen? It might make things better, but not really The load balancer infront of the apps is now distributing requests to the instances underneath, who says that is happening efficiently, again we can make all of them busy and completely block the apps above using the service
  7. What is we use a queue instead and have workers which handle doing the searches. Our apps above can put things in the queue and continue on with their work, waiting for responses to the requests they put in the queue. Worked underneath pick requests off the queue do the work and return responses. Now we can scale our worked up and down do to load in the queue