SlideShare a Scribd company logo
1 of 35
blogs.karthikeyanvk.in
How to your Convert Monolithic to Microservices
Karthikeyan VK
https://blogs.karthikeyanvk.in
@karthik3030
blogs.karthikeyanvk.in
Enter Text
Why Microservices ?
Resilience
Scaling
Removing Rewriting barrier
Ease of Deployment
blogs.karthikeyanvk.in
Enter Text
Why Microservices ?
Organization Alignment
Composability
Technology Heterogeneity
blogs.karthikeyanvk.in
Enter Text
Organization Alignment
• Microservices allows to align our architecture our
organization, by helping us minimizing the number of
people working on one codebase
• Smaller codebases tend to be more productive.
• Support Devops
blogs.karthikeyanvk.in
Enter Text
Composability
• Removing thinking in terms of narrow channel to
more holistic concepts of customer engagement such
as web/native/mobile/tablet/Wearable device and
exposing API as service
blogs.karthikeyanvk.in
Enter Text
Technology Heterogeneity
blogs.karthikeyanvk.in
Enter Text
What are Microservices ?
Microservices are small, autonomous services that
work together.
blogs.karthikeyanvk.in
Enter Text
How Small is Small ?
• Lines of Code ?
• Who has a system that is too big and that you’d like to
break down?
blogs.karthikeyanvk.in
Enter Text
How to define being small ?
• Smaller the service, the more you maximize the
benefits and downsides of Microservices architecture.
• When you get smaller, the benefits around
interdependence increase
• When you get too smaller, the complexity emerges
from having more and more moving parts
blogs.karthikeyanvk.in
Enter Text
4 Challenges
blogs.karthikeyanvk.in
Enter Text
Corporate Culture
• Open to technology
• Think of Task Force
• Leave behind process and procedures
• Culture of Automation
• Expect failure
• Autonomous
blogs.karthikeyanvk.in
Enter Text
Microservices Management
• Defining Strategy
• Implementing new projects
• Migrating existing project
blogs.karthikeyanvk.in
Enter Text
How to start ?
blogs.karthikeyanvk.in
Enter Text
Pet Store Functionality
Authentication
Search Pet
Order Pet
blogs.karthikeyanvk.in
Enter TextWhat Makes a Good Service?
blogs.karthikeyanvk.in
Enter Text
Main Principles in Splitting Microservices
Loose Coupling
High Cohesion
blogs.karthikeyanvk.in
Enter Text
Loose Coupling
• Loosely coupled service knows as little as it needs to
about the services with which it collaborates.
blogs.karthikeyanvk.in
Enter Text
High Cohesion
• Related behaviour to sit together, and unrelated
behaviour to sit elsewhere.
• Changing behaviour in lots of places to deliver a
change, signals lack of high cohesion
blogs.karthikeyanvk.in
Enter Text
Practices
Practices should underpin our principles
Sometimes practices reflect constraints in
your organization
Coding guidelines
Integration Style – HTTP/REST
blogs.karthikeyanvk.in
Enter Text
Combining Principles & Practices
One person’s principles are another’s
practices
.NET Team practices and Java Team practises
based on principles
blogs.karthikeyanvk.in
Enter Text
What is Bounded Context?
• Specific responsibility enforced by explicit boundaries.
blogs.karthikeyanvk.in
Enter Text
What is Bounded Context?
• A Domain consists of multiple bounded contexts, and
residing within each are models that do not need to
be communicated outside as well as things that are
shared externally with other bounded contexts.
blogs.karthikeyanvk.in
Enter Text
What is Bounded Context?
• Each bounded context has an explicit interface, where
it decides what models to share with other contexts.
blogs.karthikeyanvk.in
Enter Text
Models & Shared Models
blogs.karthikeyanvk.in
Enter Text
Modules and Services
• What models should be shared, and not shared
• Identifying boundary within our domain.
• Keep related code together and attempt to reduce the
coupling to other modules in the system.
• Microservices should cleanly align to bounded
contexts.
• Once proficient, skip the step of keeping the bounded
context modelled as a module. Jump straight for a
separate service
blogs.karthikeyanvk.in
Enter Text
Shared Libraries
• Monolithic codebase into multiple libraries.
• Libraries give you a way to share functionality
between teams and services.
• Too much leads You to lose true Technology
heterogeneity.
• Solution is to create common tasks that aren’t specific
to your business domain that you want to reuse
across the organization
blogs.karthikeyanvk.in
Enter Text
Premature Decomposition
• Don’t start decomposition too quickly.
• Initial Service boundary will not be right
• CI/CD will break
• Decompose into Microservices is much easier than
trying to go to Microservices from the beginning.
blogs.karthikeyanvk.in
Enter Text
Business Capabilities
• Don’t think in terms of data that is shared
• Think in terms of bounded context capabilities that is
provided in the rest of the domain.
• Communication in Terms of Business Concepts
blogs.karthikeyanvk.in
Enter Text
Integration between Microservices
• Avoid Breaking Changes
• Keep Your APIs Technology-Agnostic
• Make Your Service Simple for Consumers
• Hide Internal Implementation Detail
blogs.karthikeyanvk.in
Enter Text
Interfacing with Customers
• The Shared Database
blogs.karthikeyanvk.in
Enter Text
Orchestration Versus Choreography
• Orchestration
blogs.karthikeyanvk.in
Enter Text
Orchestration Versus Choreography
• Choreography
blogs.karthikeyanvk.in
Enter Text
Conway's law and System Design
• Any organization that designs a system (defined more broadly
here than just information systems) will inevitably produce a
design whose structure is a copy of the organization’s
communication structure.
blogs.karthikeyanvk.in
Enter Text
References
@karthik3030
• https://middlewareblog.redhat.com/2017/12/05/the-state-of-microservices-survey-2017-
eight-trends-you-need-to-know/
blogs.karthikeyanvk.in
Enter Text
@karthik3030
Thank you
/Q&A

