SlideShare a Scribd company logo
Migrating a Monolithic App to
Microservices on Cloud Foundry
Brian K. Martin, Bluemix Architect, @bkmartin
Tony Erwin, Bluemix UI Architect, @tonyerwin
Agenda
•  Introduction to the Bluemix UI
•  Bluemix UI Microservices Architecture
•  Features for Cloud Foundry to Support
Microservices
@bkmartin @tonyerwin
Agenda
•  Introduction to the Bluemix UI
•  Bluemix UI Microservices Architecture
•  Features for Cloud Foundry to Support
Microservices
@bkmartin @tonyerwin
IBM Bluemix
•  IBM Bluemix:
–  Open-standards, cloud platform for building,
running, and managing apps
–  PaaS layer built on CloudFoundry
•  Bluemix UI is the front-end, providing an
alternative to the CF command line
Bluemix UI
Home
Solutions (Marketing)
Pricing
Dashboard
Catalog
Orgs/Spaces
Bluemix UI Monolith
•  Single-page application (SPA) to provide
desktop-like experience in the browser
•  All HTML, CSS, and JavaScript loaded within
single web page and served from a single Java
app
•  State-of-the-art not all that long ago
–  Dojo + J2EE was the most common stack in IBM
when Bluemix UI dev started
–  SPA still popular (AngularJS, Ember.js etc.)
Monolithic Architecture
Home	
   Solu)ons	
   Catalog	
   Dashboard	
   Pricing	
  
Orgs/	
  
Spaces	
  
CF	
  Cloud	
  Controller	
  (and	
  other	
  APIs)	
  
SQL	
  DB	
  
Bluemix	
  UI	
  Server	
  	
  
(Java)	
  
Bluemix UI (Client)
Bluemix PaaS
Challenges of Monolith
•  How can we improve performance?
–  Volume of client-side requests create bottlenecks
•  How do we integrate code from other teams
using different stacks?
•  How can we push smaller changes as they are
ready?
•  Where do we find developers with Dojo
experience?
•  How can we improve SEO?
Agenda
•  Introduction to the Bluemix UI
•  Bluemix UI Microservices Architecture
•  Features for Cloud Foundry to Support
Microservices
@bkmartin @tonyerwin
Promises of Microservices
•  Aids migration to more modern, lighter-weight stack without starting over
•  Improves performance and developer productivity
–  Small services optimized for speed and page size
•  Use simplest approach that works
•  Bare bones HTML, CSS, JS
•  Node.js w/ Dust.js server-side templates
–  Easier to find answers on Google, easier to find skilled developers
•  Allows more regular updates as loosely-coupled services can deploy at their
own schedule
–  Teams use stack of their choosing
–  Teams don’t have to wait on others
•  Leads to improved SEO
–  Proxy facilitates “clean” URLs
–  Server side generation results in crawlable content
•  Improves cross-team UI consistency via microservice composition
Phase 1
Solu)ons	
  
Catalog	
   Dashboard	
   Pricing	
  
Orgs/	
  
Spaces	
  
CF	
  Cloud	
  Controller	
  (and	
  other	
  APIs)	
  
SQL
DB	
  
Bluemix	
  UI	
  Server	
  	
  
(Monolith)	
  
Bluemix UI (Client)
Bluemix PaaS
Proxy	
  
Common	
  
Session	
  
Store	
  
No	
  SQL	
  
Msq	
  
Queue	
  
Monitor	
  
Home	
  
Composition w/ Microservices
header
footer
inline
combined
Common	
  
Home	
  
End Goal
Home	
   Solu)ons	
   Catalog	
   Dashboard	
  Pricing	
  
Orgs/	
  
Spaces	
  
CF	
  Cloud	
  Controller	
  (and	
  other	
  APIs)	
  
Bluemix UI (Client)
Bluemix PaaS
Proxy	
  
Common	
  
Session	
  
Store	
  
No	
  SQL	
  
Msq	
  
Queue	
  
Monitor	
  
New Challenges
•  More moving parts, more complexity
•  Collecting federated status, monitoring
health of the system
•  Seamless navigation with existing monolith
•  Developer skills (need to learn new stack,
but will ultimately be more productive)
•  Blue-green deployments
An Approach for Blue-Green – Just Change Route on
Proxy
Home	
  
