SlideShare a Scribd company logo
Microservices Architecture
Abid H Khan
Agenda
Monolithic Architecture
Scalling
Microservices Architecture
Monolithic Architecture
All functionality is coupled in single process
The application is either layered or hexagonal
Presentation layer
Business layer
Data layer
Integration layer
Hexagonal Architecture
Objectives
There is a team of developers working on the
application
New team members must quickly become
productive
The application must be easy to understand
and modify
Ensure continuous deployment of the
application
Objectives
Must satisfy scalability and availability
requirements
Introducing technologies
Scale Cube
X axis scaling
Y axis scaling
Z axis scaling
Microservices
Advantages
Each microservice is small
Each service can be deployed independently
Easier to scale development
Increases faultorance
Eliminate long term association with
technology stack
Drawbacks
Complexity of creating distributed system
Deployment complexity
Additional memory consumption
How to partition
By verb or use case
By nouns or resources
Which one to choose
At the early stage of
the application when
challenge is how to
rapidly adapt business
model
At stage when scale is
important
Microservices architecture

More Related Content

What's hot

[WSO2Con EU 2017] Resilience Patterns with Ballerina
[WSO2Con EU 2017] Resilience Patterns with Ballerina[WSO2Con EU 2017] Resilience Patterns with Ballerina
[WSO2Con EU 2017] Resilience Patterns with Ballerina
WSO2
 
Microservices with Mule
Microservices with MuleMicroservices with Mule
Microservices with Mule
Coforge (Erstwhile WHISHWORKS)
 
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...Developing a Service-oriented Architecture (SOA)- based Product Management Pl...
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...
Amine KOUIS
 
WSO2Con EU 2016: Understanding Microservice Architecture
WSO2Con EU 2016: Understanding Microservice ArchitectureWSO2Con EU 2016: Understanding Microservice Architecture
WSO2Con EU 2016: Understanding Microservice Architecture
WSO2
 
Architecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First TimeArchitecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First Time
Serhiy (Serge) Haziyev
 
The Future of B2B: Applying API-Led Connectivity to B2B/EDI - Eric Rempel, CI...
The Future of B2B: Applying API-Led Connectivity to B2B/EDI - Eric Rempel, CI...The Future of B2B: Applying API-Led Connectivity to B2B/EDI - Eric Rempel, CI...
The Future of B2B: Applying API-Led Connectivity to B2B/EDI - Eric Rempel, CI...
MuleSoft
 
Service mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsService mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communications
Satya Syam
 
Cloud Foundry and MongoDB
Cloud Foundry and MongoDBCloud Foundry and MongoDB
Cloud Foundry and MongoDB
Jake Peyser
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
Rabbani Mohideen
 
Domain Driven Development (DDD)
Domain Driven Development (DDD)Domain Driven Development (DDD)
Domain Driven Development (DDD)
Subramanyam Vemala
 
WSO2Con EU 2016: Introduction to the All New WSO2 Governance Centre
WSO2Con EU 2016: Introduction to the All New WSO2 Governance CentreWSO2Con EU 2016: Introduction to the All New WSO2 Governance Centre
WSO2Con EU 2016: Introduction to the All New WSO2 Governance Centre
WSO2
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for Microservices
Matt McLarty
 
Deep-dive into Microservice Outer Architecture
Deep-dive into Microservice Outer ArchitectureDeep-dive into Microservice Outer Architecture
Deep-dive into Microservice Outer Architecture
WSO2
 
Value of Integration: Results from a Benchmark Study
Value of Integration: Results from a Benchmark StudyValue of Integration: Results from a Benchmark Study
Value of Integration: Results from a Benchmark Study
MuleSoft
 
Enterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesEnterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices Architectures
Crishantha Nanayakkara
 
MuleSoft for Enterprises
MuleSoft for EnterprisesMuleSoft for Enterprises
MuleSoft for Enterprises
PrashantGolani1
 
Lightweight ESB Alternatives
Lightweight ESB AlternativesLightweight ESB Alternatives
Lightweight ESB Alternatives
Chris Haddad
 
How API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy ModernizationHow API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy Modernization
MuleSoft
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration Technologies
Peter R. Egli
 
