Upload
manu-pk
View
6.427
Download
0
Embed Size (px)
Citation preview
Do you need microservices architecture?
Manu PK@manupk12
http://www.blog.manupk.com
Software Architects Bangalore Meetup; 16 April 2016
About Me
Software Architect @ Schneider Electric
Blogs @ http://www.blog.manupk.com
Twitter : @manupk12
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
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
Microservices architecture Approach to developing a single application as
a suite of small set of collaborating services.
Microservices architecture - Example
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
Microservices architecture - Limitations Significant Operations Overhead Implicit Interfaces Distributed System Complexity Additional tools for Service Registration and
Service Discovery - Zookeeper, Doozer, Etcd, Eureka
DevOps Tool SetDistributed systems
=> High level of Automation => Need to depend on more tools
=> Need to have good DevOps skills in the team
Microservices architecture – Trade-Offs
Source: http://martinfowler.com/bliki/MicroservicePremium.html
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
Modularity is the key
Ref: http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
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
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..?
Questions / Comments / Feedback
@manupk12| [email protected]
Slides @ http://www.slideshare.net/pkmanu
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
Thank You for Listening