More Related Content

What's hot

Introduction to Hybrid Connections
Introduction to Hybrid ConnectionsIntroduction to Hybrid Connections
Introduction to Hybrid ConnectionsDaniel Toomey
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)WSO2
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtDavid Litvak Bruno
 
Connecting Mobile Services to On-Premises Resources Using Hybrid Connections
Connecting Mobile Services to On-Premises Resources Using Hybrid ConnectionsConnecting Mobile Services to On-Premises Resources Using Hybrid Connections
Connecting Mobile Services to On-Premises Resources Using Hybrid ConnectionsDaniel Toomey
 
WSO2Con USA 2017: Introduction to Security: End-to-End Identity Management
WSO2Con USA 2017: Introduction to Security: End-to-End Identity ManagementWSO2Con USA 2017: Introduction to Security: End-to-End Identity Management
WSO2Con USA 2017: Introduction to Security: End-to-End Identity ManagementWSO2
 
Grey tower and NetIQ - Identity Manager Integration with MuleSoft ESB
Grey tower and NetIQ - Identity Manager Integration with MuleSoft ESBGrey tower and NetIQ - Identity Manager Integration with MuleSoft ESB
Grey tower and NetIQ - Identity Manager Integration with MuleSoft ESBWilliam Brant
 
Online Collaboration with Web Servers
Online Collaboration with Web ServersOnline Collaboration with Web Servers
Online Collaboration with Web Serverswebhostingguy
 
Business Driven IT Design
Business Driven IT Design Business Driven IT Design
Business Driven IT Design WSO2
 

What's hot (8)

Introduction to Hybrid Connections
Introduction to Hybrid ConnectionsIntroduction to Hybrid Connections
Introduction to Hybrid Connections
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical Debt
 
Connecting Mobile Services to On-Premises Resources Using Hybrid Connections
Connecting Mobile Services to On-Premises Resources Using Hybrid ConnectionsConnecting Mobile Services to On-Premises Resources Using Hybrid Connections
Connecting Mobile Services to On-Premises Resources Using Hybrid Connections
 
WSO2Con USA 2017: Introduction to Security: End-to-End Identity Management
WSO2Con USA 2017: Introduction to Security: End-to-End Identity ManagementWSO2Con USA 2017: Introduction to Security: End-to-End Identity Management
WSO2Con USA 2017: Introduction to Security: End-to-End Identity Management
 
Grey tower and NetIQ - Identity Manager Integration with MuleSoft ESB
Grey tower and NetIQ - Identity Manager Integration with MuleSoft ESBGrey tower and NetIQ - Identity Manager Integration with MuleSoft ESB
Grey tower and NetIQ - Identity Manager Integration with MuleSoft ESB
 
Online Collaboration with Web Servers
Online Collaboration with Web ServersOnline Collaboration with Web Servers
Online Collaboration with Web Servers
 
Business Driven IT Design
Business Driven IT Design Business Driven IT Design
Business Driven IT Design
 

Similar to Convert Monolithic to Microservices Architecture Guide

Monolithic to Microservices - Handson
Monolithic to Microservices - HandsonMonolithic to Microservices - Handson
Monolithic to Microservices - HandsonKarthikeyan VK
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesAngelos Kapsimanis
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYCChristian Posta
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitectureABDEL RAHMAN KARIM
 
SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)Annie Comp
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureKim Clark
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineDevOps.com
 
Microsoft Microservices
Microsoft MicroservicesMicrosoft Microservices
Microsoft MicroservicesChase Aucoin
 
