microservices architecture (msa) - presentation made at aea-mn quarterly event june 2015,...
TRANSCRIPT
Microservices Architecture (MSA)
The Open Group project
Somasundram Balakrushnan
Enterprise Architect,
Cognizant
Co-Chair - MSA (The Open Group)
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.
Introduction
• Who are we?• What are we doing?• And why?
Our Journey to MSA
• Genesis in early 2014…• What is MSA? • And why do we need it?
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
Where in the continuum does MSA fit?
Picture this…Macro Micro
Unix way cat opengroup.txt | sort –d | more
System/Application-1
System/Application-2
System/Application-3
Server Side component
Server Side component
Server Side component
Without MSA
Reality with MSA
External interfaces
API-1 API-2 .. .. .. API-N
System/Application-1
System/Application-2
System/Application-3
Microservices Architecture (MSA)The Open Group – Project Charter
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
Common Case for MSA
• Enabling Business Agility & Flexibility• Faster Time-to-Market (via automated
infrastructure/deployments)
• Greater availability, stability and scalability…
• Partition the system…• Federated team & DevOps..• No Development Language Lock-in (Polyglot)
Considerations…
• The granularity question…• Service proliferation• maintainability' and 'cost‘…• Technology flexibility…• Team end-to-end Ownership…• Security, Identity, Access…
Teaming Concepts
Conway’s 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. ”
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 Unit
Business function Business Function Business Function
Microservices Architecture (MSA)Characteristics of
MSA: Characteristics Survey
Survey Members:
• Participants from various member companies
• Researched, Experienced,
Practitioners of MSA
• Leaders & Experts of EA and SOA
Key Defining Characteristics
Single Responsibility
Self Containment
Service Independence
Highly Decoupled
Highly Resilient
Supporting Characteristics
Decentralized Data Management Implementation Agnostic
Independent Scalability & Stability through decomposition Stable Contract / API
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….
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")
MSA - Ecosystem Industry Trends & Observations
Building Blocks
Microservices
Framework
Platform (IaaS/PaaS)
Enabling Platform Components
• Monitoring & Automation (Service Delivery & Operations)• Cloud deployment models (IaaS/PaaS) • Container Technology• Service Discovery• Light weight messaging• API Gateways Microservices
FrameworkPlatform (IaaS/PaaS)
Framework Considerations
• Service base code generation • Build in code Instrumentation (logging, status etc.)• Automatic retries, parallelizing calls
Microservices
FrameworkPlatform (IaaS/PaaS)
Enabling Technology & Ecosystem
• Docker, Node.js• Apache Mesos• Apache ZooKeeper, Puppet• Swagger• Consul• HA Proxy• Spring Boot, Play Framework, Akka ….
MSA Challenges
• Granularity & Decomposition factors• Chattiness & Fan Outs
• Payload Serialization
• Testing Microservices• Governance
• Dependency Management • Service Versioning
Service GranularityM
onol
ithN
ano
Line of Granularity
More of an Art than Science
Consider Business flexibility & agility needs
Beware of Monoliths and Nano-Services
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