SlideShare a Scribd company logo
1 of 23
Microservices
What is Microservices ?
• The microservices architectural style is an approach of
developing a single application split into set of smaller,
interconnected services, distributed instead of building single
monolithic application. And each split will be developed
individually, packaged individually and deploy individually.
Differences Between Traditional Architecture
and Microservices
Disadvantages in Monolithic architecture
1. Continuous deployment integration will suffer a lot.
means a small modification in one component force to us to redeploy the entire application again
with a new release.
2. Monolithic application has a barrier for adapting new technology.
Since changes in framework will affect the entire application, that’s why it is extremely expensive
in both development time and development cost.
3. Exception propagation not proper.
For example let’s consider if my payments service go down then it impacts to my Entire
application.
4. Code Readability is not there.
5. As we deployed entire service as WAR, the performance of the application goes down because
of huge amount of data present in the war.
6. The size of the application can slow down the startup time.
7. We must and should redeploy the entire application for each update.
8. It also difficult to scale up when different modules have conflicting resource requirement.
Microservices Features
• Decoupling – Services within a system are largely decoupled. So
the application as a whole can be easily built, altered, and scaled
• Componentization – Microservices are treated as independent
components that can be easily replaced and upgraded
• Business Capabilities – Microservices are very simple and focus on
a single capability
• Autonomy – Developers and teams can work independently of each
other, thus increasing speed
• Continous Delivery – Allows frequent releases of software, through
systematic automation of software creation, testing, and approval
• Responsibility – Microservices do not focus on applications as
projects. Instead, they treat applications as products for which they
are responsible
• Decentralized Governance – The focus is on using the right tool
for the right job. That means there is no standardized pattern or any
technology pattern. Developers have the freedom to choose the best
useful tools to solve their problems
• Agility – Microservices support agile development. Any new feature
can be quickly developed and discarded again
Advantages Of Microservices
• Independent Development – All microservices can be easily developed
based on their individual functionality
• Independent Deployment – Based on their services, they can be
individually deployed in any application
• Fault Isolation – Even if one service of the application does not work, the
system still continues to function
• Mixed Technology Stack – Different languages and technologies can be
used to build different services of the same application
• Granular Scaling – Individual components can scale as per need, there is
no need to scale all components together
Microservice Architecture
1. Clients
The architecture starts with different types of clients, from different devices
trying to perform various management capabilities such as search, build,
configure etc.
2. Identity Providers
These requests from the clients are then passed on the identity providers
who authenticate the requests of clients and communicate the requests to
API Gateway. The requests are then communicated to the internal services
via well-defined API Gateway.
3. API Gateway
Since clients don’t call the services directly, API Gateway acts as an entry
point for the clients to forward requests to appropriate microservices.
The advantages of using an API gateway include:
All the services can be updated without the clients knowing.
Services can also use messaging protocols that are not web-friendly.
The API Gateway can perform cross-cutting functions such as providing
security, load balancing etc.
After receiving the requests of clients, the internal architecture consists of
microservices which communicate with each other through messages to
handle client requests.
4. Messaging Formats
There are two types of messages through which they communicate:
Synchronous Messages
Asynchronous Messages
5. Data Handling
Well, each Microservice owns a private database to capture their data and
implement the respective business functionality. Also, the databases of
Microservices are updated through their service API only.
6. Static Content
After the Microservices communicate within themselves, they deploy the
static content to a cloud-based storage service that can deliver them
directly to the clients via Content Delivery Networks (CDNs).
7. Management
This component is responsible for balancing the services on nodes and
identifying failures.
8. Service Discovery
Acts as a guide to Microservices to find the route of communication between
them as it maintains a list of services on which nodes are located.
Best Practices To Design Microservices
Microservice Design Patterns
1)Aggregator Microservice Design Pattern
2)Proxy Microservice DesignPattern
3)Chained Microservice Design Pattern
4)Branch Microservice Design Pattern
5) Asynchronous Messaging Microservice
Design Pattern
Aggregator Microservice Design Pattern
Aggregator is a simple web page that invokes multiple services to achieve the functionality
required by the application.
For example:
Let’s consider Service A, Service B, and Service C are exposed using a lightweight REST
mechanism, the web page can retrieve the data and process/display it accordingly.
• If there are multiple services that need to access Service A, B, and C, then its recommended
to abstract that logic into a composite microservice and aggregate that logic into one service.
• each individual microservice has its own caching and database. If Aggregator is a composite
microservice, then it may have its own caching and database layer.
• It can be scale up based on our requirement.
Proxy Microservice DesignPattern
• It is a variation of Aggregator. In this case, the aggregation need not to be required
on the client but a different microservice may be invoked based upon the business
need.
• It can be scale up based on our requirement as like aggregator microservice design
pattern.
• We need to go for this where each individual service need not be exposed to the
consumer and should go through an interface.
Chained Microservice Design Pattern
• Chained microservice design pattern produce a single or unified response to the
request.
• In this situation, the request from the client is received by Service A, which is then
communicating with Service B, which in turn may be communicating with Service
C. All the services are likely using a synchronous HTTP request/response messaging
Branch Microservice Design Pattern
• Branch microservice design pattern extends Aggregator design pattern.
• It allows simultaneous response processing from two chains of
microservices.
• Let’s Service A is either a web page or a composite microservice, it can
invoke two different chains simultaneously. It seems to be similar with the
Aggregator design pattern.
Asynchronous Messaging Microservice Design Pattern
• As The REST design pattern is quite widespread, and well understandable but it have some
limitation like being synchronous as a result it also quite blocking in nature.
• Even though we can achieve Asynchronous but that is done based on an application specific
way.
• Some microservice architectures use message queues instead of REST request/response for
achieving Asynchronous Messaging supports.
• In this pictorial diagram, the Service A may call Service C synchronously which is then
communicating with Service B and D asynchronously using a shared message queue.
Companies using Microservices
UBER CASE STUDY
The above diagram depicts UBER’s previous architecture.
• A REST API is present with which the passenger and driver connect.
• Three different adapters are used with API within them, to perform
actions such as billing, payments, sending emails/messages that we
see when we book a cab.
• A MySQL database to store all their data.
Problem Statement
• All the features had to be re-built, deployed and tested again and
again to update a single feature.
• Fixing bugs became extremely difficult in a single repository as
developers had to change the code again and again.
• Scaling the features simultaneously with the introduction of new
features worldwide was quite tough to be handled together.
Micro Services

