SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Bridge SPE: An Introduction
Bridge SPE: An IntroductionBridge SPE: An Introduction
Bridge SPE: An IntroductionForgeRock
 
ONLYOFFICE - A Collaboration Tool
ONLYOFFICE - A Collaboration ToolONLYOFFICE - A Collaboration Tool
ONLYOFFICE - A Collaboration ToolKien Nguyen
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceDeveloping Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceJack-Junjie Cai
 
App42 PaaS - Application Hosting Platform
App42 PaaS - Application Hosting PlatformApp42 PaaS - Application Hosting Platform
App42 PaaS - Application Hosting PlatformPravin Mishra
 
Patterns&Practices-Errai
Patterns&Practices-ErraiPatterns&Practices-Errai
Patterns&Practices-Erraihbraun
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudAndrew Coleman
 
Mule management console
Mule management consoleMule management console
Mule management consoleShanky Gupta
 
GWC : MQ Light - from monolith to Microservices for speed and scale
GWC : MQ Light - from monolith to Microservices for speed and scaleGWC : MQ Light - from monolith to Microservices for speed and scale
GWC : MQ Light - from monolith to Microservices for speed and scaleachatt83
 
Hia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibHia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibAndrew Coleman
 
1.3 prepare for self service-final
1.3 prepare for self service-final1.3 prepare for self service-final
1.3 prepare for self service-finalPaulo Freitas
 
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...mfrancis
 
Hia 1689-techinical introduction-to_iib
Hia 1689-techinical introduction-to_iibHia 1689-techinical introduction-to_iib
Hia 1689-techinical introduction-to_iibAndrew Coleman
 
Improving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications ManagerImproving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications ManagerManageEngine, Zoho Corporation
 
#1922 rest-push2 ap-im-v6
#1922 rest-push2 ap-im-v6#1922 rest-push2 ap-im-v6
#1922 rest-push2 ap-im-v6Jack Carnes
 
J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014Nguyen Tung
 
VMware - Application Portability
VMware - Application PortabilityVMware - Application Portability
VMware - Application PortabilityVMUG IT
 
WordPress Workflows
WordPress WorkflowsWordPress Workflows
WordPress WorkflowsPhill Brown
 
IBM WebSphere application server
IBM WebSphere application serverIBM WebSphere application server
IBM WebSphere application serverIBM Sverige
 

La actualidad más candente (20)

1812 icap-v1.3 0430
1812 icap-v1.3 04301812 icap-v1.3 0430
1812 icap-v1.3 0430
 
Bridge SPE: An Introduction
Bridge SPE: An IntroductionBridge SPE: An Introduction
Bridge SPE: An Introduction
 
ONLYOFFICE - A Collaboration Tool
ONLYOFFICE - A Collaboration ToolONLYOFFICE - A Collaboration Tool
ONLYOFFICE - A Collaboration Tool
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceDeveloping Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
 
App42 PaaS - Application Hosting Platform
App42 PaaS - Application Hosting PlatformApp42 PaaS - Application Hosting Platform
App42 PaaS - Application Hosting Platform
 
Patterns&Practices-Errai
Patterns&Practices-ErraiPatterns&Practices-Errai
Patterns&Practices-Errai
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the Cloud
 
Mule management console
Mule management consoleMule management console
Mule management console
 
GWC : MQ Light - from monolith to Microservices for speed and scale
GWC : MQ Light - from monolith to Microservices for speed and scaleGWC : MQ Light - from monolith to Microservices for speed and scale
GWC : MQ Light - from monolith to Microservices for speed and scale
 
Hia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibHia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iib
 
1.3 prepare for self service-final
1.3 prepare for self service-final1.3 prepare for self service-final
1.3 prepare for self service-final
 
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
 
Hia 1689-techinical introduction-to_iib
Hia 1689-techinical introduction-to_iibHia 1689-techinical introduction-to_iib
Hia 1689-techinical introduction-to_iib
 
Improving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications ManagerImproving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications Manager
 
VAS - VMware CMP
VAS - VMware CMPVAS - VMware CMP
VAS - VMware CMP
 
#1922 rest-push2 ap-im-v6
#1922 rest-push2 ap-im-v6#1922 rest-push2 ap-im-v6
#1922 rest-push2 ap-im-v6
 
J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014
 
VMware - Application Portability
VMware - Application PortabilityVMware - Application Portability
VMware - Application Portability
 
WordPress Workflows
WordPress WorkflowsWordPress Workflows
WordPress Workflows
 
IBM WebSphere application server
IBM WebSphere application serverIBM WebSphere application server
IBM WebSphere application server
 

Destacado

Microservices and modern backends - Azure Meetup Frankfurt
Microservices and modern backends  - Azure Meetup FrankfurtMicroservices and modern backends  - Azure Meetup Frankfurt
Microservices and modern backends - Azure Meetup FrankfurtDamir Dobric
 
A High-Performance Solution To Microservices UI Composition
A High-Performance Solution To Microservices UI CompositionA High-Performance Solution To Microservices UI Composition
A High-Performance Solution To Microservices UI CompositionAlexey Gravanov
 
