SlideShare una empresa de Scribd logo
1 de 21
Microservices
Migrating cloud-native applications from monolithic to
microservices architectural pattern
Rishabh Karajgi
Computer Science and
Engineering, NIT Warangal
Underlying principle
“functional system decomposition into manageable and
independently deployable components”
Microservices usually managed by a single development
team (5-7 members).
• Functional system decomposition means vertical slicing (in
contrast to horizontal slicing through layers)
• Independent deployability implies no shared state and
inter-process communication (often via HTTP REST-ish
interfaces)
More specifically
Each microservice is functionally complete
with
Resource allocation
Database consistency
Each microservice handles one resource
(or verb), e.g.
Clients
Sale items
Checkouts
Independant deployability
It enables separation and independent evolution of
code base
technology stacks
scaling
and features, too
Each service has its own software repository
Codebase is maintainable for developers – it fits into their brain
Tools work fast – building, testing, refactoring code takes seconds
Independent technology stacks
Independant services can have independant technology stacks
The technology stack is selected as a best-fit to the task
Teams can also experiment with new technologies within a single microservice
No system-wide standardized technology stack also means
No piggy-pack dependencies to unnecessary technologies or libraries
Selected technology stacks are often very lightweight
A microservice is often just a single process that is started via command line, and
not code and configuration that is deployed to a container
Independent Scaling
Each microservice can be scaled
independently
Identified bottlenecks can be addressed
directly
Data sharding can be applied to
microservices as needed
Parts of the system that do not represent
bottlenecks can remain simple and un-
scaled
Stable Interfaces – standardized communication
Communication between microservices is
often standardized using
HTTP(S)
REST
JSON – simple data representation format
REST and JSON are convenient because
they simplify interface evolution (more on
this later)
Microservices Architecture
Characteristics of Microservices Architecture
Componentization via services
Organized around business capabilties
Products not Projects
Smart endpoints and dump pipes
Decentralized Governance
Decentralized Data Management
Infrastructure Automation
Design for Failure
Componentization via services
Organized around business capabilities
Smart endpoints and dumb pipes
Rather than stressing importance on
the communication mechanism
itself (for eg. Enterprise Service
Bus, which produces
sophisticated facilties for
message routing, choreography,
transformation and applying
business rules)
Microservices adopt a dumb pipe
(ie. only routing mechanism) and
request-response mechanisms
using REST and HTTP.
Decentralized Governance
Principle: focus on standardizing the relevant parts, and leverage battle-tested
standards and infrastructure Treats differently
What needs to be standardized
Communication protocol (HTTP)
Message format (JSON)
What should be standardized
Communication patterns (REST)
What doesn‘t need to be standardized
Infrastructure Automation
Having to deploy significant number of
services forces operations to automate
the infrastructure for
Deployment (Continuous Delivery)
Monitoring (Automated failure detection)
Managing (Automated failure recovery)
Consider that:
Amazon AWS is primarily an internal service
Netflix uses Chaos Monkey to further enforce
Service Oriented Architecture
Functional decomposition is also adopted by SOA:
Not usually required to be self contained within Data and UI.
It is often thought as decomposition within tiers, and introducing another tier –
the service orchestration tier
In comparison to microservices
Focused on enabling business-level programming through business processing
engines and languages.
Does not focus on independent deployment units and its consequences
Microservices can be seen as the “good-parts” of SOA.
Conclusion
Should we simply adopt it?
No. But they are a possible evolution for web systems due to rise in Cloud Computing.
Community often complains about existing challenges, prerequisites and difficulties.
Just the new fad?
Maybe/maybe not. Microservices is a new term, and an evolution of long-known
architectural principles applied in a specific way to a specific type of systems.
Dev-ops-heavy, and less managerial.
Due to open source tech landscape, there is faster growth and development.
That’s all folks!

Más contenido relacionado

La actualidad más candente

Cloud computing saas
Cloud computing   saasCloud computing   saas
Cloud computing saasYukti Kaura
 
Salesforce ppt v07122013
Salesforce ppt v07122013Salesforce ppt v07122013
Salesforce ppt v07122013ilovehck
 
Mulesoft Solutions for SOA
Mulesoft Solutions for SOAMulesoft Solutions for SOA
Mulesoft Solutions for SOAkumar gaurav
 
SaaS Introduction-May2014
SaaS Introduction-May2014SaaS Introduction-May2014
SaaS Introduction-May2014Nguyen Tung
 
Microservice-Based Architecture in the App Cloud
Microservice-Based Architecture in the App CloudMicroservice-Based Architecture in the App Cloud
Microservice-Based Architecture in the App CloudSalesforce Developers
 
Mule management console
Mule management consoleMule management console
Mule management consoleShanky Gupta
 
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented ArchitectureWSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented ArchitectureWSO2
 