Guide to Application Performance: Planning to Continued Optimization
Guide to Application Performance: Planning to Continued OptimizationGuide to Application Performance: Planning to Continued Optimization
Guide to Application Performance: Planning to Continued Optimization
MuleSoft
 

What's hot (20)

[WSO2Con EU 2017] Resilience Patterns with Ballerina
[WSO2Con EU 2017] Resilience Patterns with Ballerina[WSO2Con EU 2017] Resilience Patterns with Ballerina
[WSO2Con EU 2017] Resilience Patterns with Ballerina
 
Microservices with Mule
Microservices with MuleMicroservices with Mule
Microservices with Mule
 
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...Developing a Service-oriented Architecture (SOA)- based Product Management Pl...
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...
 
WSO2Con EU 2016: Understanding Microservice Architecture
WSO2Con EU 2016: Understanding Microservice ArchitectureWSO2Con EU 2016: Understanding Microservice Architecture
WSO2Con EU 2016: Understanding Microservice Architecture
 
Architecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First TimeArchitecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First Time
 
The Future of B2B: Applying API-Led Connectivity to B2B/EDI - Eric Rempel, CI...
The Future of B2B: Applying API-Led Connectivity to B2B/EDI - Eric Rempel, CI...The Future of B2B: Applying API-Led Connectivity to B2B/EDI - Eric Rempel, CI...
The Future of B2B: Applying API-Led Connectivity to B2B/EDI - Eric Rempel, CI...
 
Service mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsService mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communications
 
Cloud Foundry and MongoDB
Cloud Foundry and MongoDBCloud Foundry and MongoDB
Cloud Foundry and MongoDB
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
Domain Driven Development (DDD)
Domain Driven Development (DDD)Domain Driven Development (DDD)
Domain Driven Development (DDD)
 
WSO2Con EU 2016: Introduction to the All New WSO2 Governance Centre
WSO2Con EU 2016: Introduction to the All New WSO2 Governance CentreWSO2Con EU 2016: Introduction to the All New WSO2 Governance Centre
WSO2Con EU 2016: Introduction to the All New WSO2 Governance Centre
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for Microservices
 
Deep-dive into Microservice Outer Architecture
Deep-dive into Microservice Outer ArchitectureDeep-dive into Microservice Outer Architecture
Deep-dive into Microservice Outer Architecture
 
Value of Integration: Results from a Benchmark Study
Value of Integration: Results from a Benchmark StudyValue of Integration: Results from a Benchmark Study
Value of Integration: Results from a Benchmark Study
 
Enterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesEnterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices Architectures
 
MuleSoft for Enterprises
MuleSoft for EnterprisesMuleSoft for Enterprises
MuleSoft for Enterprises
 
Lightweight ESB Alternatives
Lightweight ESB AlternativesLightweight ESB Alternatives
Lightweight ESB Alternatives
 
How API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy ModernizationHow API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy Modernization
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration Technologies
 
Guide to Application Performance: Planning to Continued Optimization
Guide to Application Performance: Planning to Continued OptimizationGuide to Application Performance: Planning to Continued Optimization
Guide to Application Performance: Planning to Continued Optimization
 

Viewers also liked

Mapasmentalesd
MapasmentalesdMapasmentalesd
Mapasmentalesd
beatrizyumisaca
 
Foundation of Success
Foundation of SuccessFoundation of Success
Foundation of Success
LBIE
 
cuadro comparativo
cuadro comparativocuadro comparativo
cuadro comparativoeibanez55
 
RSanders Resume
RSanders ResumeRSanders Resume
RSanders Resume
Robert Sanders
 
Ashford edu 645 week 4 dq 2 marking
Ashford edu 645 week 4 dq 2 markingAshford edu 645 week 4 dq 2 marking
Ashford edu 645 week 4 dq 2 marking
afefwefswfef
 
Mapa mental ing_de_sistema [sólo lectura]
Mapa mental ing_de_sistema [sólo lectura]Mapa mental ing_de_sistema [sólo lectura]
Mapa mental ing_de_sistema [sólo lectura]
karelyssb
 
Img 0001
Img 0001Img 0001
Img 0001
nazmi1999
 