The Role Of An Architect
The Role Of An ArchitectThe Role Of An Architect
The Role Of An Architectllangit
 
Oracle Blockchain Cloud Service
Oracle Blockchain Cloud ServiceOracle Blockchain Cloud Service
Oracle Blockchain Cloud ServiceDenis Kolupaev
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesRakesh Gujjarlapudi
 
Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...3gamma
 
Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...Jesper Nordström
 
Integrating Machine Learning Capabilities into your team
Integrating Machine Learning Capabilities into your teamIntegrating Machine Learning Capabilities into your team
Integrating Machine Learning Capabilities into your teamCameron Vetter
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To MicroservicesLalit Kale
 

Similar to Convert Monolithic to Microservices Architecture Guide (20)

Monolithic to Microservices - Handson
Monolithic to Microservices - HandsonMonolithic to Microservices - Handson
Monolithic to Microservices - Handson
 
What are microservices
What are microservicesWhat are microservices
What are microservices
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based Architectures
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYC
 
A Microservice Journey
A Microservice JourneyA Microservice Journey
A Microservice Journey
 
Microservice's in detailed
Microservice's in detailedMicroservice's in detailed
Microservice's in detailed
 
Microservices
MicroservicesMicroservices
Microservices
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD Pipeline
 
Microsoft Microservices
Microsoft MicroservicesMicrosoft Microservices
Microsoft Microservices
 
The Role Of An Architect
The Role Of An ArchitectThe Role Of An Architect
The Role Of An Architect
 
Oracle Blockchain Cloud Service
Oracle Blockchain Cloud ServiceOracle Blockchain Cloud Service
Oracle Blockchain Cloud Service
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to Kubernetes
 
Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...
 
Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...
 
Integrating Machine Learning Capabilities into your team
Integrating Machine Learning Capabilities into your teamIntegrating Machine Learning Capabilities into your team
Integrating Machine Learning Capabilities into your team
 
Microservices
MicroservicesMicroservices
Microservices
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 

More from Karthikeyan VK

How to become a Software Architect.pptx
How to become a Software Architect.pptxHow to become a Software Architect.pptx
How to become a Software Architect.pptxKarthikeyan VK
 
Blockchain workshop 101
Blockchain workshop 101Blockchain workshop 101
Blockchain workshop 101Karthikeyan VK
 
Event Streaming Architecture - Deep Dive
Event Streaming Architecture - Deep DiveEvent Streaming Architecture - Deep Dive
Event Streaming Architecture - Deep DiveKarthikeyan VK
 
Tips & Tricks to build software architecture document
Tips & Tricks to build software architecture documentTips & Tricks to build software architecture document
Tips & Tricks to build software architecture documentKarthikeyan VK
 
How to double your productivity as a developer
How to double your productivity as a developerHow to double your productivity as a developer
How to double your productivity as a developerKarthikeyan VK
 
How to be an expert in Debugging .Net Applications
How to be an expert in Debugging .Net ApplicationsHow to be an expert in Debugging .Net Applications
How to be an expert in Debugging .Net ApplicationsKarthikeyan VK
 
Pillars of great Azure Architecture
Pillars of great Azure ArchitecturePillars of great Azure Architecture
Pillars of great Azure ArchitectureKarthikeyan VK
 
Cloud design pattern using azure
Cloud design pattern using azureCloud design pattern using azure
Cloud design pattern using azureKarthikeyan VK
 
Enterprise security kubernetes
Enterprise security kubernetesEnterprise security kubernetes
Enterprise security kubernetesKarthikeyan VK
 
Machine Learning Basics using Azure ML
Machine Learning Basics using Azure MLMachine Learning Basics using Azure ML
Machine Learning Basics using Azure MLKarthikeyan VK
 
Cognitive Intelligence using azure search
Cognitive Intelligence using azure searchCognitive Intelligence using azure search
Cognitive Intelligence using azure searchKarthikeyan VK
 

More from Karthikeyan VK (20)

GCD ChatGPT.pptx
GCD ChatGPT.pptxGCD ChatGPT.pptx
GCD ChatGPT.pptx
 
DataScience-101
DataScience-101DataScience-101
DataScience-101
 
How to become a Software Architect.pptx
How to become a Software Architect.pptxHow to become a Software Architect.pptx
How to become a Software Architect.pptx
 
Blockchain workshop 101
Blockchain workshop 101Blockchain workshop 101
Blockchain workshop 101
 
Event Streaming Architecture - Deep Dive
Event Streaming Architecture - Deep DiveEvent Streaming Architecture - Deep Dive
Event Streaming Architecture - Deep Dive
 
Anti patterns
Anti patternsAnti patterns
Anti patterns
 
