Microservices
Why do we need them?
Microservices Main Characteristics
By Martin Fowler:
1. Components via services
2. Organized around business capabilities
3. Products not Projects
4. Smart endpoints and dump pipes
5. Decentralized governance
6. Decentralized data management
7. Infrastructure automation
8. Design for failure
9. Evolutionary design
Grouped by `idea`:
1. Components via services, not libraries
2. Arranging efforts around business needs:
● Some microproducts are being created that rule all the business logic and processes within the service
● Decentralization in product and product storage management
3. Infrastructure:
○ Design for failure
○ Evolutionary design
○ CI & Monitoring
Microservices Main Characteristics
The main idea is to make ...
an independently replaceable & independently updatable components
b1
b2
b3
a1 c1
c2
d1 d2
There are 2 main types of components:
1. Libraries (require a new vendor or create your own)
2. Services
Types Of Application Components
Component
a1 b2
Library
a1
Service
b2
Service
Monolithic Architecture - tightly coupled application components, all updates cause the whole application code
to be deployed, even if there was one one comma missing somewhere (use libraries and/or library-based components)
Service Oriented Architecture - gives the ability to replace or update either of application components (use
standalone services, mainly via http API)
Types Of Applications
SOA
Microservices
Organized around business capabilities
Monolithic app. / SOA Microservices / SOA
Organized around technologies Organized around business capabilities
UI
Server
DBA
Payments
Marketing
CRM
Microservice Team
● “2 pizza team” rule
● Each team must be as fullstack as possible
● Each team is responsible for all the Microservice processes, starting from the
communication with end users and ending by deploying some features to the production
environment
Service Oriented Architecture
Service Oriented Architecture (SOA) - a powerful piece of a middleware that will
automatically do all the staff (route messages, apply business rules, do filtering, validations
and lots of other things).
This kind of middleware is also called an ESB (Enterprise Service Bus or, jokingly, Egregious
Spaghetti Box).
Here a, b, c are the dumb
endpoints of certain
services. ESB
a
b
c
Diff SOA Microservices
ESB
a
b
c
a
b
c
All smartness moves to the end-points
ESB becomes just a good piping mechanism
Example: Internet
The main idea is a Decentralization
Application Evolution
Monolithic application - one hunky big relational database and it commits to all across the application
components
SOA - lots of services each pulling data from one logically large database
Microsevice - each service is responsible for it’s own data and it’s own persistence
Amazons’ example
One of the rules in the Amazon when they shifted to a service oriented architecture is:
“One may never talk to another services’ data store, one can
only talk to another service through it’s API”
Microservices Main Advantages
1) it removes the mess with integration of different stuff through a database (even with
an ORM support)
2) languages and tools should individually be chosen by a microservice development
team
Example: individual microservices use a database that make sense for them (one
oracle, another one - fancy nosql, another may be mysql, etc)
Infrastructure automation
- Partial application deployment
- It’s important to put stuff to live with zero downtime
- Blue-Green deployment
Failover Design
- Lots of emphasis on monitoring
- Sooner or later remote services gonna fail, particularly if you distribute them
between multiple nodes (part of the reason why monitoring is so important)
- Tool: Simian Army (Chaos Monkey, Janitor Monkey, Conformity Monkey)
- One has to assume the things gonna break
Resources
● https://www.youtube.com/watch?v=wgdBVIX9ifA
● http://martinfowler.com/articles/microservices.html
● https://github.com/Netflix/SimianArmy/wiki
● http://martinfowler.com/bliki/BlueGreenDeployment.html

More Related Content

PDF
Developing, Administering and Debugging with WSO2 Enterprise Integrator
PDF
[WSO2Con EU 2017] Implementing Data Exchange Infrastructure in Government
PDF
[WSO2Con EU 2017] WHO CARES? A WSO2 Cloud Oriented Reference Architecture for...
PDF
[WSO2Con EU 2017] Extending Your Enterprise Integration Patterns Beyond ESBs
PPTX
Microservices
PPTX
Massimo Bonanni - L'approccio ai microservizi secondo Service Fabric - Codemo...
PPTX
WSO2 Summit London 2018: Delivering Business Value with WSO2
PDF
[WSO2Con EU 2017] Open Interoperability of WSO2 Analytics Platform
Developing, Administering and Debugging with WSO2 Enterprise Integrator
[WSO2Con EU 2017] Implementing Data Exchange Infrastructure in Government
[WSO2Con EU 2017] WHO CARES? A WSO2 Cloud Oriented Reference Architecture for...
[WSO2Con EU 2017] Extending Your Enterprise Integration Patterns Beyond ESBs
Microservices
Massimo Bonanni - L'approccio ai microservizi secondo Service Fabric - Codemo...
WSO2 Summit London 2018: Delivering Business Value with WSO2
[WSO2Con EU 2017] Open Interoperability of WSO2 Analytics Platform