Blm
BlmBlm
Μεσογειακή διατροφή
Μεσογειακή διατροφήΜεσογειακή διατροφή
Μεσογειακή διατροφή
http://users.sch.gr/violetastaurou/
 
Uni on tärkeä osa hyvinvointia
Uni on tärkeä osa hyvinvointiaUni on tärkeä osa hyvinvointia
Uni on tärkeä osa hyvinvointia
Omat askeleet - hyvinvointipalvelut
 
Mielen hyvinvointi
Mielen hyvinvointiMielen hyvinvointi
Biografía de Gandhi para niños
Biografía de Gandhi para niñosBiografía de Gandhi para niños
Biografía de Gandhi para niños
meguaras
 
Real World Event Sourcing and CQRS
Real World Event Sourcing and CQRSReal World Event Sourcing and CQRS
Real World Event Sourcing and CQRS
Matthew Hawkins
 
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Lightbend
 

Viewers also liked (14)

Mapasmentalesd
MapasmentalesdMapasmentalesd
Mapasmentalesd
 
Foundation of Success
Foundation of SuccessFoundation of Success
Foundation of Success
 
cuadro comparativo
cuadro comparativocuadro comparativo
cuadro comparativo
 
RSanders Resume
RSanders ResumeRSanders Resume
RSanders Resume
 
Ashford edu 645 week 4 dq 2 marking
Ashford edu 645 week 4 dq 2 markingAshford edu 645 week 4 dq 2 marking
Ashford edu 645 week 4 dq 2 marking
 
Mapa mental ing_de_sistema [sólo lectura]
Mapa mental ing_de_sistema [sólo lectura]Mapa mental ing_de_sistema [sólo lectura]
Mapa mental ing_de_sistema [sólo lectura]
 
Img 0001
Img 0001Img 0001
Img 0001
 
Blm
BlmBlm
Blm
 
Μεσογειακή διατροφή
Μεσογειακή διατροφήΜεσογειακή διατροφή
Μεσογειακή διατροφή
 
Uni on tärkeä osa hyvinvointia
Uni on tärkeä osa hyvinvointiaUni on tärkeä osa hyvinvointia
Uni on tärkeä osa hyvinvointia
 
Mielen hyvinvointi
Mielen hyvinvointiMielen hyvinvointi
Mielen hyvinvointi
 
Biografía de Gandhi para niños
Biografía de Gandhi para niñosBiografía de Gandhi para niños
Biografía de Gandhi para niños
 
Real World Event Sourcing and CQRS
Real World Event Sourcing and CQRSReal World Event Sourcing and CQRS
Real World Event Sourcing and CQRS
 
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
 

Similar to Microservices architecture

Microservice final final
Microservice final finalMicroservice final final
Microservice final final
gaurav shukla
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services Architecture
Uncodemy
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
Ajay Kumar Uppal
 
Adobe Flex Competency Center Presentation
Adobe Flex Competency Center PresentationAdobe Flex Competency Center Presentation
Adobe Flex Competency Center Presentation
Systems In Motion
 
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
CitiusTech
 
From Monolithic applications to Microservices
From Monolithic applications to MicroservicesFrom Monolithic applications to Microservices
From Monolithic applications to Microservices
kedarpethe37
 
DeveloperWeek 2020: Cloud-Native and Microservices Accelerate Process Improve...
DeveloperWeek 2020: Cloud-Native and Microservices Accelerate Process Improve...DeveloperWeek 2020: Cloud-Native and Microservices Accelerate Process Improve...
DeveloperWeek 2020: Cloud-Native and Microservices Accelerate Process Improve...
Shahir Daya
 
#ATAGTR2020 Presentation - Microservices – Explored
#ATAGTR2020 Presentation - Microservices – Explored#ATAGTR2020 Presentation - Microservices – Explored
#ATAGTR2020 Presentation - Microservices – Explored
Agile Testing Alliance
 
Leveraging Hybid IT for More Robust Business Services
Leveraging Hybid IT for More Robust Business ServicesLeveraging Hybid IT for More Robust Business Services
Leveraging Hybid IT for More Robust Business Services
Amazon Web Services
 
AWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWS
Amazon Web Services
 
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
Simform
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.
PLovababu
 
Sanjeev
SanjeevSanjeev
Sanjeev
sanjeevk99
 
Introduction to Red Hat Mobile Application Platform
Introduction to Red Hat Mobile Application PlatformIntroduction to Red Hat Mobile Application Platform
Introduction to Red Hat Mobile Application Platform
Evan Wong
 
Cloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsCloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key Components
AndrewHolland58
 
Exploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsExploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key Components
Lucy Zeniffer
 
Leverage the Power of the Cloud to Develop Your Next Application.
Leverage the Power of the Cloud to Develop Your Next Application.Leverage the Power of the Cloud to Develop Your Next Application.
Leverage the Power of the Cloud to Develop Your Next Application.
HashStudiozTechnolog
 
Complementing Agile SDLC with Agile Architecture
Complementing Agile SDLC with Agile ArchitectureComplementing Agile SDLC with Agile Architecture
Complementing Agile SDLC with Agile Architecture
Enterprise Architecture Professional Journal
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps Tour
Chef
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdf
Ahmed Misbah
 

Similar to Microservices architecture (20)

Microservice final final
Microservice final finalMicroservice final final
Microservice final final
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services Architecture
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
 
Adobe Flex Competency Center Presentation
Adobe Flex Competency Center PresentationAdobe Flex Competency Center Presentation
Adobe Flex Competency Center Presentation
 
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
 
From Monolithic applications to Microservices
From Monolithic applications to MicroservicesFrom Monolithic applications to Microservices
From Monolithic applications to Microservices
 
DeveloperWeek 2020: Cloud-Native and Microservices Accelerate Process Improve...
DeveloperWeek 2020: Cloud-Native and Microservices Accelerate Process Improve...DeveloperWeek 2020: Cloud-Native and Microservices Accelerate Process Improve...
DeveloperWeek 2020: Cloud-Native and Microservices Accelerate Process Improve...
 
#ATAGTR2020 Presentation - Microservices – Explored
#ATAGTR2020 Presentation - Microservices – Explored#ATAGTR2020 Presentation - Microservices – Explored
#ATAGTR2020 Presentation - Microservices – Explored
 
Leveraging Hybid IT for More Robust Business Services
Leveraging Hybid IT for More Robust Business ServicesLeveraging Hybid IT for More Robust Business Services
Leveraging Hybid IT for More Robust Business Services
 
AWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWS
 
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
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.
 
Sanjeev
SanjeevSanjeev
Sanjeev
 
Introduction to Red Hat Mobile Application Platform
Introduction to Red Hat Mobile Application PlatformIntroduction to Red Hat Mobile Application Platform
Introduction to Red Hat Mobile Application Platform
 
Cloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsCloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key Components
 
Exploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsExploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key Components
 
Leverage the Power of the Cloud to Develop Your Next Application.
Leverage the Power of the Cloud to Develop Your Next Application.Leverage the Power of the Cloud to Develop Your Next Application.
Leverage the Power of the Cloud to Develop Your Next Application.
 
Complementing Agile SDLC with Agile Architecture
Complementing Agile SDLC with Agile ArchitectureComplementing Agile SDLC with Agile Architecture
Complementing Agile SDLC with Agile Architecture
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps Tour
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdf
 

Recently uploaded

National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 

Recently uploaded (20)

National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 

Microservices architecture