home-­‐XXX.bluemix.net	
  
Solu)ons	
  
solu1ons-­‐XXX.bluemix.net	
  
Bluemix	
  UI	
  Server	
  	
  
classic-­‐XXX.bluemix.net	
  
Proxy	
  
Common	
  
common-­‐XXX.bluemix.net	
  
Home	
  
Home-­‐YYY.bluemix.net	
  
Solu)ons	
  
solu1ons-­‐YYY.bluemix.net	
  
Bluemix	
  UI	
  Server	
  	
  
classic-­‐YYY.bluemix.net	
  
Proxy	
  
Common	
  
common-­‐YYY.bluemix.net	
  
Router	
  
console.ng.bluemix.net console-YYY.ng.bluemix.net
Agenda
•  Introduction to the Bluemix UI
•  Bluemix UI Microservices Architecture
•  Features for Cloud Foundry to Support
Microservices
@bkmartin @tonyerwin
Context Path Routing
•  bluemix.net/login ->
login.bluemix.net/login
•  bluemix.net/account ->
account.bluemix.net/account
•  To efficiently share user state and
allow individual microservices to be
updated independently, we need a
built-in ability to bind context paths
to apps and have gorouter routing
Application Versions
•  CF has no formal concept of an application
version
•  Would it be helpful to add a formal concept
of version so that a given application name
can have many versions installed formally
•  Current way
–  myapp-1.0 à myapp-1.1
•  The app name may be constantly changing
which is harder for mgmt, CMDB, etc
Advanced Routing Policies
•  When rolling out new versions of
microservices how can you control
which users are routed to the new
version?
•  Advanced routing policies could
allow policies like random selection of
a percentage of the popultion,
specific user groups, etc
“Private” Applications
•  An ability to hide microservices
applications from public routing
•  Applications to be declared public or
private
•  SDN for a space or org
•  How to authenticate/grant access for
routing
Composite Applications
•  What if you want to understand the health
and status of your complete microservice
based application?
•  A composite application could allow
applications to be grouped for status and
control (the latter seeming less useful)
•  Could simplify blue-green deployment if
multiple functions could be selected
simultaneously
Service Registry
•  Need a new way to discover the
active endpoints for the
microservices rather then hard coded
paths and/or application names
•  Service registry should have live
status to allow fast failover to
alternative services
Performance and Monitoring
•  When your application is broken into
many components, monitoring the
performance and response time of each
component becomes even more
important to diagnose problems
•  Common dashboards that can
aggregate stats from many applications
are required
Log Analysis for Problems
•  Common log aggregation platforms
(ELK) solve most of the problem but
it has been hard to correlate across
applications for a given user
•  Solution: use common correlators
across your microservices to track
individual users
Testing
•  How to insure compatibility of
microservices as they are being
deployed
•  Integrated to your CI/CD pipeline, but
is there anything else that could be
done?
IBM Bluemix
Free 30 day trial at http://www.bluemix.net
Email: bkmartin@us.ibm.com
Twitter: @bkmartin
Email: aerwin@us.ibm.com
Twitter: @tonyerwin

More Related Content

PPT
What's new in Rational Synergy 7.1
Manageware
 
PPTX
InterConnect 2017 HBP-2884-IBM BPM upgrade and migration made easy
Brian Petrini
 
PDF
Liberty dynacache ffw_iea_ste
Rohit Kelapure
 
PPTX
Version control softwares
Nicholas Rutzen
 
PDF
A Deep Dive into the Liberty Buildpack on IBM BlueMix
Rohit Kelapure
 
PDF
Voxeo Summit Day 2 -What's new in CXP 14
Voxeo Corp
 
DOC
DistributedMediaApplicationProject
Lakshmi Sreejith
 
PPTX
Voxeo Summit Day 2 - Voxeo CXP - IVR on Steroids
Voxeo Corp
 
What's new in Rational Synergy 7.1
Manageware
 
InterConnect 2017 HBP-2884-IBM BPM upgrade and migration made easy
Brian Petrini
 
Liberty dynacache ffw_iea_ste
Rohit Kelapure
 
