SlideShare una empresa de Scribd logo
1 de 25
Paria Heidari
Monolithic Architecture
has a single code base with multiple
components/modules/services
• Modules are divided as either for
• Business features
• Technical features
2
Advantages and Drawbacks of Monolithic Architecture
Advantages
• Simple to develop
• Simple to test
• Simple to deploy
• You have to copy the packaged application to a server.
• Simple to scale horizontally by running multiple copies behind a load balancer.
Drawbacks
• Flexibility
• Make an application bigger, we have a large complex application
• Maintenance
• If Application is too large and complex to understand, it is challenging to make changes fast and correctly.
• Reliability
• Bug in any module (e.g. memory leak) can potentially bring down the entire process.
• Scaling become challenging
• Modification / Re-Platform
• Continuously deployment become complex and time consuming.
• must redeploy the entire application on each update
• No autonomy in Organization (for build and deploy)
3
Problem in
Monolithic Architecture
Solution
Microservices Architecture
• Service-Oriented Architecture (SOA)
• A functional decomposition
• Each one of services has its own database
• The data is only accessible through that service’s API
• Each microservice is small and focused on a
specific feature/ business requirement.
• Sitting in front of those services is the API gateway
4
Benefits
• Better testability
• loose coupling
• Microservices can be developed/ deploy/ scale independently
• Develop by using different programming language
• it is not recommended
Disadvantage
• Complexity of developing of distributed system
• must implement the inter-process communication mechanism
• We have to deal with inter-process communication, There are frameworks to doing messaging.
• Complexity of testing distributed system
• Complexity of deploying and operating distributed system
• Handling partial failures
• For instance, some systems are slow, they might not get back a response, so developer should care about this
scenario.
Advantages and Drawbacks of Microservices Architecture
5
Microservices Architecture - Example – Online Shopping Service
6
Challenges
7
Solutions - Migrating the Monolithic System into Microservices
Enterprise software application is designed
• to simplify numerous business requirements.
• Software application offers hundreds to functionalities
Migrating a Monolithic system into Microservices
‘Service’ is aggregation and grouping of similar functionalities offered from an
application.
• How to break a Monolithic into Microservices
• Migration must be as smooth as possible
• Users should not feel any change
• Need to put right strategy to obtain good benefits
8
Solutions - Migrating the Monolithic System into Microservices
There are different Strategies to migrate /break
Parallel full redesign
Do not touch monolithic application
but start building a parallel application with MS architecture
building a new application with the same functional behavior but with
microservices.
Pros
lesser constraints for developers
Users will not feel any change
Cons
Time consuming and Money
Don’t know the outcome of the effort until all the Time and Money are spent
9
Solutions - Migrating the Monolithic System into Microservices
 Migrating a Monolithic system into Microservices
 Standard Microservices
 Identify the independent modules in the monolithic application
 Convert the backend functionality into Microservices
 Replace all the direct calls for this module across the application with microservice calls
 Keep doing the same steps for all the modules
10
Solutions - Migrating the Monolithic System into Microservices
 Migrating a Monolithic system into Microservices
 Self Contained Systems
