Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

A Capability Blueprint for Microservices

2.603 visualizaciones

Publicado el

A Capability Blueprint for Microservices
Presentation at API World, 2016-09-13

Publicado en: Software
  • Sé el primero en comentar

A Capability Blueprint for Microservices

  1. 1. September 13, 2016 Microservices A Capability Blueprint Matt McLarty Vice President, API Academy CA Technologies @mattmclartybc
  2. 2. 2 Why are organizations using microservices?
  3. 3. 3 Business Value Stories “We can scale our operation independently, maintain unparalleled system availability, and introduce new services quickly without the need for massive reconfiguration.” •Werner Vogels, Amazon (2006) https://queue.acm.org/detail.cfm?id=1142065 “…the next generation [architecture] that we are building will give Netflix a strong foundation to meet the needs of our massive and growing scale, enabling us to delight our global audience.” •Netflix (2015) http://techblog.netflix.com/2015/01/netflixs-viewing-data-how-we-know-where.html “Lessens dependencies between teams - resulting in faster code to production.” •Adrian Trenaman, Gilt (2015) http://www.infoq.com/news/2015/04/scaling-microservices-gilt “With the new architecture framework, we were able to reduce our lead time for new features to something that…was much more acceptable for a company trying to play in the highly competitive music industry.” •Phil Calçado, SoundCloud (2015) http://philcalcado.com/2015/09/08/how_we_ended_up_with_microservices.html
  4. 4. 4 The goal of microservices Speed and safety at scale
  5. 5. 5 Microservice Architecture Maturity Model Speed Safety Scale&Complexity
  6. 6. 6 Microservice Architecture Maturity Model Independent Deployability Polyglotism Independent Manageability Testability Modularized “Establish the foundation” Speed Safety A microservice architecture that is… Scale&Complexity
  7. 7. 7 Microservice Architecture Maturity Model Independent Deployability Polyglotism Independent Manageability Testability Organizational Alignment Composability Replaceability Efficiency Modularized “Establish the foundation” Cohesive “Design the services” Speed Safety A microservice architecture that is… Scale&Complexity
  8. 8. 8 Microservice Architecture Maturity Model Independent Deployability Polyglotism Independent Manageability Testability Organizational Alignment Composability Replaceability Efficiency Agility Comprehensibility Resiliency/ Availability Runtime Scalability Modularized “Establish the foundation” Cohesive “Design the services” Systematized “Design the system” Speed Safety A microservice architecture that is… Scale&Complexity
  9. 9. 9 Benefits of Modularization Independent Deployability Polyglotism Independent Manageability Testability
  10. 10. 10 Benefits of Modularization Independent Deployability Polyglotism Independent Manageability Testability Supporting Capabilities Containers CI/CD Configuration Management Platform Hosting (IaaS, PaaS)
  11. 11. 11 Benefits of Modularization Independent Deployability Polyglotism Independent Manageability Testability Supporting Capabilities Containers APIs Containers CI/CD Configuration Management Platform Hosting (IaaS, PaaS) Multi-Language Platform Hosting
  12. 12. 12 Benefits of Modularization Independent Deployability Polyglotism Independent Manageability Testability Supporting Capabilities Containers Platform Hosting Containers APIs Containers CI/CD Configuration Management Platform Hosting (IaaS, PaaS) APIs Logging Multi-Language Platform Hosting
  13. 13. 13 Benefits of Modularization Independent Deployability Polyglotism Independent Manageability Testability Supporting Capabilities Containers Platform Hosting Containers APIs Contract Definition Service Virtualization Containers APIs Containers CI/CD Configuration Management Platform Hosting (IaaS, PaaS) APIs Logging Multi-Language Platform Hosting
  14. 14. 14 Benefits of Cohesion Organizational Alignment Composability Replaceability Efficiency
  15. 15. 15 Benefits of Cohesion Organizational Alignment Composability Replaceability Efficiency Supporting Capabilities Domain- oriented APIs Business Analytics Business Alignment Organizational Design
  16. 16. 16 Benefits of Cohesion Organizational Alignment Composability Replaceability Efficiency Supporting Capabilities Loosely- coupled APIs Containers Component Registry Team Autonomy Domain- oriented APIs Business Analytics Business Alignment Organizational Design
  17. 17. 17 Benefits of Cohesion Organizational Alignment Composability Replaceability Efficiency Supporting Capabilities APIs Containers Team Autonomy Change Tolerance Loosely- coupled APIs Containers Component Registry Team Autonomy Domain- oriented APIs Business Analytics Business Alignment Organizational Design
  18. 18. 18 Benefits of Cohesion Organizational Alignment Composability Replaceability Efficiency Supporting Capabilities APIs Containers Team Autonomy Change Tolerance Containers Platform Hosting Component Registry Business Alignment Loosely- coupled APIs Containers Component Registry Team Autonomy Domain- oriented APIs Business Analytics Business Alignment Organizational Design
  19. 19. 19 Benefits of Systematization Agility Comprehensibility Resiliency/ Availability Runtime Scalability
  20. 20. 20 Benefits of Systematization Agility Comprehensibility Resiliency/ Availability Runtime Scalability Supporting Capabilities Component Registry Automation Agile Software Development Iterative Approach
  21. 21. 21 Benefits of Systematization Agility Comprehensibility Resiliency/ Availability Runtime Scalability Supporting Capabilities Domain- oriented APIs Contract Definition Small Teams Cross-Org Visibility Component Registry Automation Agile Software Development Iterative Approach
  22. 22. 22 Benefits of Systematization Agility Comprehensibility Resiliency/ Availability Runtime Scalability Supporting Capabilities Monitoring Automation Cross-Org Visibility Change Tolerance Domain- oriented APIs Contract Definition Small Teams Cross-Org Visibility Component Registry Automation Agile Software Development Iterative Approach
  23. 23. 23 Benefits of Systematization Agility Comprehensibility Resiliency/ Availability Runtime Scalability Supporting Capabilities Monitoring Automation Cross-Org Visibility Change Tolerance Operational Analytics Component Registry Cross-org Visibility Team Autonomy Domain- oriented APIs Contract Definition Small Teams Cross-Org Visibility Component Registry Automation Agile Software Development Iterative Approach
  24. 24. 24 Microservices Technological Capabilities Monitoring Capabilities Container Repository & Management App Performance Monitoring End User Experience Monitoring System Monitoring & Recovery Business & IT Analytics Capabilities Business Analytics Event Monitoring & Execution Operational Analytics Continuous Business Planning Mobile Apps Web Apps Other Microservices Consumers Logging Design & Development Capabilities Container & Image Creation μS & API Design μS Development Framework μS Test Management & Automation Component Registry/Discovery Contract DefinitionUser Analytics Mediation Capabilities Policy Enforcement (Security, SLA, Audit, Regulatory) Platform Capabilities Infrastructure -as-a-Service Platform-as- a-Service Functions- as-a-Service Microservices Configuration & Deployment Capabilities Container Management Continuous Delivery / Release Management Configuration Management Routing/ Aggregation Messaging/Content Security Capabilities Authentication & Authorization Identity Management Service Discovery / Registration Client App Capabilities (Mobile, web, IoT apps) Service Virtualization μS Client Development IoT Devices Mobile Monitoring Container Hosting
  25. 25. 25 Microservices Non-Technological Capabilities Methodological Capabilities Agile software development Continuous integration/continuous delivery (build & deployment automation) Test automation Operational automation Organizational Capabilities Small team size Business alignment Cross-organizational supporting teams “Guilds” Organizational design Cultural Capabilities Stated principles Team autonomy and empowerment Two way communication Change tolerance Experimental and iterative approach Toolmaking and enablement (vs. “governance”)
  26. 26. 26 In summary… Early microservice adopters seek speed and safety at scale Three levels of microservice architectures: • Modularized • Cohesive • Systematized Each level brings different benefits Microservice capabilities enable the benefits
  27. 27. 27 For more information… Microservice Architecture, from O’Reilly Media • http://transform.ca.com/API-microservice-architecture-oreilly-book.html Videos from #API360 Microservices Summit (NYC, 6/16/16) • http://transform.ca.com/API-Microservices-Best-Practices-API360-Summit-Videos.html Infoworld Series on Microservices • http://www.infoworld.com/article/3075880/application-development/microservice-architecture-is-agile-software- architecture.html • http://www.infoworld.com/article/3080611/application-development/learning-from-soa-5-lessons-for-the-microservices- era.html O’Reilly Blog Series • https://www.oreilly.com/ideas/optimize-for-desirable-results • https://www.oreilly.com/ideas/microservices-need-architects • https://www.oreilly.com/ideas/microservices-shift-complexity-to-where-it-belongs • https://www.oreilly.com/ideas/three-pillars-of-microservice-culture
  28. 28. 28 Thank you!

×