More Related Content

What's hot

From Monolith to Microservices using Amazon EC2 Container Service
From Monolith to Microservices using Amazon EC2 Container ServiceFrom Monolith to Microservices using Amazon EC2 Container Service
From Monolith to Microservices using Amazon EC2 Container ServiceNathan Peck
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architectureTouraj Ebrahimi
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
Securing mule
Securing   muleSecuring   mule
Securing muleSindhu VL
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises Kasun Indrasiri
 
Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?Katherine Golovinova
 
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 communicationsSatya Syam
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureRich Lee
 
A Multi-tenant Architecture for Business Process Executions
A Multi-tenant Architecture for Business Process ExecutionsA Multi-tenant Architecture for Business Process Executions
A Multi-tenant Architecture for Business Process ExecutionsSrinath Perera
 
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 ArchitecturesCrishantha Nanayakkara
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principlesSanjoy Kumar Roy
 
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3Ahmed Misbah
 
DEVNET-1184 Microservices Patterns
DEVNET-1184	Microservices PatternsDEVNET-1184	Microservices Patterns
DEVNET-1184 Microservices PatternsCisco DevNet
 
Integration Microservices
Integration MicroservicesIntegration Microservices
Integration MicroservicesKasun Indrasiri
 

What's hot (20)

From Monolith to Microservices using Amazon EC2 Container Service
From Monolith to Microservices using Amazon EC2 Container ServiceFrom Monolith to Microservices using Amazon EC2 Container Service
From Monolith to Microservices using Amazon EC2 Container Service
 
Mule introduction
Mule introductionMule introduction
Mule introduction
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Securing mule
Securing   muleSecuring   mule
Securing mule
 
Mule esb
Mule esbMule esb
Mule esb
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?
 
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
 
Soavssaas
SoavssaasSoavssaas
Soavssaas
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
A Multi-tenant Architecture for Business Process Executions
A Multi-tenant Architecture for Business Process ExecutionsA Multi-tenant Architecture for Business Process Executions
A Multi-tenant Architecture for Business Process Executions
 
Mule esb stripe
Mule esb stripeMule esb stripe
Mule esb stripe
 
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
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
 
DEVNET-1184 Microservices Patterns
DEVNET-1184	Microservices PatternsDEVNET-1184	Microservices Patterns
DEVNET-1184 Microservices Patterns
 
Microservices: an introduction
Microservices: an introductionMicroservices: an introduction
Microservices: an introduction
 
Authentication and single sign on (sso)
Authentication and single sign on (sso)Authentication and single sign on (sso)
Authentication and single sign on (sso)
 
Integration Microservices
Integration MicroservicesIntegration Microservices
Integration Microservices
 

Similar to Micro Services

6. Microservices architecture.pptx
6. Microservices architecture.pptx6. Microservices architecture.pptx
6. Microservices architecture.pptxdatapro2
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMohammedShahid562503
 