11
Solutions - Designing microservices
For Example
Split the functionalities of the monolith into four different microservices
• inventory
• accounting
• shipping
• store
Each service is fully decoupled from each other
Ensures the agility in development and deployment
12
Technologies - Messaging in Microservices
Synchronous Messaging
• Client looks for a timely response from the service and waits till it get it
• REST API is the best choice
• REST provides a simple messaging style implemented with HTTP request-response
• Most microservices implementations are using HTTP along with resource API
• Apache Thrift an alternative protocol to REST/HTTP synchronous messaging
Asynchronous Messaging
• Client does not expects a response immediately
• Client does not accepts a response at all
• STOMP - Streaming Text Oriented Messaging Protocol
• MQTT - MQ Telemetry Transport
• AMQP - Advanced Message Queuing
13
Technologies - Service Contracts in Microservices
When we have a business capability implemented as a service
• Need to define and publish the service contract
• To define the contract of the microservices
• WSDL - Web Services Description Language
• The best solution is to use REST API
14
Technologies - Message-oriented Middleware (MoM)
• There is a system that has multiple clients, namely, it takes orders from all separate
systems.
• When we have different systems and they want to communicate with each other so
MoM comes in
Message-oriented Middleware (MoM)
• is software or hardware infrastructure supporting sending and receiving messages
between distributed systems.
• Use Message middleware for asynchronous data exchange
• Translating what’s coming out and into systems
• There is a universal translator that is called message broker
• Message broker is a message-oriented middleware server that hosts messaging
destinations (Queue/ Topics)
15
Technologies - Message Broker
Message Broker
• is built to extend MQ
• is able to understand the content of each message that it moves through the Broker.
• is tasked with gathering, routing and distributing the messages from senders to the right receivers.
• Can matches and routes communications between services
• The message processing nodes supplied with Message Broker are capable of processing messages from
various sources,
• such as Java Message Service (JMS) providers,
• HyperText Transfer Protocol (HTTP) calls ,
• or data read from files.
Central Message Broker
• Can receive messages from multiple destinations
• Determine the correct destination
• Route the message to the correct channel
16
Technologies - Message Broker
Message Queue
• A messaging destination that uses a queue data structure to hold messages
• The alternative to a queue is a topic that provides publish/subscribe semantics.
• Message Q is responsible to handle communication between services (Microservices)
• how using messaging bus / messaging queue.
• Producers send a message (Subscribe the message ) and they get notified
• Broadcasts out to all services in very easy manner
• Small storage system
• Reduce load in the system
• Easy to scale to large system
Message Q should be used in two cases
• Reliability - When we have a lot of microservices to get them to talk effectively with each other
• And a good way to notifying hard-working that do a lot of computational part
• There are some requests, Can you do that job whenever you have time
17
Messaging Modeling - Publisher/Subscriber Vs. Queue
18
Technologies for Messaging Modeling
For message queuing and publish-subscribe use cases
• Apache ActiveMQ
• Google Cloud Pub/Sub
• IBM Websphere MQ
• Amazon SQS
• RabbitMQ
• RocketMQ
• Amazon SNS
• Apache Kafka
19
Systems
The different solutions are running on systems
• from Rackspace Virtual machines with Linux
• through Docker containers on Linux
• to Docker containers in Kubernetes
• Rackspace Virtual Cloud Servers
• high-performance,
• reliable servers
• help to grow and scale the business quickly and easily
• Docker containers
• Virtualization technology
• Allow pieces of code to be put into smaller
• Easily transportable
• cost-efficien
• Kubernetes
• Makes managing containers simpler.
• Can help to reduce costs
• Makes containers much more feasible
• Container-Based Autoscaling 20
Microservices Architecture on Google App Engine
• Deploy multiple microservices as separate
• Services have full isolation of code
• Versions within services
• Project isolation
• Autoscaling
• load balancing
• Shared resources
21
Microservices on Google Kubernetes Engine
22
Google’s Cloud Pub/Sub Real-Time Messaging Service
23
IoT Use cases in the Industry
24
Some business use cases and applications
• Production Visibility
• Higher operator productivity
• Faster improvement cycles
• Reduce the cost of quality management systems
• Improve quality through continuous monitoring
References
https://dzone.com/articles/monolithic-vs-microservice-
architecture#:~:targetText=Monolithic%20architecture%20is%20something%20that,code%20base%20with%20multiple%20
modules.
https://medium.com/koderlabs/introduction-to-monolithic-architecture-and-microservices-architecture-b211a5955c63
http://javaresolutions.blogspot.com/2014/08/messagequeue-vs-message-
broker.html#:~:targetText=Message%20Broker%20is%20built%20to,it%20moves%20through%20the%20Broker.&targetText=
Message%20Queue%20%2D%20A%20messaging%20destination,hosted%20by%20the%20message%20broker.
https://www.cleveroad.com/blog/benefits-of-microservices-architecture
https://spring.io/blog/2015/07/14/microservices-with-spring
https://dzone.com/articles/comparing-publish-subscribe-messaging-and-message
https://www.youtube.com/watch?v=sSm2dRarhPo
https://medium.com/microservices-in-practice/microservices-in-practice-7a3e85b6624c
https://medium.com/@walkingtreetech/strategies-to-migrate-monolithic-application-to-microservices-b2028eb4873b
https://www.xenonstack.com/blog/contract-testing/
https://www.cloudamqp.com/blog/2015-05-18-part1-rabbitmq-for-beginners-what-is-rabbitmq.html
https://cloud.google.com/appengine/docs/standard/python/microservices-on-app-engine
https://cloud.google.com/solutions/migrating-a-monolithic-app-to-microservices-gke
https://tulip.co/blog/iiot/industrial-iot-use-cases-and-applications/
25

