SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
MicroServices
Intro
by alex apollonsky
manahealth
Agenda
● Monolithic Architecture
● Monolithic Architecture Shortcomings
● MicroServices to help
● MicroServices Principles
● MicroServices Design Patterns
● MicroServices Key Technologies
● MicroServices Adoption Strategy Example
Monolithic Service
Monolithic Architecture
● Large Server-Side Process providing complete domain functionality
● Exposes multiple x-domain endpoints
● Deployed as a single unit
● Can be horizontally scaled by running multiple instances
● Example:
Authentication Administration Data Access Data Updates ...
HTTP Endpoints
Transactional Database
Monolithic Architecture Shortcomings
● Can be deployed only as single unit
● Regression Testing of the complete service required after every change
● Difficult to maintain good modular structure as service grows
● Complexity and amount of Unit and Integration Tests
● Difficult to coordinate team (or multiple teams) working on the same service
MicroServices to Help
● Smaller Independently Deployable Services
● Each Service relies on its own persistence layer where possible
● Manageable Unit/Integration Tests
● Not locked in into single technology/language
● Scalable across multiple teams
Authentication Administration Data Access Data Updates ...
HTTP Endpoints
Transactional Database
Service Data Service Data Service Data Service Data Service Data
MicroServices Principles
● Organized around Business Capabilities (Domain-Driven Design)
● Deploy separately, deploy in Containers
● Smart Endpoints and Dumb Pipes
○ Queues/Topics used for data transfer, not intelligent routing
○ Services are smart enough to pickup/process their data
● Coarser-grained communication approach
○ Changing in-memory calls to RPC or messaging will make it too chatty
○ May need to aggregate service logic
● Decentralized Data Management
○ Use independent persistence layer where makes sense
● Design with Versioning in mind
● Follow Single Responsibility Principle
○ Gather those things which change for the same reason, Separate those things which change for
the different reason
● Beware of nano-services
MicroServices Design Patterns: Aggregator (Proxy)
MicroServices Design Patterns: Chained
MicroServices Design Patterns: Register/Discover
Service A
Service Registry
(router)
Service B
Register
Service
Discover
Service
MicroServices Key Technologies
Docker - Container
Kubernetes - Container Orchestration (deployment/management)
Docker Swarm - another Container Orchestration
Mesos/Marathon - yet another Container Orchestration
Rancher - Orchestration UI console
MicroServices Adoption Strategy Example
● Plan/POC deployment/CI infrastructure
● Create MicroServices Project Template
● Start new services as MicroServices
● Migrate existing monolithic services to MicroServices architecture in the
background (out of critical path)
Research/POC Deployment/CI
MicroService
Template
Create New
MicroServices
Migrate Existing
Services
References
● https://martinfowler.com/articles/microservices.html
● https://en.wikipedia.org/wiki/Microservices
● http://microservices.io/patterns/microservices.html

Mais conteúdo relacionado

Mais procurados

OpenText MBPM Q&A Webinar
OpenText MBPM Q&A WebinarOpenText MBPM Q&A Webinar
OpenText MBPM Q&A Webinarconvedo Group
 
uPortal Q1 2018 Quarterly Briefing
uPortal Q1 2018 Quarterly BriefinguPortal Q1 2018 Quarterly Briefing
uPortal Q1 2018 Quarterly BriefingChrisBeach22
 
Mule soft meetup__jaipur_december_2020_final
Mule soft meetup__jaipur_december_2020_finalMule soft meetup__jaipur_december_2020_final
Mule soft meetup__jaipur_december_2020_finalLalit Panwar
 
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...Ravindra Singh
 
How to keep modules up to date
How to keep modules up to dateHow to keep modules up to date
How to keep modules up to dateThomas Fleck
 
Going to library with angular
Going to library with angularGoing to library with angular
Going to library with angularKnoldus Inc.
 
Trunk based development ritabrata
Trunk based development ritabrataTrunk based development ritabrata
Trunk based development ritabrataapgionline
 
11th Manila MuleSoft Meetup Dec 2021
11th Manila MuleSoft Meetup Dec 202111th Manila MuleSoft Meetup Dec 2021
11th Manila MuleSoft Meetup Dec 2021Ryan Anthony Andal
 
Webinar: How to Build Courses the Way Engineers Build Software
Webinar: How to Build Courses the Way Engineers Build SoftwareWebinar: How to Build Courses the Way Engineers Build Software
Webinar: How to Build Courses the Way Engineers Build SoftwareSarah E. Brown
 
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2WSO2
 