Software as a Service - Concepts and Implementation
Software as a Service - Concepts and ImplementationSoftware as a Service - Concepts and Implementation
Software as a Service - Concepts and Implementationogglog
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gatewayMohammed246
 
Developing Enterprise Applications with the WSO2 Application Platform
Developing Enterprise Applications with the WSO2 Application PlatformDeveloping Enterprise Applications with the WSO2 Application Platform
Developing Enterprise Applications with the WSO2 Application PlatformNuwan Bandara
 
Platform as a Service overview
Platform as a Service overviewPlatform as a Service overview
Platform as a Service overviewMiguel Pastor
 

La actualidad más candente (18)

Cloud computing saas
Cloud computing   saasCloud computing   saas
Cloud computing saas
 
SaaS computing
SaaS computingSaaS computing
SaaS computing
 
Salesforce ppt v07122013
Salesforce ppt v07122013Salesforce ppt v07122013
Salesforce ppt v07122013
 
Mulesoft Solutions for SOA
Mulesoft Solutions for SOAMulesoft Solutions for SOA
Mulesoft Solutions for SOA
 
Mule management console
Mule management consoleMule management console
Mule management console
 
SaaS Introduction-May2014
SaaS Introduction-May2014SaaS Introduction-May2014
SaaS Introduction-May2014
 
Microservice-Based Architecture in the App Cloud
Microservice-Based Architecture in the App CloudMicroservice-Based Architecture in the App Cloud
Microservice-Based Architecture in the App Cloud
 
Mule management console
Mule management consoleMule management console
Mule management console
 
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented ArchitectureWSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
 
Api Layer
Api LayerApi Layer
Api Layer
 
Software as a Service - Concepts and Implementation
Software as a Service - Concepts and ImplementationSoftware as a Service - Concepts and Implementation
Software as a Service - Concepts and Implementation
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Mule fundamentals
Mule fundamentalsMule fundamentals
Mule fundamentals
 
Developing Enterprise Applications with the WSO2 Application Platform
Developing Enterprise Applications with the WSO2 Application PlatformDeveloping Enterprise Applications with the WSO2 Application Platform
Developing Enterprise Applications with the WSO2 Application Platform
 
Mule saas
Mule  saasMule  saas
Mule saas
 
Mule architecture
Mule architectureMule architecture
Mule architecture
 
Platform as a Service overview
Platform as a Service overviewPlatform as a Service overview
Platform as a Service overview
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 

Similar a Microservices Architecture

Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...
Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...
Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...jeetendra mandal
 
Introduction to Micro Services
Introduction to Micro ServicesIntroduction to Micro Services
Introduction to Micro ServicesShashi Shekhar
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service BusHamed Hatami
 
Information management
Information managementInformation management
Information managementDavid Champeau
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureFaren faren
 
Microservice Architecture Software Architecture Microservice Design Pattern
Microservice Architecture Software Architecture Microservice Design PatternMicroservice Architecture Software Architecture Microservice Design Pattern
Microservice Architecture Software Architecture Microservice Design Patternjeetendra mandal
 
REST & RESTful APIs: The State of Confusion
REST & RESTful APIs: The State of ConfusionREST & RESTful APIs: The State of Confusion
REST & RESTful APIs: The State of ConfusionGlenn Antoine
 
Term paper 2073131
Term paper   2073131Term paper   2073131
Term paper 2073131mtestman
 
The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLJorgen Thelin
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureMohamed Zaytoun
 
Adaptive provisioning of human expertise in Service Oriented Systems ppt
Adaptive provisioning of human expertise in Service Oriented Systems pptAdaptive provisioning of human expertise in Service Oriented Systems ppt
Adaptive provisioning of human expertise in Service Oriented Systems pptSurya2306
 
CBSE VS SOA Presentation
CBSE VS SOA PresentationCBSE VS SOA Presentation
CBSE VS SOA PresentationMaulik Parikh
 
CBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU PresentationCBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU Presentationmgp1560
 
170215 msa intro
170215 msa intro170215 msa intro
170215 msa introSonic leigh
 
Chapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdfChapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdfKhairul Anwar Sedek
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesEberhard Wolff
 

Similar a Microservices Architecture (20)

Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...
Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...
Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...
 
Introduction to Micro Services
Introduction to Micro ServicesIntroduction to Micro Services
Introduction to Micro Services
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 
Information management
Information managementInformation management
Information management
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Microservice Architecture Software Architecture Microservice Design Pattern
Microservice Architecture Software Architecture Microservice Design PatternMicroservice Architecture Software Architecture Microservice Design Pattern
Microservice Architecture Software Architecture Microservice Design Pattern
 