What's hot (20)

PDF
[WSO2Con EU 2017] Creating Composite Services Using Ballerina
PDF
Microservices: an introduction
PPTX
اساليب البرمجيات الحديثة Modern Software Development
PPTX
SOA vs Microservices vs SBA
PPTX
Do you need microservices architecture?
PPTX
Microservices
PPTX
Domain Driven Development (DDD)
PDF
What are Microservices | Microservices Architecture Training | Microservices ...
PPTX
Migrate existing web services and build native microservices in bluemix
PDF
The Rise of Microservices
PPTX
Microservices
PPTX
Microservices architecture
PDF
بالعربي التطور في البرمجة باستخدام ال .Net
PPTX
Understanding Microservice Architecture WSO2Con Asia 2016
PPTX
مقدمة عن NoSQL بالعربي
PDF
[WSO2Con EU 2017] Resilience Patterns with Ballerina
PPTX
Modern databases and its challenges (SQL ,NoSQL, NewSQL)
PPTX
Micro services
PPTX
Introduction To Microservices
PPTX
ms_project_ppt
[WSO2Con EU 2017] Creating Composite Services Using Ballerina
Microservices: an introduction
اساليب البرمجيات الحديثة Modern Software Development
SOA vs Microservices vs SBA
Do you need microservices architecture?
Microservices
Domain Driven Development (DDD)
What are Microservices | Microservices Architecture Training | Microservices ...
Migrate existing web services and build native microservices in bluemix
The Rise of Microservices
Microservices
Microservices architecture
بالعربي التطور في البرمجة باستخدام ال .Net
Understanding Microservice Architecture WSO2Con Asia 2016
مقدمة عن NoSQL بالعربي
[WSO2Con EU 2017] Resilience Patterns with Ballerina
Modern databases and its challenges (SQL ,NoSQL, NewSQL)
Micro services
Introduction To Microservices
ms_project_ppt
Ad

Viewers also liked (13)

PDF
Departures - Mustique
PDF
BrianG_Internal Auditing Management Systems
DOCX
Waseem Babar Lin
PPT
Flat Classroom Mashups, 7 Steps to Flatten your Classroom
DOCX
Sesion 2016
DOC
Toplinski strojevi
PPTX
Mapa conceptual etapas de la reingeniería yoendrick prieto
PPTX
Figuras Literarias
PDF
001 Oseas introducción
PDF
Go Serverless with AWS Lambda and Apex
PPT
Grado+17+ +caballero+de+oriente+y+occidente+-+segunda+parte
DOC
Matematik Kertas 2 Tahun 4
Departures - Mustique
BrianG_Internal Auditing Management Systems
Waseem Babar Lin
Flat Classroom Mashups, 7 Steps to Flatten your Classroom
Sesion 2016
Toplinski strojevi
Mapa conceptual etapas de la reingeniería yoendrick prieto
Figuras Literarias
001 Oseas introducción
Go Serverless with AWS Lambda and Apex
Grado+17+ +caballero+de+oriente+y+occidente+-+segunda+parte
Matematik Kertas 2 Tahun 4
Ad

Similar to Microservices (en) (20)

PDF
Introduction to Microservices Architecture - SECCOMP 2020
PDF
170215 msa intro
PDF
Building microservices on azure
PDF
Microservice Architecture
PDF
20141210 - Microservice Container
PPTX
Microservice intro
PDF
Microservices: Where do they fit within a rapidly evolving integration archit...
PPTX
Software Architectures, Week 3 - Microservice-based Architectures
PDF
Microservices architecture enterprise architecture
PDF
Microservices for Application Modernisation
PDF
L11 Service Design and REST
PPTX
Concurrency at Scale: Evolution to Micro-Services
PDF
What Is Microservices Architecture and How Does It Benefit App Development.pdf
PPSX
Microservices Docker Kubernetes Istio Kanban DevOps SRE
PPTX
Microservices Architecture - Bangkok 2018
PDF
Microservices in cloud-based infrastructure
PPTX
Microservices why?
PPSX
Microservices Architecture, Monolith Migration Patterns
PPTX
Microservices
PPTX
Service Architectures at Scale
Introduction to Microservices Architecture - SECCOMP 2020
170215 msa intro
Building microservices on azure
Microservice Architecture
20141210 - Microservice Container
Microservice intro
Microservices: Where do they fit within a rapidly evolving integration archit...
Software Architectures, Week 3 - Microservice-based Architectures
Microservices architecture enterprise architecture
Microservices for Application Modernisation
L11 Service Design and REST
Concurrency at Scale: Evolution to Micro-Services
What Is Microservices Architecture and How Does It Benefit App Development.pdf
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Architecture - Bangkok 2018
Microservices in cloud-based infrastructure
Microservices why?
Microservices Architecture, Monolith Migration Patterns
Microservices
Service Architectures at Scale