Más contenido relacionado

La actualidad más candente

[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...WSO2
 
Power of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal DevelopmentPower of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal DevelopmentOpenSense Labs
 
Micro-services architecture
Micro-services architectureMicro-services architecture
Micro-services architectureFarwa Ansari
 
Architecture 2020 - eComputing 2019-07-01
Architecture 2020 - eComputing 2019-07-01Architecture 2020 - eComputing 2019-07-01
Architecture 2020 - eComputing 2019-07-01Jorge Hidalgo
 
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and FuturesWSO2
 
From no services to Microservices
From no services to MicroservicesFrom no services to Microservices
From no services to MicroservicesJoão Cavalheiro
 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns WSO2
 
[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4JWSO2
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services ArchitectureRabbani Mohideen
 
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
 
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
 
Merging microservices architecture with SOA practices
Merging microservices architecture with SOA practicesMerging microservices architecture with SOA practices
Merging microservices architecture with SOA practicesChris Haddad
 
DEVNET-1184 Microservices Patterns
DEVNET-1184	Microservices PatternsDEVNET-1184	Microservices Patterns
DEVNET-1184 Microservices PatternsCisco DevNet
 
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...WSO2
 
Role of integration in Digital Transformation
Role of integration in Digital TransformationRole of integration in Digital Transformation
Role of integration in Digital TransformationWSO2
 
Introducing the WSO2 Enterprise Integrator 6.1
Introducing the WSO2 Enterprise Integrator 6.1Introducing the WSO2 Enterprise Integrator 6.1
Introducing the WSO2 Enterprise Integrator 6.1WSO2
 
Developing, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorDeveloping, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorWSO2
 

La actualidad más candente (20)

[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
 
Power of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal DevelopmentPower of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal Development
 
Micro-services architecture
Micro-services architectureMicro-services architecture
Micro-services architecture
 
Architecture 2020 - eComputing 2019-07-01
Architecture 2020 - eComputing 2019-07-01Architecture 2020 - eComputing 2019-07-01
Architecture 2020 - eComputing 2019-07-01
 
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
 
Microservices
MicroservicesMicroservices
Microservices
 
From no services to Microservices
From no services to MicroservicesFrom no services to Microservices
From no services to Microservices
 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns
 
[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
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
 
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
 
Merging microservices architecture with SOA practices
Merging microservices architecture with SOA practicesMerging microservices architecture with SOA practices
Merging microservices architecture with SOA practices
 
DEVNET-1184 Microservices Patterns
DEVNET-1184	Microservices PatternsDEVNET-1184	Microservices Patterns
DEVNET-1184 Microservices Patterns
 
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...
 
Role of integration in Digital Transformation
Role of integration in Digital TransformationRole of integration in Digital Transformation
Role of integration in Digital Transformation
 
Microservice architecture-api-gateway-considerations
Microservice architecture-api-gateway-considerationsMicroservice architecture-api-gateway-considerations
Microservice architecture-api-gateway-considerations
 
Introducing the WSO2 Enterprise Integrator 6.1
Introducing the WSO2 Enterprise Integrator 6.1Introducing the WSO2 Enterprise Integrator 6.1
Introducing the WSO2 Enterprise Integrator 6.1
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Developing, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorDeveloping, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise Integrator
 

Similar a The Overview of Microservices Architecture

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to MicroservicesDavid Currie
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceDeveloping Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceJack-Junjie Cai
 
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.
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservicesLalit Kale
 
DEVNET-1142 Decomposing Monolithic Applications to Microservices
DEVNET-1142	Decomposing Monolithic Applications to MicroservicesDEVNET-1142	Decomposing Monolithic Applications to Microservices
DEVNET-1142 Decomposing Monolithic Applications to MicroservicesCisco DevNet
 
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
 
GWC : MQ Light - from monolith to Microservices for speed and scale
GWC : MQ Light - from monolith to Microservices for speed and scaleGWC : MQ Light - from monolith to Microservices for speed and scale
GWC : MQ Light - from monolith to Microservices for speed and scaleachatt83
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.PLovababu
 
Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1Amin Arab
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes Abdul Basit Munda
 
Concurrency at Scale: Evolution to Micro-Services
Concurrency at Scale:  Evolution to Micro-ServicesConcurrency at Scale:  Evolution to Micro-Services
Concurrency at Scale: Evolution to Micro-ServicesRandy Shoup
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?Eduard Tomàs
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices M A Hossain Tonu
 
building microservices
building microservicesbuilding microservices
building microservicesCisco DevNet
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxPINGXIONG3
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMohammedShahid562503
 

Similar a The Overview of Microservices Architecture (20)

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceDeveloping Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
 
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.
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservices
 
Microservice intro
Microservice introMicroservice intro
Microservice intro
 
DEVNET-1142 Decomposing Monolithic Applications to Microservices
DEVNET-1142	Decomposing Monolithic Applications to MicroservicesDEVNET-1142	Decomposing Monolithic Applications to Microservices
DEVNET-1142 Decomposing Monolithic Applications to Microservices
 
Microservices deck
Microservices deckMicroservices deck
Microservices deck
 
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
 
GWC : MQ Light - from monolith to Microservices for speed and scale
GWC : MQ Light - from monolith to Microservices for speed and scaleGWC : MQ Light - from monolith to Microservices for speed and scale
GWC : MQ Light - from monolith to Microservices for speed and scale
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.
 
Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
 
Concurrency at Scale: Evolution to Micro-Services
Concurrency at Scale:  Evolution to Micro-ServicesConcurrency at Scale:  Evolution to Micro-Services
Concurrency at Scale: Evolution to Micro-Services
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices
 
building microservices
building microservicesbuilding microservices
building microservices
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptx
 
Micro Services
Micro ServicesMicro Services
Micro Services
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptx
 

Último

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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
 
🐬 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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
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
 

Último (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 

The Overview of Microservices Architecture

  • 2. Monolithic Architecture has a single code base with multiple components/modules/services • Modules are divided as either for • Business features • Technical features 2
  • 3. Advantages and Drawbacks of Monolithic Architecture Advantages • Simple to develop • Simple to test • Simple to deploy • You have to copy the packaged application to a server. • Simple to scale horizontally by running multiple copies behind a load balancer. Drawbacks • Flexibility • Make an application bigger, we have a large complex application • Maintenance • If Application is too large and complex to understand, it is challenging to make changes fast and correctly. • Reliability • Bug in any module (e.g. memory leak) can potentially bring down the entire process. • Scaling become challenging • Modification / Re-Platform • Continuously deployment become complex and time consuming. • must redeploy the entire application on each update • No autonomy in Organization (for build and deploy) 3
  • 4. Problem in Monolithic Architecture Solution Microservices Architecture • Service-Oriented Architecture (SOA) • A functional decomposition • Each one of services has its own database • The data is only accessible through that service’s API • Each microservice is small and focused on a specific feature/ business requirement. • Sitting in front of those services is the API gateway 4
  • 5. Benefits • Better testability • loose coupling • Microservices can be developed/ deploy/ scale independently • Develop by using different programming language • it is not recommended Disadvantage • Complexity of developing of distributed system • must implement the inter-process communication mechanism • We have to deal with inter-process communication, There are frameworks to doing messaging. • Complexity of testing distributed system • Complexity of deploying and operating distributed system • Handling partial failures • For instance, some systems are slow, they might not get back a response, so developer should care about this scenario. Advantages and Drawbacks of Microservices Architecture 5
  • 6. Microservices Architecture - Example – Online Shopping Service 6
  • 8. Solutions - Migrating the Monolithic System into Microservices Enterprise software application is designed • to simplify numerous business requirements. • Software application offers hundreds to functionalities Migrating a Monolithic system into Microservices ‘Service’ is aggregation and grouping of similar functionalities offered from an application. • How to break a Monolithic into Microservices • Migration must be as smooth as possible • Users should not feel any change • Need to put right strategy to obtain good benefits 8
  • 9. Solutions - Migrating the Monolithic System into Microservices There are different Strategies to migrate /break Parallel full redesign Do not touch monolithic application but start building a parallel application with MS architecture building a new application with the same functional behavior but with microservices. Pros lesser constraints for developers Users will not feel any change Cons Time consuming and Money Don’t know the outcome of the effort until all the Time and Money are spent 9
  • 10. Solutions - Migrating the Monolithic System into Microservices  Migrating a Monolithic system into Microservices  Standard Microservices  Identify the independent modules in the monolithic application  Convert the backend functionality into Microservices  Replace all the direct calls for this module across the application with microservice calls  Keep doing the same steps for all the modules 10
  • 11. Solutions - Migrating the Monolithic System into Microservices  Migrating a Monolithic system into Microservices  Self Contained Systems 11
  • 12. Solutions - Designing microservices For Example Split the functionalities of the monolith into four different microservices • inventory • accounting • shipping • store Each service is fully decoupled from each other Ensures the agility in development and deployment 12
  • 13. Technologies - Messaging in Microservices Synchronous Messaging • Client looks for a timely response from the service and waits till it get it • REST API is the best choice • REST provides a simple messaging style implemented with HTTP request-response • Most microservices implementations are using HTTP along with resource API • Apache Thrift an alternative protocol to REST/HTTP synchronous messaging Asynchronous Messaging • Client does not expects a response immediately • Client does not accepts a response at all • STOMP - Streaming Text Oriented Messaging Protocol • MQTT - MQ Telemetry Transport • AMQP - Advanced Message Queuing 13
  • 14. Technologies - Service Contracts in Microservices When we have a business capability implemented as a service • Need to define and publish the service contract • To define the contract of the microservices • WSDL - Web Services Description Language • The best solution is to use REST API 14
  • 15. Technologies - Message-oriented Middleware (MoM) • There is a system that has multiple clients, namely, it takes orders from all separate systems. • When we have different systems and they want to communicate with each other so MoM comes in Message-oriented Middleware (MoM) • is software or hardware infrastructure supporting sending and receiving messages between distributed systems. • Use Message middleware for asynchronous data exchange • Translating what’s coming out and into systems • There is a universal translator that is called message broker • Message broker is a message-oriented middleware server that hosts messaging destinations (Queue/ Topics) 15
  • 16. Technologies - Message Broker Message Broker • is built to extend MQ • is able to understand the content of each message that it moves through the Broker. • is tasked with gathering, routing and distributing the messages from senders to the right receivers. • Can matches and routes communications between services • The message processing nodes supplied with Message Broker are capable of processing messages from various sources, • such as Java Message Service (JMS) providers, • HyperText Transfer Protocol (HTTP) calls , • or data read from files. Central Message Broker • Can receive messages from multiple destinations • Determine the correct destination • Route the message to the correct channel 16
  • 17. Technologies - Message Broker Message Queue • A messaging destination that uses a queue data structure to hold messages • The alternative to a queue is a topic that provides publish/subscribe semantics. • Message Q is responsible to handle communication between services (Microservices) • how using messaging bus / messaging queue. • Producers send a message (Subscribe the message ) and they get notified • Broadcasts out to all services in very easy manner • Small storage system • Reduce load in the system • Easy to scale to large system Message Q should be used in two cases • Reliability - When we have a lot of microservices to get them to talk effectively with each other • And a good way to notifying hard-working that do a lot of computational part • There are some requests, Can you do that job whenever you have time 17
  • 18. Messaging Modeling - Publisher/Subscriber Vs. Queue 18
  • 19. Technologies for Messaging Modeling For message queuing and publish-subscribe use cases • Apache ActiveMQ • Google Cloud Pub/Sub • IBM Websphere MQ • Amazon SQS • RabbitMQ • RocketMQ • Amazon SNS • Apache Kafka 19
  • 20. Systems The different solutions are running on systems • from Rackspace Virtual machines with Linux • through Docker containers on Linux • to Docker containers in Kubernetes • Rackspace Virtual Cloud Servers • high-performance, • reliable servers • help to grow and scale the business quickly and easily • Docker containers • Virtualization technology • Allow pieces of code to be put into smaller • Easily transportable • cost-efficien • Kubernetes • Makes managing containers simpler. • Can help to reduce costs • Makes containers much more feasible • Container-Based Autoscaling 20
  • 21. Microservices Architecture on Google App Engine • Deploy multiple microservices as separate • Services have full isolation of code • Versions within services • Project isolation • Autoscaling • load balancing • Shared resources 21
  • 22. Microservices on Google Kubernetes Engine 22
  • 23. Google’s Cloud Pub/Sub Real-Time Messaging Service 23
  • 24. IoT Use cases in the Industry 24 Some business use cases and applications • Production Visibility • Higher operator productivity • Faster improvement cycles • Reduce the cost of quality management systems • Improve quality through continuous monitoring
  • 25. References https://dzone.com/articles/monolithic-vs-microservice- architecture#:~:targetText=Monolithic%20architecture%20is%20something%20that,code%20base%20with%20multiple%20 modules. https://medium.com/koderlabs/introduction-to-monolithic-architecture-and-microservices-architecture-b211a5955c63 http://javaresolutions.blogspot.com/2014/08/messagequeue-vs-message- broker.html#:~:targetText=Message%20Broker%20is%20built%20to,it%20moves%20through%20the%20Broker.&targetText= Message%20Queue%20%2D%20A%20messaging%20destination,hosted%20by%20the%20message%20broker. https://www.cleveroad.com/blog/benefits-of-microservices-architecture https://spring.io/blog/2015/07/14/microservices-with-spring https://dzone.com/articles/comparing-publish-subscribe-messaging-and-message https://www.youtube.com/watch?v=sSm2dRarhPo https://medium.com/microservices-in-practice/microservices-in-practice-7a3e85b6624c https://medium.com/@walkingtreetech/strategies-to-migrate-monolithic-application-to-microservices-b2028eb4873b https://www.xenonstack.com/blog/contract-testing/ https://www.cloudamqp.com/blog/2015-05-18-part1-rabbitmq-for-beginners-what-is-rabbitmq.html https://cloud.google.com/appengine/docs/standard/python/microservices-on-app-engine https://cloud.google.com/solutions/migrating-a-monolithic-app-to-microservices-gke https://tulip.co/blog/iiot/industrial-iot-use-cases-and-applications/ 25