SlideShare a Scribd company logo
1 of 17
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 Set
Distributed 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| manu.pk@outlook.com
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-lunch.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/CleanMicroserviceArchitecture.html
Thank You
for Listening

More Related Content

What's hot

Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
India Scrum Enthusiasts Community
 

What's hot (20)

What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...
 
Microservices Interview Questions and Answers | Microservices Architecture Tr...
Microservices Interview Questions and Answers | Microservices Architecture Tr...Microservices Interview Questions and Answers | Microservices Architecture Tr...
Microservices Interview Questions and Answers | Microservices Architecture Tr...
 
AppDev with Microservices
AppDev with MicroservicesAppDev with Microservices
AppDev with Microservices
 
What's New In Entando 6 (And How It Helps Your Business)
What's New In Entando 6 (And How It Helps Your Business)What's New In Entando 6 (And How It Helps Your Business)
What's New In Entando 6 (And How It Helps Your Business)
 
DevOpsDays AZ'2020 Scaling with Microservices
DevOpsDays AZ'2020 Scaling with MicroservicesDevOpsDays AZ'2020 Scaling with Microservices
DevOpsDays AZ'2020 Scaling with Microservices
 
5 Key Steps To Implementing Micro Frontends On Kubernetes
5 Key Steps To Implementing Micro Frontends On Kubernetes5 Key Steps To Implementing Micro Frontends On Kubernetes
5 Key Steps To Implementing Micro Frontends On Kubernetes
 
Micro Frontend Platforms for Kubernetes
Micro Frontend Platforms for KubernetesMicro Frontend Platforms for Kubernetes
Micro Frontend Platforms for Kubernetes
 
Micro services vs Monolith Architecture
Micro services vs Monolith ArchitectureMicro services vs Monolith Architecture
Micro services vs Monolith Architecture
 
Microservices in Action
Microservices in ActionMicroservices in Action
Microservices in Action
 
Managing the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsManaging the Complexity of Microservices Deployments
Managing the Complexity of Microservices Deployments
 
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
 
Building Highly Scalable Apps On Bluemix
Building Highly Scalable Apps On BluemixBuilding Highly Scalable Apps On Bluemix
Building Highly Scalable Apps On Bluemix
 
Php Frameworks
Php FrameworksPhp Frameworks
Php Frameworks
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Creating and Managing Technical Content for Open Source Products
Creating and Managing Technical Content for Open Source ProductsCreating and Managing Technical Content for Open Source Products
Creating and Managing Technical Content for Open Source Products
 
The Agile Roots of Microservices
The Agile Roots of MicroservicesThe Agile Roots of Microservices
The Agile Roots of Microservices
 
apidays LIVE Singapore 2021 - Protecting the API ecosystem by Omaru Maruatona...
apidays LIVE Singapore 2021 - Protecting the API ecosystem by Omaru Maruatona...apidays LIVE Singapore 2021 - Protecting the API ecosystem by Omaru Maruatona...
apidays LIVE Singapore 2021 - Protecting the API ecosystem by Omaru Maruatona...
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Top 10 Reasons to Learn Microservices | Microservices Tutorial | Microservice...
Top 10 Reasons to Learn Microservices | Microservices Tutorial | Microservice...Top 10 Reasons to Learn Microservices | Microservices Tutorial | Microservice...
Top 10 Reasons to Learn Microservices | Microservices Tutorial | Microservice...
 
Cell-based Architecture: OReilly Software Architecture Conference NY 2019
Cell-based Architecture: OReilly Software Architecture Conference NY 2019 Cell-based Architecture: OReilly Software Architecture Conference NY 2019
Cell-based Architecture: OReilly Software Architecture Conference NY 2019
 

Viewers also liked

Importance of Multimedia
Importance of MultimediaImportance of Multimedia
Importance of Multimedia
Saíful Íslam
 

Viewers also liked (20)

The story of SonarQube told to a DevOps Engineer
The story of SonarQube told to a DevOps EngineerThe story of SonarQube told to a DevOps Engineer
The story of SonarQube told to a DevOps Engineer
 
Punch clock for debugging apache storm
Punch clock for  debugging apache stormPunch clock for  debugging apache storm
Punch clock for debugging apache storm
 
