Microservices Architecture (MSA)
The Open Group project
Somasundram Balakrushnan
Enterprise Architect,
Cognizant
Co-Chair - MSA (The Open Group)
Ovace A. Mamnoon
Enterprise Architect,
HP
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 our own and do not express the views or opinions of our 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?
Picture this…
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
Why Microservices…
It’s all about managing and reducing risk for business!
Considerations…
It’s about common sense and practicality
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…
Organization
Business
function
Business Function
Business Function
Business Unit
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
Scalability & Stability through
Parallelism
Stable Contract / API
Point-to-Point Integration
Federated / Autonomous Governance
Single Team end to end Ownership
Monitoring and Instrumentation
Enabled
Microservices Architecture (MSA)Industry Trends & Observations
Building Blocks
Microservices
Framework
Platform (IaaS/PaaS)
Enabling Platform Components
• Monitoring & Automation (Service Delivery & Operations)
• Cloud deployment (IaaS/PaaS)
• Container Technology
• Service Discovery
• Light weight messaging
• API Gateways
Microservices
Framework
Platform (IaaS/PaaS)
Enabling Technology & Ecosystem
• Docker, Node.js
• Apache Mesos
• Apache ZooKeeper
• Swagger
• Consul
• HA Proxy
• Spring Boot, Akka ….
MSA Challenges
• Granularity & Decomposition factors
• Chattiness & Fan Outs• Payload Serialization
• Testing Microservices
• Governance • Dependency Management
• Service Versioning
Service GranularityM
onol
ith
Nan
o
Line of Granularity
More of an Art than Science
Consider Business flexibility & agility needs
Beware of Monoliths and Nano-Services
What Next?
Whitepaper – Target: Summer 2015
Enterprises can start piloting MSA
Preparing the platform & framework