Version control softwares
Nicholas Rutzen
 
A Deep Dive into the Liberty Buildpack on IBM BlueMix
Rohit Kelapure
 
Voxeo Summit Day 2 -What's new in CXP 14
Voxeo Corp
 
DistributedMediaApplicationProject
Lakshmi Sreejith
 
Voxeo Summit Day 2 - Voxeo CXP - IVR on Steroids
Voxeo Corp
 

What's hot (20)

PDF
1812 icap-v1.3 0430
Rohit Kelapure
 
PPTX
Bridge SPE: An Introduction
ForgeRock
 
PPTX
ONLYOFFICE - A Collaboration Tool
Kien Nguyen
 
PDF
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Jack-Junjie Cai
 
PDF
App42 PaaS - Application Hosting Platform
Pravin Mishra
 
PDF
Patterns&Practices-Errai
hbraun
 
PDF
IBM InterConnect 2015 - IIB in the Cloud
Andrew Coleman
 
PPTX
Mule management console
Shanky Gupta
 
PPTX
GWC : MQ Light - from monolith to Microservices for speed and scale
achatt83
 
PDF
Hia 1693-effective application-development_in_iib
Andrew Coleman
 
PPTX
1.3 prepare for self service-final
Paulo Freitas
 
PDF
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
mfrancis
 
PDF
Hia 1689-techinical introduction-to_iib
Andrew Coleman
 
PPTX
Improving end user experience using ManageEngine Applications Manager
ManageEngine, Zoho Corporation
 
PPTX
VAS - VMware CMP
Mohamed El Shorbagy ☁☁☁
 
PPT
#1922 rest-push2 ap-im-v6
Jack Carnes
 
PDF
J2EE Technology Mapping-21-may-2014
Nguyen Tung
 
PDF
VMware - Application Portability
VMUG IT
 
PDF
WordPress Workflows
Phill Brown
 
PDF
IBM WebSphere application server
IBM Sverige
 
1812 icap-v1.3 0430
Rohit Kelapure
 
Bridge SPE: An Introduction
ForgeRock
 
ONLYOFFICE - A Collaboration Tool
Kien Nguyen
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Jack-Junjie Cai
 
App42 PaaS - Application Hosting Platform
Pravin Mishra
 
Patterns&Practices-Errai
hbraun
 
IBM InterConnect 2015 - IIB in the Cloud
Andrew Coleman
 
Mule management console
Shanky Gupta
 
GWC : MQ Light - from monolith to Microservices for speed and scale
achatt83
 
Hia 1693-effective application-development_in_iib
Andrew Coleman
 
1.3 prepare for self service-final
Paulo Freitas
 
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
mfrancis
 
Hia 1689-techinical introduction-to_iib
Andrew Coleman
 
Improving end user experience using ManageEngine Applications Manager
ManageEngine, Zoho Corporation
 
#1922 rest-push2 ap-im-v6
Jack Carnes
 
J2EE Technology Mapping-21-may-2014
Nguyen Tung
 
VMware - Application Portability
VMUG IT
 
WordPress Workflows
Phill Brown
 
IBM WebSphere application server
IBM Sverige
 
Ad

Viewers also liked (20)

PPTX
Microservices and modern backends - Azure Meetup Frankfurt
Damir Dobric
 
PPTX
A High-Performance Solution To Microservices UI Composition
Alexey Gravanov
 
PPTX
Building a Web Frontend with Microservices and NGINX Plus
NGINX, Inc.
 
PDF
Building microservices web application using scala & akka
Binh Nguyen
 
PPTX
Intro To Node.js
Chris Cowan
 
PDF
Webconf nodejs-production-architecture
Ben Lin
 
PDF
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
NodejsFoundation
 
PPTX
An Unexpected Solution to Microservices UI Composition
Dr. Arif Wider
 
PDF
Developing applications with a microservice architecture (svcc)
Chris Richardson
 
PDF
Azure Microservices in Practice - Radu Vunvulea
ITCamp
 
PDF
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
DataStax Academy
 
PPTX
Azure Service Fabric Overview
João Pedro Martins
 
PDF
Going Reactive in the Land of No
Lightbend
 
