Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly event June 2015, Minneapolis, MN

  • View

  • Download

Embed Size (px)

Text of Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly event June 2015,...

  1. 1. MicroservicesArchitecture (MSA) The Open Group project Somasundram Balakrushnan Enterprise Architect, Cognizant Co-Chair - MSA (The Open Group)
  2. 2. Topics Introduction MSA Project Charter What is Microservices Architecture (MSA)? Key Defining Characteristics Supporting Characteristics Industry Observations Next steps Disclaimer: Opinions expressed are solely my own and do not express the views or opinions of my current or past employers.
  3. 3. Introduction Who are we? What are we doing? And why?
  4. 4. Our Journey to MSA Genesis in early 2014 What is MSA? And why do we need it?
  5. 5. Industry traction for Microservices Architecture Google Trends Blurbs from various sources By 2017, over 20% of large organizations will deploy self- contained microservices to increase agility and scalability. Gartner 2015 predictions
  6. 6. Where in the continuum does MSA fit?
  7. 7. Picture this Unix way cat opengroup.txt | sort d | more
  8. 8. System/ Application-1 System/ Application-2 System/ Application-3 Server Side component Server Side component Server Side component Without MSA
  9. 9. Reality with MSA External interfaces API-1 API-2 .. .. .. API-N System/ Application-1 System/ Application-2 System/ Application-3
  10. 10. MicroservicesArchitecture (MSA) The Open Group Project Charter
  11. 11. MSA Project Charter What is Microservices Architecture? Key Defining Characteristics Related / Supporting Characteristics SOA and Microservices Architecture Compare and Contrast SOA & MSA architecture styles Governance Impacts API & MSA Cloud & MSA Implementation Considerations for Microservices Architecture Skills / Competency needed Organization maturity Infrastructure support
  12. 12. Common Case for MSA Enabling Business Agility & Flexibility FasterTime-to-Market (via automated infrastructure/deployments) Greater availability, stability and scalability Partition the system Federated team & DevOps.. No Development Language Lock-in (Polyglot)
  13. 13. Considerations The granularity question Service proliferation maintainability' and 'cost Technology flexibility Team end-to-end Ownership Security, Identity, Access
  14. 14. Teaming Concepts Conways Law: Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization's communication structure.
  15. 15. Outcomes Streamline and agile software Life cycle Teams organized around business domains Ownership and empowerment (DevOp) Scale only where needed... Continuous Deployment Reduced CapEx & OpEx Organization Business function Business Function Business Function Business Unit
  16. 16. MicroservicesArchitecture (MSA) Characteristics of
  17. 17. MSA: Characteristics Survey Survey Members: Participants from various member companies Researched, Experienced, Practitioners of MSA Leaders & Experts of EA and SOA
  18. 18. Key Defining Characteristics Single Responsibility Self Containment Service Independence Highly Decoupled Highly Resilient
  19. 19. Supporting Characteristics Decentralized Data Management Implementation Agnostic Independent Scalability & Stability through decomposition Stable Contract / API Point-to-Point Integration Federated / Autonomous Governance Single Team end to end Ownership Monitoring and Instrumentation Enabled
  20. 20. SOA vs. MSA Industry Perspective MSA is SOA done right! SOA is dead, long live MSA! MSA = SOA + Dev Ops! SOA means different things to different people .
  21. 21. SOA vs. MSA Emerging PoV @ TOG MSA is an extension (or) a variation of SOA MSA is completely distinct and different than SOA architectural style MSA is a sub-set of SOA (with overlapping characteristics) MSA replaces SOA ("MSA is SOA done right")
  22. 22. MSA - Ecosystem Industry Trends & Observations
  23. 23. Building Blocks Microservices Framework Platform (IaaS/PaaS)
  24. 24. Enabling Platform Components Monitoring & Automation (Service Delivery & Operations) Cloud deployment models (IaaS/PaaS) Container Technology Service Discovery Light weight messaging API Gateways Microservices Framework Platform (IaaS/PaaS)
  25. 25. Framework Considerations Service base code generation Build in code Instrumentation (logging, status etc.) Automatic retries, parallelizing calls Microservices Framework Platform (IaaS/PaaS)
  26. 26. Enabling Technology & Ecosystem Docker, Node.js Apache Mesos Apache ZooKeeper, Puppet Swagger Consul HA Proxy Spring Boot, Play Framework, Akka .
  27. 27. MSA Challenges Granularity & Decomposition factors Chattiness & Fan Outs Payload Serialization Testing Microservices Governance Dependency Management Service Versioning
  28. 28. Service Granularity MonolithNano Line of Granularity More of an Art than Science Consider Business flexibility & agility needs Beware of Monoliths and Nano-Services
  29. 29. What Next? Enterprises can start piloting MSA Preparing the platform & framework Enable faster time to develop services Containerization & cloud considerations Automation of deployment & auto-scaling TOG: MSA_Whitepaper Target: Summer 2015