SlideShare a Scribd company logo
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

PPTX
Convert monolithic .Net Applications to microservices With Principles
PPTX
Personalisation packages in Umbraco
PPTX
Business processes in the cloud
PPTX
Introduction to Active Directory
PDF
WSO2Con EU 2016: Identity Management – A Cornerstone for the Connected Enter...
PPSX
Say no to microservices slideshare
PPTX
Microservices music city code v2
PPTX
Convert monolithic .Net Applications to microservices With Principles
Personalisation packages in Umbraco
Business processes in the cloud
Introduction to Active Directory
WSO2Con EU 2016: Identity Management – A Cornerstone for the Connected Enter...
Say no to microservices slideshare
Microservices music city code v2

What's hot (8)

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

Similar to Convert monolithic .Net Applications to microservices (20)

PPTX
Monolithic to Microservices - Handson
PPTX
What are microservices
PPTX
Software Architectures, Week 3 - Microservice-based Architectures
PDF
Microservices Journey NYC
PPTX
A Microservice Journey
PPTX
Microservice's in detailed
PDF
Microservices
PPTX
Over view of software artitecture
PPTX
SOA (Service Oriented Architecture)
PDF
MuCon 2015 - Microservices in Integration Architecture
PDF
The Reality of Managing Microservices in Your CD Pipeline
PPTX
UNIT2_Cloud Computing - Cloud Enabling Technologies
PPTX
Microsoft Microservices
PPT
The Role Of An Architect
PDF
Oracle Blockchain Cloud Service
PDF
Reference architectures shows a microservices deployed to Kubernetes
PDF
Architecting for speed: how agile innovators accelerate growth through micros...
PDF
Architecting for speed: how agile innovators accelerate growth through micros...
PPTX
Integrating Machine Learning Capabilities into your team
PPTX
Microservices
Monolithic to Microservices - Handson
What are microservices
Software Architectures, Week 3 - Microservice-based Architectures
Microservices Journey NYC
A Microservice Journey
Microservice's in detailed
Microservices
Over view of software artitecture
SOA (Service Oriented Architecture)
MuCon 2015 - Microservices in Integration Architecture
The Reality of Managing Microservices in Your CD Pipeline
UNIT2_Cloud Computing - Cloud Enabling Technologies
Microsoft Microservices
The Role Of An Architect
Oracle Blockchain Cloud Service
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...
Integrating Machine Learning Capabilities into your team
Microservices
Ad

More from Karthikeyan VK (20)

PPTX
GCD ChatGPT.pptx
PPTX
DataScience-101
PPTX
How to become a Software Architect.pptx
PPTX
Blockchain workshop 101
PPTX
Event Streaming Architecture - Deep Dive
PPTX
Anti patterns
PPTX
Tips & Tricks to build software architecture document
PPTX
How to double your productivity as a developer
PPTX
How to be an expert in Debugging .Net Applications
PPTX
Cloud Design Patterns
PPTX
Pillars of great Azure Architecture
PPTX
Chat bot LUIS
PPTX
Cloud design pattern using azure
PPTX
Enterprise security kubernetes
PPTX
Save Azure Cost
PPTX
Learning graphql .Net
PPTX
Azure devspaces
PPTX
Azure Event Grid
PPTX
Machine Learning Basics using Azure ML
PPTX
Cognitive Intelligence using azure search
GCD ChatGPT.pptx
DataScience-101
How to become a Software Architect.pptx
Blockchain workshop 101
Event Streaming Architecture - Deep Dive
Anti patterns
Tips & Tricks to build software architecture document
How to double your productivity as a developer
How to be an expert in Debugging .Net Applications
Cloud Design Patterns
Pillars of great Azure Architecture
Chat bot LUIS
Cloud design pattern using azure
Enterprise security kubernetes
Save Azure Cost
Learning graphql .Net
Azure devspaces
Azure Event Grid
Machine Learning Basics using Azure ML
Cognitive Intelligence using azure search

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Machine Learning_overview_presentation.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Spectroscopy.pptx food analysis technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Big Data Technologies - Introduction.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine Learning_overview_presentation.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
sap open course for s4hana steps from ECC to s4
Agricultural_Statistics_at_a_Glance_2022_0.pdf
A comparative analysis of optical character recognition models for extracting...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
MYSQL Presentation for SQL database connectivity
Spectral efficient network and resource selection model in 5G networks
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf

Convert monolithic .Net Applications to microservices

Editor's Notes

  • #3: 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
  • #4: Composability - a system design principle that deals with the inter-relationships of components. essential features - self-contained,Stateless
  • #6: Composability - a system design principle that deals with the inter-relationships of components. essential features - self-contained, Stateless
  • #8: Gather together those things that change for the same reason, and separate those things that change for different reasons
  • #9: Gather together those things that change for the same reason, and separate those things that change for different reasons
  • #12: learn new runtimes, technologies, or frameworks In Search of Excellence - Tom Peters and Robert H. Waterman, Jr.. Published in 1982
  • #15: Composability - a system design principle that deals with the inter-relationships of components. essential features - self-contained,Stateless
  • #17: 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
  • #21: 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,
  • #23: Warehouse, finance, sales, front desk
  • #27: Technology heterogeneity - The library typically has to be in the same language, or at the very least run on the same platform.
  • #29: 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.
  • #30: 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
  • #31: 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.
  • #32: 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.
  • #33: Services should be dumb With a choreographed approach, we could instead just have the customer service emit an event in an asynchronous manner
  • #34: 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