PDF
Modern UI Development With Node.js
Ryan Anklam
 
KEY
Enterprise Architectures with Ruby (and Rails)
Konstantin Gredeskoul
 
PDF
Anatomy of a Modern Node.js Application Architecture
AppDynamics
 
PDF
MicroService Architecture
Fred George
 
PDF
Node Foundation Membership Overview 20160907
NodejsFoundation
 
PDF
Journey to the Modern App with Containers, Microservices and Big Data
Lightbend
 
PPTX
Exploring microservices in a Microsoft landscape
Alex Thissen
 
Microservices and modern backends - Azure Meetup Frankfurt
Damir Dobric
 
A High-Performance Solution To Microservices UI Composition
Alexey Gravanov
 
Building a Web Frontend with Microservices and NGINX Plus
NGINX, Inc.
 
Building microservices web application using scala & akka
Binh Nguyen
 
Intro To Node.js
Chris Cowan
 
Webconf nodejs-production-architecture
Ben Lin
 
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
NodejsFoundation
 
An Unexpected Solution to Microservices UI Composition
Dr. Arif Wider
 
Developing applications with a microservice architecture (svcc)
Chris Richardson
 
Azure Microservices in Practice - Radu Vunvulea
ITCamp
 
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
DataStax Academy
 
Azure Service Fabric Overview
João Pedro Martins
 
Going Reactive in the Land of No
Lightbend
 
Modern UI Development With Node.js
Ryan Anklam
 
Enterprise Architectures with Ruby (and Rails)
Konstantin Gredeskoul
 
Anatomy of a Modern Node.js Application Architecture
AppDynamics
 
MicroService Architecture
Fred George
 
Node Foundation Membership Overview 20160907
NodejsFoundation
 
Journey to the Modern App with Containers, Microservices and Big Data
Lightbend
 
Exploring microservices in a Microsoft landscape
Alex Thissen
 
Ad

Similar to Migrating a Monolithic App to Microservices on Cloud Foundry (20)

PDF
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
Tony Erwin
 
PDF
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
Tony Erwin
 
PPTX
Introduction to Microservices and Cloud Native Application Architecture
David Currie
 
PPTX
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
PDF
Getting Started with Cloud Foundry on Bluemix
Dev_Events
 
PDF
Getting Started with Cloud Foundry on Bluemix
Jake Peyser
 
PDF
Getting Started with Cloud Foundry on Bluemix
Paula Peña (She, Her, Hers)
 
PDF
Get over the Cloud with Bluemix
Codemotion
 
PPTX
Developer Nirvana with IBM Bluemix™
IBM
 
PPTX
fiu-cloud-hackathon-lec1-v6
Kirill Osipov
 
PDF
IBM Bluemix™ Architecture & Deep Dive
IBM
 
PPTX
Microservices and IBM Bluemix meetup presentation
Carlos Ferreira
 
PDF
Cloud Foundry and MongoDB
Jake Peyser
 
PDF
Integrating MongoDB into Cloud Foundry App
IBM
 
PDF
IBM Lightning Talk
MongoDB
 
PPTX
Boston Bluemix Meetup 5/15/14
Ryan Baxter
 
PPTX
Achieving Developer Nirvana With Codename: BlueMix
Ryan Baxter
 
PDF
IBM BlueMix Architecture and Deep Dive (Powered by CloudFoundry)
Animesh Singh
 
PPTX
FIU cloud-hackathon-lec1
Kirill Osipov
 
PPTX
Best Practices Building Cloud Scale Apps with Microservices
Jim (张建军) Zhang
 
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
Tony Erwin
 
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
Tony Erwin
 
Introduction to Microservices and Cloud Native Application Architecture
David Currie
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
Getting Started with Cloud Foundry on Bluemix
Dev_Events
 
Getting Started with Cloud Foundry on Bluemix
Jake Peyser
 
Getting Started with Cloud Foundry on Bluemix
Paula Peña (She, Her, Hers)
 
Get over the Cloud with Bluemix
Codemotion
 
Developer Nirvana with IBM Bluemix™
IBM
 
fiu-cloud-hackathon-lec1-v6
Kirill Osipov
 
IBM Bluemix™ Architecture & Deep Dive
IBM
 
