17
Do you need microservices architecture? Manu PK @manupk12 http://www.blog.manupk.com Software Architects Bangalore Meetup; 16 April 2016

Do you need microservices architecture?

  • Upload
    manu-pk

  • View
    6.427

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Do you need microservices architecture?

Do you need microservices architecture?

Manu PK@manupk12

http://www.blog.manupk.com

Software Architects Bangalore Meetup; 16 April 2016

Page 2: Do you need microservices architecture?

About Me

Software Architect @ Schneider Electric

Blogs @ http://www.blog.manupk.com

Twitter : @manupk12

Page 3: Do you need microservices architecture?

Agenda

What is microservices architecture The need Characteristics Examples

Microservices architecture – The not-so-good parts Limitations Trade-Offs

Starting with a modular monolith Don’t start with microservices if you are not sure about

the future Modularity is the key Transforming a modular monolith to microservices

Page 4: Do you need microservices architecture?

Microservices architecture – The Need What we have now – Monolith!

A single packaged deployment for all of the application

Complexity in Functionality Scaling Fault Tolerance

Convoys Law Governance

“The growing demand for agility, flexibility, and scalability to meet rapidly evolving business needs creates a strong need for a faster and more efficient delivery of software” - Arun Gupta

Page 5: Do you need microservices architecture?

Microservices architecture Approach to developing a single application as

a suite of small set of collaborating services.

Page 6: Do you need microservices architecture?

Microservices architecture - Example

Page 7: Do you need microservices architecture?

Microservices architecture - Characteristics Organized around Business Capabilities Smart endpoints and dumb pipes Independent Governance Independent Technical Stack Independent Deployment Improved fault isolation Eventual Consistency for Data Consumer first interfaces

Page 8: Do you need microservices architecture?

Microservices architecture - Limitations Significant Operations Overhead Implicit Interfaces Distributed System Complexity Additional tools for Service Registration and

Service Discovery - Zookeeper, Doozer, Etcd, Eureka

Page 9: Do you need microservices architecture?

DevOps Tool SetDistributed systems

=> High level of Automation => Need to depend on more tools

=> Need to have good DevOps skills in the team

Page 10: Do you need microservices architecture?

Microservices architecture – Trade-Offs

Source: http://martinfowler.com/bliki/MicroservicePremium.html

Page 11: Do you need microservices architecture?

Modularity is the key Can you build a modular monolith..?

Source: http://blog.manupk.com/2013/04/package-your-classes-by-feature-and-not.html

Page 12: Do you need microservices architecture?

Modularity is the key

Ref: http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html

Page 13: Do you need microservices architecture?

Do you need microservices architecture The “Hype” Cycle Microservices is not a solution to modularity

problems Don’t start with microservices if you are not

sure about the future evolutions Use the “Bounded context” concept in the Eric

Evan’s Domain Driven Design

Page 14: Do you need microservices architecture?

Summary : Answer these before you choose

Does your services represents different business cases/domains..?

Does the services needs to be deployed and managed independently..?

Does different parts of the application has different scaling/Technology needs..?

Page 15: Do you need microservices architecture?

Questions / Comments / Feedback

@manupk12| [email protected]

Slides @ http://www.slideshare.net/pkmanu

Page 16: Do you need microservices architecture?

References http://martinfowler.com/microservices/#when http://microservices.io/patterns/microservices.html http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lu

nch.html http://martinfowler.com/articles/microservice-trade-offs.html http://blog.arungupta.me/microservices-monoliths-noops/ http://blog.manupk.com/2013/04/package-your-classes-by-feature-

and-not.html http://martinfowler.com/bliki/MicroservicePremium.html http://samnewman.io/talks/principles-of-microservices/ http://blog.cleancoder.com/uncle-bob/2014/10/01/CleanMicroservic

eArchitecture.html

Page 17: Do you need microservices architecture?

Thank You for Listening