Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Migrating a Monolithic App to
Microservices on Cloud Foundry
Brian K. Martin, Bluemix Architect,
@bkmartin
Tony Erwin, Blu...
Agenda
• Introduction to the Bluemix UI
• Bluemix UI Microservices
Architecture
• Features for Cloud Foundry to
Support Mi...
Agenda
• Introduction to the Bluemix UI
• Bluemix UI Microservices
Architecture
• Features for Cloud Foundry to
Support Mi...
IBM Bluemix
• IBM Bluemix:
– Open-standards, cloud platform for
building, running, and managing apps
– PaaS layer built on...
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...
Monolithic Architecture
HomeHome SolutionsSolutions CatalogCatalog DashboardDashboard PricingPricing
Orgs/
Spaces
Orgs/
Sp...
Challenges of Monolith
• How can we improve performance?
– Volume of client-side requests create
bottlenecks
• How do we i...
Agenda
• Introduction to the Bluemix UI
• Bluemix UI Microservices
Architecture
• Features for Cloud Foundry to
Support Mi...
Promises of Microservices
• Aids migration to more modern, lighter-weight stack without
starting over
• Improves performan...
Phase 1
SolutionsSolutions
CatalogCatalog DashboardDashboard PricingPricing
Orgs/
Spaces
Orgs/
Spaces
CF Cloud Controller ...
Composition w/
Microservicesheader
footer
inline
combined
CommonCommon
HomeHome
End Goal
HomeHome SolutionsSolutions CatalogCatalog DashboardDashboardPricingPricing Orgs/
Spaces
Orgs/
Spaces
CF Cloud Co...
New Challenges
• More moving parts, more complexity
• Collecting federated status,
monitoring health of the system
• Seaml...
An Approach for Blue-Green – Just Change
Route on Proxy
Home
home-XXX.bluemix.net
Home
home-XXX.bluemix.net
Solutions
solu...
Agenda
• Introduction to the Bluemix UI
• Bluemix UI Microservices
Architecture
• Features for Cloud Foundry to
Support Mi...
Context Path Routing
• bluemix.net/login ->
login.bluemix.net/login
• bluemix.net/account ->
account.bluemix.net/account
•...
Application Versions
• CF has no formal concept of an
application version
• Would it be helpful to add a formal
concept of...
Advanced Routing Policies
• When rolling out new versions
of microservices how can you
control which users are routed
to t...
“Private” Applications
• An ability to hide microservices
applications from public routing
• Applications to be declared
p...
Composite Applications
• What if you want to understand the
health and status of your complete
microservice based applicat...
Service Registry
• Need a new way to discover
the active endpoints for the
microservices rather then hard
coded paths and/...
Performance and Monitoring
• When your application is broken
into many components,
monitoring the performance and
response...
Log Analysis for Problems
• Common log aggregation
platforms (ELK) solve most of
the problem but it has been
hard to corre...
Testing
• How to insure compatibility of
microservices as they are being
deployed
• Integrated to your CI/CD
pipeline, but...
IBM Bluemix
Free 30 day trial at http://www.bluemix.net
Email: bkmartin@us.ibm.com
Twitter: @bkmartin
Email: aerwin@us.ibm...
Prochain SlideShare
Chargement dans…5
×

Cloud Foundry Summit 2015: Migrating a Monolithic App to Microservices on Cloud Foundry

2 058 vues

Publié le

Speakers: Brian K. Mar­tin, IBM; Tony Er­win, IBM

To learn more about Pivotal Cloud Foundry, visit http://www.pivotal.io/platform-as-a-service/pivotal-cloud-foundry.

Publié dans : Technologie
  • ➤➤ How Long Does She Want You to Last? Here's the link to the FREE report ■■■ http://ishbv.com/rockhardx/pdf
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • ➤➤ 3 Reasons Why You Shouldn't take Pills for ED (important) ➤➤ https://tinyurl.com/rockhardxxx
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

Cloud Foundry Summit 2015: Migrating a Monolithic App to Microservices on Cloud Foundry

  1. 1. Migrating a Monolithic App to Microservices on Cloud Foundry Brian K. Martin, Bluemix Architect, @bkmartin Tony Erwin, Bluemix UI Architect, @tonyerwin
  2. 2. Agenda • Introduction to the Bluemix UI • Bluemix UI Microservices Architecture • Features for Cloud Foundry to Support Microservices @bkmartin @tonyerwin
  3. 3. Agenda • Introduction to the Bluemix UI • Bluemix UI Microservices Architecture • Features for Cloud Foundry to Support Microservices @bkmartin @tonyerwin
  4. 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
  5. 5. Bluemix UI Home Solutions (Marketing) Pricing Dashboard Catalog Orgs/Spaces
  6. 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. 7. Monolithic Architecture HomeHome SolutionsSolutions CatalogCatalog DashboardDashboard PricingPricing Orgs/ Spaces Orgs/ Spaces CF Cloud Controller (and other APIs)CF Cloud Controller (and other APIs) SQL DBSQL DB Bluemix UI Server (Java) Bluemix UI Server (Java) Bluemix UI (Client) Bluemix PaaS
  8. 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. 9. Agenda • Introduction to the Bluemix UI • Bluemix UI Microservices Architecture • Features for Cloud Foundry to Support Microservices @bkmartin @tonyerwin
  10. 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
  11. 11. Phase 1 SolutionsSolutions CatalogCatalog DashboardDashboard PricingPricing Orgs/ Spaces Orgs/ Spaces CF Cloud Controller (and other APIs)CF Cloud Controller (and other APIs) SQL DB SQL DB Bluemix UI Server (Monolith) Bluemix UI Server (Monolith) Bluemix UI (Client) Bluemix PaaS ProxyProxy CommonCommon Session Store Session Store No SQLNo SQL Msq Queue Msq Queue MonitorMonitor HomeHome
  12. 12. Composition w/ Microservicesheader footer inline combined CommonCommon HomeHome
  13. 13. End Goal HomeHome SolutionsSolutions CatalogCatalog DashboardDashboardPricingPricing Orgs/ Spaces Orgs/ Spaces CF Cloud Controller (and other APIs)CF Cloud Controller (and other APIs) Bluemix UI (Client) Bluemix PaaS ProxyProxy CommonCommon Session Store Session Store No SQLNo SQL Msq Queue Msq Queue MonitorMonitor
  14. 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)
  15. 15. An Approach for Blue-Green – Just Change Route on Proxy Home home-XXX.bluemix.net Home home-XXX.bluemix.net Solutions solutions-XXX.bluemix.net Solutions solutions-XXX.bluemix.net Bluemix UI Server classic-XXX.bluemix.net Bluemix UI Server classic-XXX.bluemix.net ProxyProxy Common common-XXX.bluemix.net Common common-XXX.bluemix.net Home Home-YYY.bluemix.net Home Home-YYY.bluemix.net Solutions solutions-YYY.bluemix.net Solutions solutions-YYY.bluemix.net Bluemix UI Server classic-YYY.bluemix.net Bluemix UI Server classic-YYY.bluemix.net ProxyProxy Common common-YYY.bluemix.net Common common-YYY.bluemix.net RouterRouter console.ng.bluemix.net console-YYY.ng.bluemix.net
  16. 16. Agenda • Introduction to the Bluemix UI • Bluemix UI Microservices Architecture • Features for Cloud Foundry to Support Microservices @bkmartin @tonyerwin
  17. 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
  18. 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,
  19. 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. 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. 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. 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. 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. 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. 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. 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

×