Microservices and IBM Bluemix meetup presentation
Carlos Ferreira
 
Cloud Foundry and MongoDB
Jake Peyser
 
Integrating MongoDB into Cloud Foundry App
IBM
 
IBM Lightning Talk
MongoDB
 
Boston Bluemix Meetup 5/15/14
Ryan Baxter
 
Achieving Developer Nirvana With Codename: BlueMix
Ryan Baxter
 
IBM BlueMix Architecture and Deep Dive (Powered by CloudFoundry)
Animesh Singh
 
FIU cloud-hackathon-lec1
Kirill Osipov
 
Best Practices Building Cloud Scale Apps with Microservices
Jim (张建军) Zhang
 

Recently uploaded (20)

PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PPTX
Presentation about variables and constant.pptx
safalsingh810
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PPTX
Smart Panchayat Raj e-Governance App.pptx
Rohitnikam33
 
PDF
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 
PDF
Become an Agentblazer Champion Challenge Kickoff
Dele Amefo
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PDF
Wondershare Filmora 14.5.20.12999 Crack Full New Version 2025
gsgssg2211
 
PPTX
TestNG for Java Testing and Automation testing
ssuser0213cb
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PPTX
oapresentation.pptx
mehatdhavalrajubhai
 
PDF
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
PDF
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
QAware GmbH
 
PDF
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
Presentation about variables and constant.pptx
safalsingh810
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Smart Panchayat Raj e-Governance App.pptx
Rohitnikam33
 
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 
Become an Agentblazer Champion Challenge Kickoff
Dele Amefo
 
Exploring AI Agents in Process Industries
amoreira6
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
Wondershare Filmora 14.5.20.12999 Crack Full New Version 2025
gsgssg2211
 
TestNG for Java Testing and Automation testing
ssuser0213cb
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
oapresentation.pptx
mehatdhavalrajubhai
 
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
QAware GmbH
 
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 