a wild Supposition: can MySQL be Kafka ?
a wild Supposition: can MySQL be Kafka ?a wild Supposition: can MySQL be Kafka ?
a wild Supposition: can MySQL be Kafka ?
 
Build your own Real Time Analytics and Visualization, Enable Complex Event Pr...
Build your own Real Time Analytics and Visualization, Enable Complex Event Pr...Build your own Real Time Analytics and Visualization, Enable Complex Event Pr...
Build your own Real Time Analytics and Visualization, Enable Complex Event Pr...
 
SOLID principles
SOLID principlesSOLID principles
SOLID principles
 
Demystifying datastores
Demystifying datastoresDemystifying datastores
Demystifying datastores
 
Migration tales from java ee 5 to 7
Migration tales from java ee 5 to 7Migration tales from java ee 5 to 7
Migration tales from java ee 5 to 7
 
Visualising Basic Concepts of Docker
Visualising Basic Concepts of Docker Visualising Basic Concepts of Docker
Visualising Basic Concepts of Docker
 
XConf Coimbatore 2016 - Microservices Demystified
XConf Coimbatore 2016 - Microservices DemystifiedXConf Coimbatore 2016 - Microservices Demystified
XConf Coimbatore 2016 - Microservices Demystified
 
Spring IO '15 - Developing microservices, Spring Boot or Grails?
Spring IO '15 - Developing microservices, Spring Boot or Grails?Spring IO '15 - Developing microservices, Spring Boot or Grails?
Spring IO '15 - Developing microservices, Spring Boot or Grails?
 
Let's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageLet's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming Language
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
Importance of Multimedia
Importance of MultimediaImportance of Multimedia
Importance of Multimedia
 
Principles of microservices XP Days Ukraine
Principles of microservices   XP Days UkrainePrinciples of microservices   XP Days Ukraine
Principles of microservices XP Days Ukraine
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)
 
Microservices with Spring Boot
Microservices with Spring BootMicroservices with Spring Boot
Microservices with Spring Boot
 
Importance of multimedia
Importance of multimediaImportance of multimedia
Importance of multimedia
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 

Similar to Do you need microservices architecture?

Similar to Do you need microservices architecture? (20)

CWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der walCWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der wal
 
Microservices: Detailed Guide
Microservices: Detailed GuideMicroservices: Detailed Guide
Microservices: Detailed Guide
 
Microservices.pdf
Microservices.pdfMicroservices.pdf
Microservices.pdf
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 
20161220 - microservice
20161220 - microservice20161220 - microservice
20161220 - microservice
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYSELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
 
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreA Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
 
Microservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsMicroservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare Applications
 
microservices in mulesoft
microservices in mulesoftmicroservices in mulesoft
microservices in mulesoft
 
Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices
MicroservicesMicroservices
Microservices
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
 
Microservices and OSGi: Better together?
Microservices and OSGi: Better together?Microservices and OSGi: Better together?
Microservices and OSGi: Better together?
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Do you need microservices architecture?

  • 1. Do you need microservices architecture? Manu PK @manupk12 http://www.blog.manupk.com Software Architects Bangalore Meetup; 16 April 2016
  • 2. About Me  Software Architect @ Schneider Electric  Blogs @ http://www.blog.manupk.com  Twitter : @manupk12
  • 3. 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
  • 4. 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
  • 5. Microservices architecture  Approach to developing a single application as a suite of small set of collaborating services.
  • 7. 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
  • 8. Microservices architecture - Limitations  Significant Operations Overhead  Implicit Interfaces  Distributed System Complexity  Additional tools for Service Registration and Service Discovery - Zookeeper, Doozer, Etcd, Eureka
  • 9.  DevOps Tool Set Distributed systems => High level of Automation => Need to depend on more tools => Need to have good DevOps skills in the team
  • 10. Microservices architecture – Trade-Offs  Source: http://martinfowler.com/bliki/MicroservicePremium.html
  • 11. 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
  • 12. Modularity is the key Ref: http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
  • 13. 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
  • 14. 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..?
  • 15. Questions / Comments / Feedback @manupk12| manu.pk@outlook.com Slides @ http://www.slideshare.net/pkmanu
  • 16. References  http://martinfowler.com/microservices/#when  http://microservices.io/patterns/microservices.html  http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.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/CleanMicroserviceArchitecture.html