Building microservices on azure
Building microservices on azureBuilding microservices on azure
Building microservices on azureVaibhav Gujral
 
Micro services overview
Micro services overviewMicro services overview
Micro services overviewZeeshan Khan
 
Discussion About Microservices Architecture
Discussion About Microservices ArchitectureDiscussion About Microservices Architecture
Discussion About Microservices ArchitectureRalph Osmond Rimorin
 
AppDev with Microservices
AppDev with MicroservicesAppDev with Microservices
AppDev with MicroservicesRishabh Dugar
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Richard Langlois P. Eng.
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitectureABDEL RAHMAN KARIM
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in PracticeKasun Indrasiri
 
Building Microservices with Ruby on Rails: Maximizing Efficiency and Scalability
Building Microservices with Ruby on Rails: Maximizing Efficiency and ScalabilityBuilding Microservices with Ruby on Rails: Maximizing Efficiency and Scalability
Building Microservices with Ruby on Rails: Maximizing Efficiency and ScalabilityBoTree Technologies
 
Engineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architectureEngineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architecturesoftware-engineering-book
 
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
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoTFrancesco Rago
 
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
 
Associated IoT Technologies.pptx
Associated IoT Technologies.pptxAssociated IoT Technologies.pptx
Associated IoT Technologies.pptxtaruian
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.PLovababu
 
Microservices with mule
Microservices with muleMicroservices with mule
Microservices with mulealfa
 

Similar to Micro Services (20)

Microservice's in detailed
Microservice's in detailedMicroservice's in detailed
Microservice's in detailed
 
6. Microservices architecture.pptx
6. Microservices architecture.pptx6. Microservices architecture.pptx
6. Microservices architecture.pptx
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptx
 
Building microservices on azure
Building microservices on azureBuilding microservices on azure
Building microservices on azure
 
Micro services overview
Micro services overviewMicro services overview
Micro services overview
 
Microservices
MicroservicesMicroservices
Microservices
 
Discussion About Microservices Architecture
Discussion About Microservices ArchitectureDiscussion About Microservices Architecture
Discussion About Microservices Architecture
 
AppDev with Microservices
AppDev with MicroservicesAppDev with Microservices
AppDev with Microservices
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
Building Microservices with Ruby on Rails: Maximizing Efficiency and Scalability
Building Microservices with Ruby on Rails: Maximizing Efficiency and ScalabilityBuilding Microservices with Ruby on Rails: Maximizing Efficiency and Scalability
Building Microservices with Ruby on Rails: Maximizing Efficiency and Scalability
 
Engineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architectureEngineering Software Products: 6. microservices architecture
Engineering Software Products: 6. 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
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoT
 
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: Detailed Guide
Microservices: Detailed GuideMicroservices: Detailed Guide
Microservices: Detailed Guide
 
Associated IoT Technologies.pptx
Associated IoT Technologies.pptxAssociated IoT Technologies.pptx
Associated IoT Technologies.pptx
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.
 