Ext JS 6.6 Highlights
Ext JS 6.6 HighlightsExt JS 6.6 Highlights
Ext JS 6.6 HighlightsSencha
 
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)Dhilipsiva DS
 
Freedomotic v5.5 Changelog
Freedomotic v5.5 ChangelogFreedomotic v5.5 Changelog
Freedomotic v5.5 Changelogfreedomotic
 
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)Ross McDonald
 
Continuous delivery journey - Montgomery county JUG
Continuous delivery journey - Montgomery county JUGContinuous delivery journey - Montgomery county JUG
Continuous delivery journey - Montgomery county JUGRaphaël Brugier
 
Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)Igalia
 
Agile work practices and tools
Agile work practices and toolsAgile work practices and tools
Agile work practices and toolsDaniel Lopes
 

Mais procurados (20)

How to sell drupal 8
How to sell drupal 8How to sell drupal 8
How to sell drupal 8
 
OpenText MBPM Q&A Webinar
OpenText MBPM Q&A WebinarOpenText MBPM Q&A Webinar
OpenText MBPM Q&A Webinar
 
uPortal Q1 2018 Quarterly Briefing
uPortal Q1 2018 Quarterly BriefinguPortal Q1 2018 Quarterly Briefing
uPortal Q1 2018 Quarterly Briefing
 
Mule soft meetup__jaipur_december_2020_final
Mule soft meetup__jaipur_december_2020_finalMule soft meetup__jaipur_december_2020_final
Mule soft meetup__jaipur_december_2020_final
 
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
 
Git
GitGit
Git
 
How to keep modules up to date
How to keep modules up to dateHow to keep modules up to date
How to keep modules up to date
 
Going to library with angular
Going to library with angularGoing to library with angular
Going to library with angular
 
Trunk based development ritabrata
Trunk based development ritabrataTrunk based development ritabrata
Trunk based development ritabrata
 
11th Manila MuleSoft Meetup Dec 2021
11th Manila MuleSoft Meetup Dec 202111th Manila MuleSoft Meetup Dec 2021
11th Manila MuleSoft Meetup Dec 2021
 
Webinar: How to Build Courses the Way Engineers Build Software
Webinar: How to Build Courses the Way Engineers Build SoftwareWebinar: How to Build Courses the Way Engineers Build Software
Webinar: How to Build Courses the Way Engineers Build Software
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
 
Ext JS 6.6 Highlights
Ext JS 6.6 HighlightsExt JS 6.6 Highlights
Ext JS 6.6 Highlights
 
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
 
Freedomotic v5.5 Changelog
Freedomotic v5.5 ChangelogFreedomotic v5.5 Changelog
Freedomotic v5.5 Changelog
 
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
 
Continuous delivery journey - Montgomery county JUG
Continuous delivery journey - Montgomery county JUGContinuous delivery journey - Montgomery county JUG
Continuous delivery journey - Montgomery county JUG
 
Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)
 
Agile work practices and tools
Agile work practices and toolsAgile work practices and tools
Agile work practices and tools
 

Semelhante a Micro Services Intro

Kenzan: Architecting for Microservices
Kenzan: Architecting for MicroservicesKenzan: Architecting for Microservices
Kenzan: Architecting for MicroservicesDarren Bathgate
 
Docker microservices and the service mesh
Docker microservices and the service meshDocker microservices and the service mesh
Docker microservices and the service meshDocker, Inc.
 
Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020Rodrigo Antonialli
 
Ledingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionLedingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionMukesh Singh
 
Microservices, docker , kubernetes and many more
Microservices, docker , kubernetes and many moreMicroservices, docker , kubernetes and many more
Microservices, docker , kubernetes and many moreVishwas N
 
introduction to micro services
introduction to micro servicesintroduction to micro services
introduction to micro servicesSpyros Lambrinidis
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservicesRon Barabash
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture PatternsAssaf Gannon
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices ArchitectureParia Heidari
 
Closer Look at Cloud Centric Architectures
Closer Look at Cloud Centric ArchitecturesCloser Look at Cloud Centric Architectures
Closer Look at Cloud Centric ArchitecturesTodd Kaplinger
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureNGINX, Inc.
 
Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingWSO2
 
Docker, Microservices, and the Service Mesh
Docker, Microservices, and the Service MeshDocker, Microservices, and the Service Mesh
Docker, Microservices, and the Service MeshTony Pujals
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices ArchitectureVin Dahake
 
Dynamic Hybrid Cloud Applications
Dynamic Hybrid Cloud ApplicationsDynamic Hybrid Cloud Applications
Dynamic Hybrid Cloud ApplicationsBram de Kruijff
 
Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis
Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander BroekhuisDynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis
Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuismfrancis
 