Recently uploaded (20)

PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
PDF
substrate PowerPoint Presentation basic one
PDF
Altius execution marketplace concept.pdf
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
PPTX
SGT Report The Beast Plan and Cyberphysical Systems of Control
PPTX
Internet of Everything -Basic concepts details
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
A symptom-driven medical diagnosis support model based on machine learning te...
Introduction to MCP and A2A Protocols: Enabling Agent Communication
substrate PowerPoint Presentation basic one
Altius execution marketplace concept.pdf
4 layer Arch & Reference Arch of IoT.pdf
Co-training pseudo-labeling for text classification with support vector machi...
NewMind AI Weekly Chronicles – August ’25 Week IV
Data Virtualization in Action: Scaling APIs and Apps with FME
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
SGT Report The Beast Plan and Cyberphysical Systems of Control
Internet of Everything -Basic concepts details
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
giants, standing on the shoulders of - by Daniel Stenberg
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
LMS bot: enhanced learning management systems for improved student learning e...
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf

Microservices (en)

  • 2. Microservices Main Characteristics By Martin Fowler: 1. Components via services 2. Organized around business capabilities 3. Products not Projects 4. Smart endpoints and dump pipes 5. Decentralized governance 6. Decentralized data management 7. Infrastructure automation 8. Design for failure 9. Evolutionary design
  • 3. Grouped by `idea`: 1. Components via services, not libraries 2. Arranging efforts around business needs: ● Some microproducts are being created that rule all the business logic and processes within the service ● Decentralization in product and product storage management 3. Infrastructure: ○ Design for failure ○ Evolutionary design ○ CI & Monitoring Microservices Main Characteristics
  • 4. The main idea is to make ... an independently replaceable & independently updatable components b1 b2 b3 a1 c1 c2 d1 d2
  • 5. There are 2 main types of components: 1. Libraries (require a new vendor or create your own) 2. Services Types Of Application Components Component a1 b2 Library a1 Service b2 Service
  • 6. Monolithic Architecture - tightly coupled application components, all updates cause the whole application code to be deployed, even if there was one one comma missing somewhere (use libraries and/or library-based components) Service Oriented Architecture - gives the ability to replace or update either of application components (use standalone services, mainly via http API) Types Of Applications SOA Microservices
  • 7. Organized around business capabilities Monolithic app. / SOA Microservices / SOA Organized around technologies Organized around business capabilities UI Server DBA Payments Marketing CRM
  • 8. Microservice Team ● “2 pizza team” rule ● Each team must be as fullstack as possible ● Each team is responsible for all the Microservice processes, starting from the communication with end users and ending by deploying some features to the production environment
  • 9. Service Oriented Architecture Service Oriented Architecture (SOA) - a powerful piece of a middleware that will automatically do all the staff (route messages, apply business rules, do filtering, validations and lots of other things). This kind of middleware is also called an ESB (Enterprise Service Bus or, jokingly, Egregious Spaghetti Box). Here a, b, c are the dumb endpoints of certain services. ESB a b c
  • 10. Diff SOA Microservices ESB a b c a b c All smartness moves to the end-points ESB becomes just a good piping mechanism Example: Internet The main idea is a Decentralization
  • 11. Application Evolution Monolithic application - one hunky big relational database and it commits to all across the application components SOA - lots of services each pulling data from one logically large database Microsevice - each service is responsible for it’s own data and it’s own persistence
  • 12. Amazons’ example One of the rules in the Amazon when they shifted to a service oriented architecture is: “One may never talk to another services’ data store, one can only talk to another service through it’s API”
  • 13. Microservices Main Advantages 1) it removes the mess with integration of different stuff through a database (even with an ORM support) 2) languages and tools should individually be chosen by a microservice development team Example: individual microservices use a database that make sense for them (one oracle, another one - fancy nosql, another may be mysql, etc)
  • 14. Infrastructure automation - Partial application deployment - It’s important to put stuff to live with zero downtime - Blue-Green deployment
  • 15. Failover Design - Lots of emphasis on monitoring - Sooner or later remote services gonna fail, particularly if you distribute them between multiple nodes (part of the reason why monitoring is so important) - Tool: Simian Army (Chaos Monkey, Janitor Monkey, Conformity Monkey) - One has to assume the things gonna break
  • 16. Resources ● https://www.youtube.com/watch?v=wgdBVIX9ifA ● http://martinfowler.com/articles/microservices.html ● https://github.com/Netflix/SimianArmy/wiki ● http://martinfowler.com/bliki/BlueGreenDeployment.html