Migrating a Monolithic App to Microservices on Cloud Foundry

  • 1. Migrating a Monolithic App to Microservices on Cloud Foundry Brian K. Martin, Bluemix Architect, @bkmartin Tony Erwin, Bluemix UI Architect, @tonyerwin
  • 2. Agenda •  Introduction to the Bluemix UI •  Bluemix UI Microservices Architecture •  Features for Cloud Foundry to Support Microservices @bkmartin @tonyerwin
  • 3. Agenda •  Introduction to the Bluemix UI •  Bluemix UI Microservices Architecture •  Features for Cloud Foundry to Support Microservices @bkmartin @tonyerwin
  • 4. IBM Bluemix •  IBM Bluemix: –  Open-standards, cloud platform for building, running, and managing apps –  PaaS layer built on CloudFoundry •  Bluemix UI is the front-end, providing an alternative to the CF command line
  • 6. Bluemix UI Monolith •  Single-page application (SPA) to provide desktop-like experience in the browser •  All HTML, CSS, and JavaScript loaded within single web page and served from a single Java app •  State-of-the-art not all that long ago –  Dojo + J2EE was the most common stack in IBM when Bluemix UI dev started –  SPA still popular (AngularJS, Ember.js etc.)
  • 7. Monolithic Architecture Home   Solu)ons   Catalog   Dashboard   Pricing   Orgs/   Spaces   CF  Cloud  Controller  (and  other  APIs)   SQL  DB   Bluemix  UI  Server     (Java)   Bluemix UI (Client) Bluemix PaaS
  • 8. Challenges of Monolith •  How can we improve performance? –  Volume of client-side requests create bottlenecks •  How do we integrate code from other teams using different stacks? •  How can we push smaller changes as they are ready? •  Where do we find developers with Dojo experience? •  How can we improve SEO?
  • 9. Agenda •  Introduction to the Bluemix UI •  Bluemix UI Microservices Architecture •  Features for Cloud Foundry to Support Microservices @bkmartin @tonyerwin
  • 10. Promises of Microservices •  Aids migration to more modern, lighter-weight stack without starting over •  Improves performance and developer productivity –  Small services optimized for speed and page size •  Use simplest approach that works •  Bare bones HTML, CSS, JS •  Node.js w/ Dust.js server-side templates –  Easier to find answers on Google, easier to find skilled developers •  Allows more regular updates as loosely-coupled services can deploy at their own schedule –  Teams use stack of their choosing –  Teams don’t have to wait on others •  Leads to improved SEO –  Proxy facilitates “clean” URLs –  Server side generation results in crawlable content •  Improves cross-team UI consistency via microservice composition
  • 11. Phase 1 Solu)ons   Catalog   Dashboard   Pricing   Orgs/   Spaces   CF  Cloud  Controller  (and  other  APIs)   SQL DB   Bluemix  UI  Server     (Monolith)   Bluemix UI (Client) Bluemix PaaS Proxy   Common   Session   Store   No  SQL   Msq   Queue   Monitor   Home  
  • 13. End Goal Home   Solu)ons   Catalog   Dashboard  Pricing   Orgs/   Spaces   CF  Cloud  Controller  (and  other  APIs)   Bluemix UI (Client) Bluemix PaaS Proxy   Common   Session   Store   No  SQL   Msq   Queue   Monitor  
  • 14. New Challenges •  More moving parts, more complexity •  Collecting federated status, monitoring health of the system •  Seamless navigation with existing monolith •  Developer skills (need to learn new stack, but will ultimately be more productive) •  Blue-green deployments
  • 15. An Approach for Blue-Green – Just Change Route on Proxy Home   home-­‐XXX.bluemix.net   Solu)ons   solu1ons-­‐XXX.bluemix.net   Bluemix  UI  Server     classic-­‐XXX.bluemix.net   Proxy   Common   common-­‐XXX.bluemix.net   Home   Home-­‐YYY.bluemix.net   Solu)ons   solu1ons-­‐YYY.bluemix.net   Bluemix  UI  Server     classic-­‐YYY.bluemix.net   Proxy   Common   common-­‐YYY.bluemix.net   Router   console.ng.bluemix.net console-YYY.ng.bluemix.net
  • 16. Agenda •  Introduction to the Bluemix UI •  Bluemix UI Microservices Architecture •  Features for Cloud Foundry to Support Microservices @bkmartin @tonyerwin
  • 17. Context Path Routing •  bluemix.net/login -> login.bluemix.net/login •  bluemix.net/account -> account.bluemix.net/account •  To efficiently share user state and allow individual microservices to be updated independently, we need a built-in ability to bind context paths to apps and have gorouter routing
  • 18. Application Versions •  CF has no formal concept of an application version •  Would it be helpful to add a formal concept of version so that a given application name can have many versions installed formally •  Current way –  myapp-1.0 à myapp-1.1 •  The app name may be constantly changing which is harder for mgmt, CMDB, etc
  • 19. Advanced Routing Policies •  When rolling out new versions of microservices how can you control which users are routed to the new version? •  Advanced routing policies could allow policies like random selection of a percentage of the popultion, specific user groups, etc
  • 20. “Private” Applications •  An ability to hide microservices applications from public routing •  Applications to be declared public or private •  SDN for a space or org •  How to authenticate/grant access for routing
  • 21. Composite Applications •  What if you want to understand the health and status of your complete microservice based application? •  A composite application could allow applications to be grouped for status and control (the latter seeming less useful) •  Could simplify blue-green deployment if multiple functions could be selected simultaneously
  • 22. Service Registry •  Need a new way to discover the active endpoints for the microservices rather then hard coded paths and/or application names •  Service registry should have live status to allow fast failover to alternative services
  • 23. Performance and Monitoring •  When your application is broken into many components, monitoring the performance and response time of each component becomes even more important to diagnose problems •  Common dashboards that can aggregate stats from many applications are required
  • 24. Log Analysis for Problems •  Common log aggregation platforms (ELK) solve most of the problem but it has been hard to correlate across applications for a given user •  Solution: use common correlators across your microservices to track individual users
  • 25. Testing •  How to insure compatibility of microservices as they are being deployed •  Integrated to your CI/CD pipeline, but is there anything else that could be done?
  • 26. IBM Bluemix Free 30 day trial at http://www.bluemix.net Email: [email protected] Twitter: @bkmartin Email: [email protected] Twitter: @tonyerwin