Building microservices on azure
Building microservices on azureBuilding microservices on azure
Building microservices on azureVaibhav Gujral
 
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEANGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEANGINX, Inc.
 

Semelhante a Micro Services Intro (20)

Kenzan: Architecting for Microservices
Kenzan: Architecting for MicroservicesKenzan: Architecting for Microservices
Kenzan: Architecting for Microservices
 
Docker microservices and the service mesh
Docker microservices and the service meshDocker microservices and the service mesh
Docker microservices and the service mesh
 
Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020
 
Ledingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionLedingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in action
 
Microservices, docker , kubernetes and many more
Microservices, docker , kubernetes and many moreMicroservices, docker , kubernetes and many more
Microservices, docker , kubernetes and many more
 
introduction to micro services
introduction to micro servicesintroduction to micro services
introduction to micro services
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservices
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices Architecture
 
Closer Look at Cloud Centric Architectures
Closer Look at Cloud Centric ArchitecturesCloser Look at Cloud Centric Architectures
Closer Look at Cloud Centric Architectures
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
 
Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud Computing
 
Microservices
MicroservicesMicroservices
Microservices
 
Docker, Microservices, and the Service Mesh
Docker, Microservices, and the Service MeshDocker, Microservices, and the Service Mesh
Docker, Microservices, and the Service Mesh
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices Architecture
 
Dynamic Hybrid Cloud Applications
Dynamic Hybrid Cloud ApplicationsDynamic Hybrid Cloud Applications
Dynamic Hybrid Cloud Applications
 
Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis
Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander BroekhuisDynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis
Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis
 
Surviving microservices
Surviving microservicesSurviving microservices
Surviving microservices
 
Building microservices on azure
Building microservices on azureBuilding microservices on azure
Building microservices on azure
 
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEANGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
 

Último

WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 

Último (20)

WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

Micro Services Intro

  • 2. Agenda ● Monolithic Architecture ● Monolithic Architecture Shortcomings ● MicroServices to help ● MicroServices Principles ● MicroServices Design Patterns ● MicroServices Key Technologies ● MicroServices Adoption Strategy Example
  • 3. Monolithic Service Monolithic Architecture ● Large Server-Side Process providing complete domain functionality ● Exposes multiple x-domain endpoints ● Deployed as a single unit ● Can be horizontally scaled by running multiple instances ● Example: Authentication Administration Data Access Data Updates ... HTTP Endpoints Transactional Database
  • 4. Monolithic Architecture Shortcomings ● Can be deployed only as single unit ● Regression Testing of the complete service required after every change ● Difficult to maintain good modular structure as service grows ● Complexity and amount of Unit and Integration Tests ● Difficult to coordinate team (or multiple teams) working on the same service
  • 5. MicroServices to Help ● Smaller Independently Deployable Services ● Each Service relies on its own persistence layer where possible ● Manageable Unit/Integration Tests ● Not locked in into single technology/language ● Scalable across multiple teams Authentication Administration Data Access Data Updates ... HTTP Endpoints Transactional Database Service Data Service Data Service Data Service Data Service Data
  • 6. MicroServices Principles ● Organized around Business Capabilities (Domain-Driven Design) ● Deploy separately, deploy in Containers ● Smart Endpoints and Dumb Pipes ○ Queues/Topics used for data transfer, not intelligent routing ○ Services are smart enough to pickup/process their data ● Coarser-grained communication approach ○ Changing in-memory calls to RPC or messaging will make it too chatty ○ May need to aggregate service logic ● Decentralized Data Management ○ Use independent persistence layer where makes sense ● Design with Versioning in mind ● Follow Single Responsibility Principle ○ Gather those things which change for the same reason, Separate those things which change for the different reason ● Beware of nano-services
  • 7. MicroServices Design Patterns: Aggregator (Proxy)
  • 9. MicroServices Design Patterns: Register/Discover Service A Service Registry (router) Service B Register Service Discover Service
  • 10. MicroServices Key Technologies Docker - Container Kubernetes - Container Orchestration (deployment/management) Docker Swarm - another Container Orchestration Mesos/Marathon - yet another Container Orchestration Rancher - Orchestration UI console
  • 11. MicroServices Adoption Strategy Example ● Plan/POC deployment/CI infrastructure ● Create MicroServices Project Template ● Start new services as MicroServices ● Migrate existing monolithic services to MicroServices architecture in the background (out of critical path) Research/POC Deployment/CI MicroService Template Create New MicroServices Migrate Existing Services