Tips & Tricks to build software architecture document
Tips & Tricks to build software architecture documentTips & Tricks to build software architecture document
Tips & Tricks to build software architecture document
 
How to double your productivity as a developer
How to double your productivity as a developerHow to double your productivity as a developer
How to double your productivity as a developer
 
How to be an expert in Debugging .Net Applications
How to be an expert in Debugging .Net ApplicationsHow to be an expert in Debugging .Net Applications
How to be an expert in Debugging .Net Applications
 
Cloud Design Patterns
Cloud Design PatternsCloud Design Patterns
Cloud Design Patterns
 
Pillars of great Azure Architecture
Pillars of great Azure ArchitecturePillars of great Azure Architecture
Pillars of great Azure Architecture
 
Chat bot LUIS
Chat bot LUISChat bot LUIS
Chat bot LUIS
 
Cloud design pattern using azure
Cloud design pattern using azureCloud design pattern using azure
Cloud design pattern using azure
 
Enterprise security kubernetes
Enterprise security kubernetesEnterprise security kubernetes
Enterprise security kubernetes
 
Save Azure Cost
Save Azure CostSave Azure Cost
Save Azure Cost
 
Learning graphql .Net
Learning graphql .NetLearning graphql .Net
Learning graphql .Net
 
Azure devspaces
Azure devspacesAzure devspaces
Azure devspaces
 
Azure Event Grid
Azure Event Grid Azure Event Grid
Azure Event Grid
 
Machine Learning Basics using Azure ML
Machine Learning Basics using Azure MLMachine Learning Basics using Azure ML
Machine Learning Basics using Azure ML
 
Cognitive Intelligence using azure search
Cognitive Intelligence using azure searchCognitive Intelligence using azure search
Cognitive Intelligence using azure search
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Convert Monolithic to Microservices Architecture Guide

Editor's Notes

  1. Resilience – One part of the service fails and whole application fails, so running application in spite of failures Scaling – One part of application needs more resources and scalling is easy when Microservices Removing Rewriting Barrier – Technology can be changed easily if it is small for specific needs
  2. Composability - a system design principle that deals with the inter-relationships of components. essential features - self-contained,Stateless
  3. Composability - a system design principle that deals with the inter-relationships of components. essential features - self-contained, Stateless
  4. Gather together those things that change for the same reason, and separate those things that change for different reasons
  5. Gather together those things that change for the same reason, and separate those things that change for different reasons
  6. learn new runtimes, technologies, or frameworks In Search of Excellence - Tom Peters and Robert H. Waterman, Jr.. Published in 1982
  7. Composability - a system design principle that deals with the inter-relationships of components. essential features - self-contained,Stateless
  8. A loosely coupled service knows as little as it needs to about the services with which it collaborates. This also means we probably want to limit the number of different types of calls from one service to another, because beyond the potential performance problem, chatty communication can lead to tight coupling. We want related behavior to sit together, and unrelated behavior to sit elsewhere. System design is all about trade-offs
  9. A loosely coupled service knows as little as it needs to about the services with which it collaborates. This also means we probably want to limit the number of different types of calls from one service to another, because beyond the potential performance problem, chatty communication can lead to tight coupling. We want related behaviour to sit together, and unrelated behaviour to sit elsewhere. System design is all about trade-offs,
  10. Warehouse, finance, sales, front desk
  11. Technology heterogeneity - The library typically has to be in the same language, or at the very least run on the same platform.
  12. These capabilities may require the interchange of information — shared models — but I have seen too often that thinking about data leads to anemic, CRUD-based (create, read, update, delete) services. So ask first “What does this context do?”, and then “So what data does it need to do that?” When modeled as services, these capabilities become the key operations that will be exposed over the wire to other collaborators. Communication in Terms of Business Concepts - It’s also important to think of the communication between these microservices in terms of the same business concepts.
  13. Technology Agnostic - Avoiding integration technology that dictates what technology stacks we can use to implement our Microservices. Ready shift to java or databases based on requirement
  14. Remember when we talked about the core principles behind good microservices? Strong cohesion and loose coupling — with database integration, we lose both things. Database integration makes it easy for services to share data, but does nothing about sharing behavior.
  15. The downside to this orchestration approach is that the customer service can become too much of a central governing authority. It can become the hub in the middle of a web, and a central point where logic starts to live. I have seen this approach result in a small number of smart “god” services telling anemic CRUD-based services what to do.
  16. Services should be dumb With a choreographed approach, we could instead just have the customer service emit an event in an asynchronous manner
  17. Organizational issues to consider as well Explain moore’s law two-pizza teams owning the whole lifecycle of their services Explain how about three tier architecture and Microservices fits here wrt to teams