Microservices with mule
Microservices with muleMicroservices with mule
Microservices with mule
 

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Micro Services

  • 2. What is Microservices ? • The microservices architectural style is an approach of developing a single application split into set of smaller, interconnected services, distributed instead of building single monolithic application. And each split will be developed individually, packaged individually and deploy individually.
  • 3.
  • 4. Differences Between Traditional Architecture and Microservices
  • 5. Disadvantages in Monolithic architecture 1. Continuous deployment integration will suffer a lot. means a small modification in one component force to us to redeploy the entire application again with a new release. 2. Monolithic application has a barrier for adapting new technology. Since changes in framework will affect the entire application, that’s why it is extremely expensive in both development time and development cost. 3. Exception propagation not proper. For example let’s consider if my payments service go down then it impacts to my Entire application. 4. Code Readability is not there. 5. As we deployed entire service as WAR, the performance of the application goes down because of huge amount of data present in the war. 6. The size of the application can slow down the startup time. 7. We must and should redeploy the entire application for each update. 8. It also difficult to scale up when different modules have conflicting resource requirement.
  • 7. • Decoupling – Services within a system are largely decoupled. So the application as a whole can be easily built, altered, and scaled • Componentization – Microservices are treated as independent components that can be easily replaced and upgraded • Business Capabilities – Microservices are very simple and focus on a single capability • Autonomy – Developers and teams can work independently of each other, thus increasing speed • Continous Delivery – Allows frequent releases of software, through systematic automation of software creation, testing, and approval • Responsibility – Microservices do not focus on applications as projects. Instead, they treat applications as products for which they are responsible • Decentralized Governance – The focus is on using the right tool for the right job. That means there is no standardized pattern or any technology pattern. Developers have the freedom to choose the best useful tools to solve their problems • Agility – Microservices support agile development. Any new feature can be quickly developed and discarded again
  • 9. • Independent Development – All microservices can be easily developed based on their individual functionality • Independent Deployment – Based on their services, they can be individually deployed in any application • Fault Isolation – Even if one service of the application does not work, the system still continues to function • Mixed Technology Stack – Different languages and technologies can be used to build different services of the same application • Granular Scaling – Individual components can scale as per need, there is no need to scale all components together
  • 11. 1. Clients The architecture starts with different types of clients, from different devices trying to perform various management capabilities such as search, build, configure etc. 2. Identity Providers These requests from the clients are then passed on the identity providers who authenticate the requests of clients and communicate the requests to API Gateway. The requests are then communicated to the internal services via well-defined API Gateway. 3. API Gateway Since clients don’t call the services directly, API Gateway acts as an entry point for the clients to forward requests to appropriate microservices. The advantages of using an API gateway include: All the services can be updated without the clients knowing. Services can also use messaging protocols that are not web-friendly. The API Gateway can perform cross-cutting functions such as providing security, load balancing etc. After receiving the requests of clients, the internal architecture consists of microservices which communicate with each other through messages to handle client requests.
  • 12. 4. Messaging Formats There are two types of messages through which they communicate: Synchronous Messages Asynchronous Messages 5. Data Handling Well, each Microservice owns a private database to capture their data and implement the respective business functionality. Also, the databases of Microservices are updated through their service API only. 6. Static Content After the Microservices communicate within themselves, they deploy the static content to a cloud-based storage service that can deliver them directly to the clients via Content Delivery Networks (CDNs). 7. Management This component is responsible for balancing the services on nodes and identifying failures. 8. Service Discovery Acts as a guide to Microservices to find the route of communication between them as it maintains a list of services on which nodes are located.
  • 13. Best Practices To Design Microservices
  • 14. Microservice Design Patterns 1)Aggregator Microservice Design Pattern 2)Proxy Microservice DesignPattern 3)Chained Microservice Design Pattern 4)Branch Microservice Design Pattern 5) Asynchronous Messaging Microservice Design Pattern
  • 15. Aggregator Microservice Design Pattern Aggregator is a simple web page that invokes multiple services to achieve the functionality required by the application. For example: Let’s consider Service A, Service B, and Service C are exposed using a lightweight REST mechanism, the web page can retrieve the data and process/display it accordingly. • If there are multiple services that need to access Service A, B, and C, then its recommended to abstract that logic into a composite microservice and aggregate that logic into one service. • each individual microservice has its own caching and database. If Aggregator is a composite microservice, then it may have its own caching and database layer. • It can be scale up based on our requirement.
  • 16. Proxy Microservice DesignPattern • It is a variation of Aggregator. In this case, the aggregation need not to be required on the client but a different microservice may be invoked based upon the business need. • It can be scale up based on our requirement as like aggregator microservice design pattern. • We need to go for this where each individual service need not be exposed to the consumer and should go through an interface.
  • 17. Chained Microservice Design Pattern • Chained microservice design pattern produce a single or unified response to the request. • In this situation, the request from the client is received by Service A, which is then communicating with Service B, which in turn may be communicating with Service C. All the services are likely using a synchronous HTTP request/response messaging
  • 18. Branch Microservice Design Pattern • Branch microservice design pattern extends Aggregator design pattern. • It allows simultaneous response processing from two chains of microservices. • Let’s Service A is either a web page or a composite microservice, it can invoke two different chains simultaneously. It seems to be similar with the Aggregator design pattern.
  • 19. Asynchronous Messaging Microservice Design Pattern • As The REST design pattern is quite widespread, and well understandable but it have some limitation like being synchronous as a result it also quite blocking in nature. • Even though we can achieve Asynchronous but that is done based on an application specific way. • Some microservice architectures use message queues instead of REST request/response for achieving Asynchronous Messaging supports. • In this pictorial diagram, the Service A may call Service C synchronously which is then communicating with Service B and D asynchronously using a shared message queue.
  • 22. The above diagram depicts UBER’s previous architecture. • A REST API is present with which the passenger and driver connect. • Three different adapters are used with API within them, to perform actions such as billing, payments, sending emails/messages that we see when we book a cab. • A MySQL database to store all their data. Problem Statement • All the features had to be re-built, deployed and tested again and again to update a single feature. • Fixing bugs became extremely difficult in a single repository as developers had to change the code again and again. • Scaling the features simultaneously with the introduction of new features worldwide was quite tough to be handled together.