Building a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX PlusBuilding a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX PlusNGINX, Inc.
 
Building microservices web application using scala & akka
Building microservices web application using scala & akkaBuilding microservices web application using scala & akka
Building microservices web application using scala & akkaBinh Nguyen
 
Intro To Node.js
Intro To Node.jsIntro To Node.js
Intro To Node.jsChris Cowan
 
Webconf nodejs-production-architecture
Webconf nodejs-production-architectureWebconf nodejs-production-architecture
Webconf nodejs-production-architectureBen Lin
 
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...NodejsFoundation
 
An Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionAn Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionDr. Arif Wider
 
Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Chris Richardson
 
Azure Microservices in Practice - Radu Vunvulea
Azure Microservices in Practice - Radu VunvuleaAzure Microservices in Practice - Radu Vunvulea
Azure Microservices in Practice - Radu VunvuleaITCamp
 
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...DataStax Academy
 
Going Reactive in the Land of No
Going Reactive in the Land of NoGoing Reactive in the Land of No
Going Reactive in the Land of NoLightbend
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.jsRyan Anklam
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Konstantin Gredeskoul
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture AppDynamics
 
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService ArchitectureFred George
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907NodejsFoundation
 
Journey to the Modern App with Containers, Microservices and Big Data
Journey to the Modern App with Containers, Microservices and Big DataJourney to the Modern App with Containers, Microservices and Big Data
Journey to the Modern App with Containers, Microservices and Big DataLightbend
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeAlex Thissen
 

Destacado (20)

Microservices and modern backends - Azure Meetup Frankfurt
Microservices and modern backends  - Azure Meetup FrankfurtMicroservices and modern backends  - Azure Meetup Frankfurt
Microservices and modern backends - Azure Meetup Frankfurt
 
A High-Performance Solution To Microservices UI Composition
A High-Performance Solution To Microservices UI CompositionA High-Performance Solution To Microservices UI Composition
A High-Performance Solution To Microservices UI Composition
 
Building a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX PlusBuilding a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX Plus
 
Building microservices web application using scala & akka
Building microservices web application using scala & akkaBuilding microservices web application using scala & akka
Building microservices web application using scala & akka
 
Intro To Node.js
Intro To Node.jsIntro To Node.js
Intro To Node.js
 
Webconf nodejs-production-architecture
Webconf nodejs-production-architectureWebconf nodejs-production-architecture
Webconf nodejs-production-architecture
 
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
 
An Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionAn Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI Composition
 
Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)
 
Azure Microservices in Practice - Radu Vunvulea
Azure Microservices in Practice - Radu VunvuleaAzure Microservices in Practice - Radu Vunvulea
Azure Microservices in Practice - Radu Vunvulea
 
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
 
Azure Service Fabric Overview
Azure Service Fabric OverviewAzure Service Fabric Overview
Azure Service Fabric Overview
 
Going Reactive in the Land of No
Going Reactive in the Land of NoGoing Reactive in the Land of No
Going Reactive in the Land of No
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture
 
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService Architecture
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
 
Journey to the Modern App with Containers, Microservices and Big Data
Journey to the Modern App with Containers, Microservices and Big DataJourney to the Modern App with Containers, Microservices and Big Data
Journey to the Modern App with Containers, Microservices and Big Data
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscape
 

Similar a Migrating a Monolithic App to Microservices on Cloud Foundry

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...Tony Erwin
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application DevelopmentWaveMaker, Inc.
 
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld
 
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 MicroservicesDavid Currie
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
Evolution of the IBM Cloud Console: From Monolith to Microservices and BeyondEvolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
Evolution of the IBM Cloud Console: From Monolith to Microservices and BeyondTony Erwin
 
Migrate existing web services and build native microservices in bluemix
Migrate existing web services and build native microservices in bluemixMigrate existing web services and build native microservices in bluemix
Migrate existing web services and build native microservices in bluemixJoel Thimsen
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
 
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...Tony Erwin
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservicesLalit Kale
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Stormy Peters
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixJake Peyser
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixDev_Events
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Ken Owens
 
Agility with Microservices and DevOps
Agility with Microservices and DevOpsAgility with Microservices and DevOps
Agility with Microservices and DevOpsArchana Joshi
 
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...India Scrum Enthusiasts Community
 
Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Alexander SAMARIN
 

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

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
 
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
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
Evolution of the IBM Cloud Console: From Monolith to Microservices and BeyondEvolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
 
Migrate existing web services and build native microservices in bluemix
Migrate existing web services and build native microservices in bluemixMigrate existing web services and build native microservices in bluemix
Migrate existing web services and build native microservices in bluemix
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservices
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015
 
Akhil518
Akhil518Akhil518
Akhil518
 
Agility with Microservices and DevOps
Agility with Microservices and DevOpsAgility with Microservices and DevOps
Agility with Microservices and DevOps
 
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
 
Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)
 

Último

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%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 Stilfonteinmasabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
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 AidPhilip Schwarz
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 

Último (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%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
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
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
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 

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: bkmartin@us.ibm.com Twitter: @bkmartin Email: aerwin@us.ibm.com Twitter: @tonyerwin