Editor's Notes

  1. The book, The Art of Scalability, describes a really useful, three dimensional scalability model: the scale cube.
  2. X-axis scaling consists of running multiple copies of an application behind a load balancer. If there are N copies then each copy handles 1/N of the load. This is a simple, commonly used approach of scaling an application. One drawback of this approach is that because each copy potentially accesses all of the data, caches require more memory to be effective. Another problem with this approach is that it does not tackle the problems of increasing development and application complexity.
  3. Unlike X-axis and Z-axis, which consist of running multiple, identical copies of the application, Y-axis axis scaling splits the application into multiple, different services. Each service is responsible for one or more closely related functions. There are a couple of different ways of decomposing the application into services. One approach is to use verb-based decomposition and define services that implement a single use case such as checkout. The other option is to decompose the application by noun and create services responsible for all operations related to a particular entity such as customer management. An application might use a combination of verb-based and noun-based decomposition.
  4. When using Z-axis scaling each server runs an identical copy of the code. In this respect, it’s similar to X-axis scaling. The big difference is that each server is responsible for only a subset of the data. Some component of the system is responsible for routing each request to the appropriate server. One commonly used routing criteria is an attribute of the request such as the primary key of the entity being accessed. Another common routing criteria is the customer type. For example, an application might provide paying customers with a higher SLA than free customers by routing their requests to a different set of servers with more capacity. Z-axis splits are commonly used to scale databases. Data is partitioned (a.k.a. sharded) across a set of servers based on an attribute of each record. In this example, the primary key of the RESTAURANT table is used to partition the rows between two different database servers. Note that X-axis cloning might be applied to each partition by deploying one or more servers as replicas/slaves. Z-axis scaling can also be applied to applications. In this example, the search service consists of a number of partitions. A router sends each content item to the appropriate partition, where it is indexed and stored. A query aggregator sends each query to all of the partitions, and combines the results from each of them. Z-axis scaling has a number of benefits. Each server only deals with a subset of the data. This improves cache utilization and reduces memory usage and I/O traffic. It also improves transaction scalability since requests are typically distributed across multiple servers. Also, Z-axis scaling improves fault isolation since a failure only makes part of the data in accessible. Z-axis scaling has some drawbacks. One drawback is increased application complexity. We need to implement a partitioning scheme, which can be tricky especially if we ever need to repartition the data. Another drawback of Z-axis scaling is that doesn’t solve the problems of increasing development and application complexity. To solve those problems we need to apply Y-axis scaling.
  5. Each microservice is relatively small Easier for a developer to understand The IDE is faster making developers more productive The web container starts faster, which makes developers more productive, and speeds up deployments Each service can be deployed independently of other services - easier to deploy new versions of services frequently Easier to scale development. It enables you to organize the development effort around multiple teams. Each (two pizza) team is responsible a single service. Each team can develop, deploy and scale their service independently of all of the other teams. Improved fault isolation. For example, if there is a memory leak in one service then only that service will be affected. The other services will continue to handle requests. In comparison, one misbehaving component of a monolithic architecture can bring down the entire system. Each service can be developed and deployed independently Eliminates any long-term commitment to a technology stack
  6. Developers must deal with the additional complexity of creating a distributed system. Developer tools/IDEs are oriented on building monolithic applications and don't provide explicit support for developing distributed applications. Testing is more difficult Developers must implement the inter-service communication mechanism. Implementing use cases that span multiple services without using distributed transactions is difficult Implementing use cases that span multiple services requires careful coordination between the teams Deployment complexity. In production, there is also the operational complexity of deploying and managing a system comprised of many different service types. Increased memory consumption. The microservices architecture replaces N monolithic application instances with NxM services instances. If each service runs in its own JVM (or equivalent), which is usually necessary to isolate the instances, then there is the overhead of M times as many JVM runtimes. Moreover, if each service runs on its own VM (e.g. EC2 instance), as is the case at Netflix, the overhead is even higher.
  7. This is very much an art, but there are a number of strategies that can help. One approach is to partition services by verb or use case. For example, later on you will see that the partitioned e-commerce application has a Shipping service that’s responsible for shipping complete orders. Another common example of partitioning by verb is a login service that implements the login use case. Another partitioning approach is to partition the system by nouns or resources. This kind of service is responsible for all operations that operate on entities/resources of a given type. For example, later on you will see how it makes sense for the e-commerce system to have an Inventory service that keeps track of whether products are in stock. Ideally, each service should have only a small set of responsibilities. (Uncle) Bob Martin talks about designing classes using the Single Responsibility Principle (SRP). The SRP defines a responsibility of a class as a reason to change, and states that a class should only have one reason to change. It make sense to apply the SRP to service design as well. Another analogy that helps with service design is the design of Unix utilities. Unix provides a large number of utilities such as grep, cat and find. Each utility does exactly one thing, often exceptionally well, and can be combined with other utilities using a shell script to perform complex tasks.