29
Microservices Architecture (MSA) The Open Group project Somasundram Balakrushnan Enterprise Architect, Cognizant Co-Chair - MSA (The Open Group)

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

Embed Size (px)

Citation preview

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

Microservices Architecture (MSA)

The Open Group project

Somasundram Balakrushnan

Enterprise Architect,

Cognizant

Co-Chair - MSA (The Open Group)

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

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.

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

Introduction

• Who are we?• What are we doing?• And why?

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

Our Journey to MSA

• Genesis in early 2014…• What is MSA? • And why do we need it?

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

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

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

Where in the continuum does MSA fit?

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

Picture this…Macro Micro

Unix way cat opengroup.txt | sort –d | more

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

System/Application-1

System/Application-2

System/Application-3

Server Side component

Server Side component

Server Side component

Without MSA

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

Reality with MSA

External interfaces

API-1 API-2 .. .. .. API-N

System/Application-1

System/Application-2

System/Application-3

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

Microservices Architecture (MSA)The Open Group – Project Charter

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

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

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

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)

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

Considerations…

• The granularity question…• Service proliferation• maintainability' and 'cost‘…• Technology flexibility…• Team end-to-end Ownership…• Security, Identity, Access…

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

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. ”

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

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

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

Microservices Architecture (MSA)Characteristics of

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

MSA: Characteristics Survey

Survey Members:

• Participants from various member companies

• Researched, Experienced,

Practitioners of MSA

• Leaders & Experts of EA and SOA

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

Key Defining Characteristics

Single Responsibility

Self Containment

Service Independence

Highly Decoupled

Highly Resilient

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

Supporting Characteristics

Decentralized Data Management Implementation Agnostic

Independent Scalability & Stability through decomposition Stable Contract / API

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

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….

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

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")

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

MSA - Ecosystem Industry Trends & Observations

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

Building Blocks

Microservices

Framework

Platform (IaaS/PaaS)

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

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)

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

Framework Considerations

• Service base code generation • Build in code Instrumentation (logging, status etc.)• Automatic retries, parallelizing calls

Microservices

FrameworkPlatform (IaaS/PaaS)

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

Enabling Technology & Ecosystem

• Docker, Node.js• Apache Mesos• Apache ZooKeeper, Puppet• Swagger• Consul• HA Proxy• Spring Boot, Play Framework, Akka ….

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

MSA Challenges

• Granularity & Decomposition factors• Chattiness & Fan Outs

• Payload Serialization

• Testing Microservices• Governance

• Dependency Management • Service Versioning

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

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

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

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