REST & RESTful APIs: The State of Confusion
REST & RESTful APIs: The State of ConfusionREST & RESTful APIs: The State of Confusion
REST & RESTful APIs: The State of Confusion
 
10.1.1.107.2618
10.1.1.107.261810.1.1.107.2618
10.1.1.107.2618
 
Term paper 2073131
Term paper   2073131Term paper   2073131
Term paper 2073131
 
The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRL
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Microservices
MicroservicesMicroservices
Microservices
 
Adaptive provisioning of human expertise in Service Oriented Systems ppt
Adaptive provisioning of human expertise in Service Oriented Systems pptAdaptive provisioning of human expertise in Service Oriented Systems ppt
Adaptive provisioning of human expertise in Service Oriented Systems ppt
 
CBSE VS SOA Presentation
CBSE VS SOA PresentationCBSE VS SOA Presentation
CBSE VS SOA Presentation
 
CBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU PresentationCBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU Presentation
 
170215 msa intro
170215 msa intro170215 msa intro
170215 msa intro
 
Microservices why?
Microservices   why?Microservices   why?
Microservices why?
 
Chapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdfChapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdf
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 

Último

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 

Último (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 

Microservices Architecture

  • 1. Microservices Migrating cloud-native applications from monolithic to microservices architectural pattern Rishabh Karajgi Computer Science and Engineering, NIT Warangal
  • 2.
  • 3. Underlying principle “functional system decomposition into manageable and independently deployable components” Microservices usually managed by a single development team (5-7 members). • Functional system decomposition means vertical slicing (in contrast to horizontal slicing through layers) • Independent deployability implies no shared state and inter-process communication (often via HTTP REST-ish interfaces)
  • 4.
  • 5. More specifically Each microservice is functionally complete with Resource allocation Database consistency Each microservice handles one resource (or verb), e.g. Clients Sale items Checkouts
  • 6. Independant deployability It enables separation and independent evolution of code base technology stacks scaling and features, too Each service has its own software repository Codebase is maintainable for developers – it fits into their brain Tools work fast – building, testing, refactoring code takes seconds
  • 7. Independent technology stacks Independant services can have independant technology stacks The technology stack is selected as a best-fit to the task Teams can also experiment with new technologies within a single microservice No system-wide standardized technology stack also means No piggy-pack dependencies to unnecessary technologies or libraries Selected technology stacks are often very lightweight A microservice is often just a single process that is started via command line, and not code and configuration that is deployed to a container
  • 8. Independent Scaling Each microservice can be scaled independently Identified bottlenecks can be addressed directly Data sharding can be applied to microservices as needed Parts of the system that do not represent bottlenecks can remain simple and un- scaled
  • 9. Stable Interfaces – standardized communication Communication between microservices is often standardized using HTTP(S) REST JSON – simple data representation format REST and JSON are convenient because they simplify interface evolution (more on this later)
  • 11. Characteristics of Microservices Architecture Componentization via services Organized around business capabilties Products not Projects Smart endpoints and dump pipes Decentralized Governance Decentralized Data Management Infrastructure Automation Design for Failure
  • 14. Smart endpoints and dumb pipes Rather than stressing importance on the communication mechanism itself (for eg. Enterprise Service Bus, which produces sophisticated facilties for message routing, choreography, transformation and applying business rules) Microservices adopt a dumb pipe (ie. only routing mechanism) and request-response mechanisms using REST and HTTP.
  • 15. Decentralized Governance Principle: focus on standardizing the relevant parts, and leverage battle-tested standards and infrastructure Treats differently What needs to be standardized Communication protocol (HTTP) Message format (JSON) What should be standardized Communication patterns (REST) What doesn‘t need to be standardized
  • 16. Infrastructure Automation Having to deploy significant number of services forces operations to automate the infrastructure for Deployment (Continuous Delivery) Monitoring (Automated failure detection) Managing (Automated failure recovery) Consider that: Amazon AWS is primarily an internal service Netflix uses Chaos Monkey to further enforce
  • 17.
  • 18. Service Oriented Architecture Functional decomposition is also adopted by SOA: Not usually required to be self contained within Data and UI. It is often thought as decomposition within tiers, and introducing another tier – the service orchestration tier In comparison to microservices Focused on enabling business-level programming through business processing engines and languages. Does not focus on independent deployment units and its consequences Microservices can be seen as the “good-parts” of SOA.
  • 19.
  • 20. Conclusion Should we simply adopt it? No. But they are a possible evolution for web systems due to rise in Cloud Computing. Community often complains about existing challenges, prerequisites and difficulties. Just the new fad? Maybe/maybe not. Microservices is a new term, and an evolution of long-known architectural principles applied in a specific way to a specific type of systems. Dev-ops-heavy, and less managerial. Due to open source tech landscape, there is faster growth and development.