SlideShare a Scribd company logo
Microservices in a nutshell
Pranjut Gogoi
Senior Software Consultant
Knoldus software LLP
Agenda
● What are microservices?
● Why is it important?
● How is it done?
● Orchestration vs Choreography.
● Pitfalls of microservices.
● Demo.
What are microservices?
“Microservices are small, autonomous services that work together.”
Microservices in a netshell
Why is it important?
●
Technology Heterogeneity
●
Resilience
●
Scaling
●
Ease of Deployment
●
Organizational Alignment
●
Composability
●
Optimizing for Replaceability
How does it work?
●
Orchestration architecture
●
Choreography architecture
●
Microservice design patterns
Orchestration
Choreography
Orchestration vs Choreography
An orchestration typically ties together lower level
services. It is like a mediator. A choreography
helps reduce coupling even further.
Microservices in a netshell
Design patterns –
Aggregator Pattern
Chained Pattern
Asynchronous Messaging
Pitfalls of microservices
●
Team members don't get any idea what's going on the complete application as
they're more focus on their own module.
●
Understanding the what is microservice and how does it work. There was a case
where an engineer had literally wrapped and hosted one microservice within
another because he didn't understand how the services were supposed to
communicate if they were in separate processes (or on separate machines).
●
Common util module configuration or code sharing among the micro services will
help a lot of work easier but again that could be problem too. There was a case
where one person defined a general abstraction to database library, but the
database library wasn't well encapsulated (in fact it had a transitive dependency on
an older version of our web server - Jetty).
Cont...
●
Its more of a solution, so basically in order to communicate
among the services we need to follow a messaging pattern,
where AMQP and CQRS are two choices. However CQRS is a
preferable pattern as AMQP sometime don't work well. However
that will depend on the requirement of the communication.
●
As microservices increases the devOps burden increases as well,
because each microservice will run in a different jvm and need
to deploy them separately.
Thank You

More Related Content

PPTX
Angular 1.x vs 2 - In code level
ODP
Docker - An Introduction
ODP
Introduction to Angular 2
PPTX
AngularJS 2.0
PDF
AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...
PDF
Angular2 intro
PPTX
Angular 2 + TypeScript = true. Let's Play!
PPTX
Angular1x and Angular 2 for Beginners
Angular 1.x vs 2 - In code level
Docker - An Introduction
Introduction to Angular 2
AngularJS 2.0
AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...
Angular2 intro
Angular 2 + TypeScript = true. Let's Play!
Angular1x and Angular 2 for Beginners

What's hot (20)

PDF
The evolution of Angular 2 @ AngularJS Munich Meetup #5
PDF
Angular2 with type script
PDF
Angular 2 - An Introduction
PDF
Angular 2... so can I use it now??
PDF
Angular 2 Crash Course
PDF
Angular 2 overview
PDF
Tech Webinar: Angular 2, Introduction to a new framework
PPTX
Angular 2
PPTX
Single Page Applications with AngularJS 2.0
PDF
Angular 2: What's New?
PDF
Angular 2 - Core Concepts
PDF
Angular Weekend
PDF
Building Universal Applications with Angular 2
PPTX
PPTX
React js
PPTX
5 angularjs features
PDF
AngularJS with RequireJS
PDF
Angular 2: core concepts
PDF
Introduction to Angular 2
PPTX
Angular js 2
The evolution of Angular 2 @ AngularJS Munich Meetup #5
Angular2 with type script
Angular 2 - An Introduction
Angular 2... so can I use it now??
Angular 2 Crash Course
Angular 2 overview
Tech Webinar: Angular 2, Introduction to a new framework
Angular 2
Single Page Applications with AngularJS 2.0
Angular 2: What's New?
Angular 2 - Core Concepts
Angular Weekend
Building Universal Applications with Angular 2
React js
5 angularjs features
AngularJS with RequireJS
Angular 2: core concepts
Introduction to Angular 2
Angular js 2
Ad

Viewers also liked (8)

PDF
Hypermedia-Driven Orchestration in Microservices
PPTX
The rise of microservices - containers and orchestration
PDF
CHOReVOLUTION WP4 UTC Use case
PDF
Overcoming 5 Common Docker Challenges: How We Do It at RightScale
PPT
An Introduction to Container Organization with Docker Swarm, Kubernetes, Meso...
ODP
Event sourcing with Eventuate
PPTX
The Role of Enterprise Integration in Digital Transformation
PDF
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Hypermedia-Driven Orchestration in Microservices
The rise of microservices - containers and orchestration
CHOReVOLUTION WP4 UTC Use case
Overcoming 5 Common Docker Challenges: How We Do It at RightScale
An Introduction to Container Organization with Docker Swarm, Kubernetes, Meso...
Event sourcing with Eventuate
The Role of Enterprise Integration in Digital Transformation
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Ad

Similar to Microservices in a netshell (20)

PDF
Understanding Microservices
PPTX
05 microservices microdeck
PPTX
Microservices-101
PDF
Everything you want to know about microservices
PPTX
Introduction to microservices
PDF
Microservices - opportunities, dilemmas and problems
PPTX
Service Mesh CTO Forum (Draft 3)
PPTX
Micro Services
ODP
Monolithic to Microservices Architecture - STM 6
PDF
Service Mesh Talk for CTO Forum
PPTX
Microservices
PPTX
Microservices
PDF
Microservices Architecture
PPTX
Iot cloud service v2.0
PPTX
2 years into drinking the Microservice kool-aid (Fact and Fiction)
PDF
Building microservices on azure
PPTX
Microservices session 1
PPTX
An introduction to Microservices
PPTX
Microservices why?
PPSX
Microservices Architecture, Monolith Migration Patterns
Understanding Microservices
05 microservices microdeck
Microservices-101
Everything you want to know about microservices
Introduction to microservices
Microservices - opportunities, dilemmas and problems
Service Mesh CTO Forum (Draft 3)
Micro Services
Monolithic to Microservices Architecture - STM 6
Service Mesh Talk for CTO Forum
Microservices
Microservices
Microservices Architecture
Iot cloud service v2.0
2 years into drinking the Microservice kool-aid (Fact and Fiction)
Building microservices on azure
Microservices session 1
An introduction to Microservices
Microservices why?
Microservices Architecture, Monolith Migration Patterns

More from Knoldus Inc. (20)

PPTX
Angular Hydration Presentation (FrontEnd)
PPTX
Optimizing Test Execution: Heuristic Algorithm for Self-Healing
PPTX
Self-Healing Test Automation Framework - Healenium
PPTX
Kanban Metrics Presentation (Project Management)
PPTX
Java 17 features and implementation.pptx
PPTX
Chaos Mesh Introducing Chaos in Kubernetes
PPTX
GraalVM - A Step Ahead of JVM Presentation
PPTX
Nomad by HashiCorp Presentation (DevOps)
PPTX
Nomad by HashiCorp Presentation (DevOps)
PPTX
DAPR - Distributed Application Runtime Presentation
PPTX
Introduction to Azure Virtual WAN Presentation
PPTX
Introduction to Argo Rollouts Presentation
PPTX
Intro to Azure Container App Presentation
PPTX
Insights Unveiled Test Reporting and Observability Excellence
PPTX
Introduction to Splunk Presentation (DevOps)
PPTX
Code Camp - Data Profiling and Quality Analysis Framework
PPTX
AWS: Messaging Services in AWS Presentation
PPTX
Amazon Cognito: A Primer on Authentication and Authorization
PPTX
ZIO Http A Functional Approach to Scalable and Type-Safe Web Development
PPTX
Managing State & HTTP Requests In Ionic.
Angular Hydration Presentation (FrontEnd)
Optimizing Test Execution: Heuristic Algorithm for Self-Healing
Self-Healing Test Automation Framework - Healenium
Kanban Metrics Presentation (Project Management)
Java 17 features and implementation.pptx
Chaos Mesh Introducing Chaos in Kubernetes
GraalVM - A Step Ahead of JVM Presentation
Nomad by HashiCorp Presentation (DevOps)
Nomad by HashiCorp Presentation (DevOps)
DAPR - Distributed Application Runtime Presentation
Introduction to Azure Virtual WAN Presentation
Introduction to Argo Rollouts Presentation
Intro to Azure Container App Presentation
Insights Unveiled Test Reporting and Observability Excellence
Introduction to Splunk Presentation (DevOps)
Code Camp - Data Profiling and Quality Analysis Framework
AWS: Messaging Services in AWS Presentation
Amazon Cognito: A Primer on Authentication and Authorization
ZIO Http A Functional Approach to Scalable and Type-Safe Web Development
Managing State & HTTP Requests In Ionic.

Recently uploaded (20)

PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
COMPUTERS AS DATA ANALYSIS IN PRECLINICAL DEVELOPMENT.pptx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
master seminar digital applications in india
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Basic Mud Logging Guide for educational purpose
PDF
Pre independence Education in Inndia.pdf
PDF
Insiders guide to clinical Medicine.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
COMPUTERS AS DATA ANALYSIS IN PRECLINICAL DEVELOPMENT.pptx
Abdominal Access Techniques with Prof. Dr. R K Mishra
O7-L3 Supply Chain Operations - ICLT Program
master seminar digital applications in india
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Microbial diseases, their pathogenesis and prophylaxis
human mycosis Human fungal infections are called human mycosis..pptx
Anesthesia in Laparoscopic Surgery in India
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Basic Mud Logging Guide for educational purpose
Pre independence Education in Inndia.pdf
Insiders guide to clinical Medicine.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx

Microservices in a netshell

  • 1. Microservices in a nutshell Pranjut Gogoi Senior Software Consultant Knoldus software LLP
  • 2. Agenda ● What are microservices? ● Why is it important? ● How is it done? ● Orchestration vs Choreography. ● Pitfalls of microservices. ● Demo.
  • 3. What are microservices? “Microservices are small, autonomous services that work together.”
  • 5. Why is it important? ● Technology Heterogeneity ● Resilience ● Scaling ● Ease of Deployment ● Organizational Alignment ● Composability ● Optimizing for Replaceability
  • 6. How does it work? ● Orchestration architecture ● Choreography architecture ● Microservice design patterns
  • 9. Orchestration vs Choreography An orchestration typically ties together lower level services. It is like a mediator. A choreography helps reduce coupling even further.
  • 14. Pitfalls of microservices ● Team members don't get any idea what's going on the complete application as they're more focus on their own module. ● Understanding the what is microservice and how does it work. There was a case where an engineer had literally wrapped and hosted one microservice within another because he didn't understand how the services were supposed to communicate if they were in separate processes (or on separate machines). ● Common util module configuration or code sharing among the micro services will help a lot of work easier but again that could be problem too. There was a case where one person defined a general abstraction to database library, but the database library wasn't well encapsulated (in fact it had a transitive dependency on an older version of our web server - Jetty).
  • 15. Cont... ● Its more of a solution, so basically in order to communicate among the services we need to follow a messaging pattern, where AMQP and CQRS are two choices. However CQRS is a preferable pattern as AMQP sometime don't work well. However that will depend on the requirement of the communication. ● As microservices increases the devOps burden increases as well, because each microservice will run in a different jvm and need to deploy them separately.

Editor's Notes

  • #4: Monolithic Microservices are special SOA, Service oriented architecture.
  • #5: If you can't make it good, at least make it look good - Bill Gates O'reilly have this bee picture in their book Honey sealing Drone feeding Queen attendants Honeycomb building
  • #6: Resilience:1. If one component of a system fails, but that failure doesn’t cascade, you can isolate the problem and the rest of the system can carry on working. 2. Simian Army - Chaos monkey for failure testing. Composable: Composability means reusability. Resure the same service for different purpose, native application, web application etc.
  • #10: Orchestration is useful when you have control over all the actors in a process - when they're all in one domain of control and you can dictate the flow of activities. This is of course most often when you're specifying a business process that will be enacted inside one organisation that you have control over. Choreography is a way of specifying how two or more parties - none of which has any control over the other parties' processes, or perhaps any visibility of those processes - can coordinate their activities and processes to share information and value. Use choreography when coordination across domains of control/visibility is required. You can think of choreography, in a simple scenario, as like a network protocol. It dictates acceptable patterns of requests and responses between parties.
  • #11: Our application is almost built on this except each servcice each database.
  • #12: Our application is almost built on this except each servcice each database.
  • #13: The key part to remember is that the client is blocked until the complete chain of request/response There are more to it. But I found good quality images for this two only. Proxy pattern – which is almost like the aggregator pattern. Branch Microservice. Shared data microservice. Asynchonous messaging
  • #14: The key part to remember is that the client is blocked until the complete chain of request/response There are more to it. But I found good quality images for this two only. Proxy pattern – which is almost like the aggregator pattern. Branch Microservice. Shared data microservice. Asynchonous messaging
  • #15: Resilience:1. If one component of a system fails, but that failure doesn’t cascade, you can isolate the problem and the rest of the system can carry on working. 2. Simian Army - Chaos monkey for failure testing. Composable: Composability means reusability. Resure the same service for different purpose, native application, web application etc.
  • #16: Resilience:1. If one component of a system fails, but that failure doesn’t cascade, you can isolate the problem and the rest of the system can carry on working. 2. Simian Army - Chaos monkey for failure testing. Composable: Composability means reusability. Resure the same service for different purpose, native application, web application etc.