SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
#JoyThroughGratitude #FutureReady
MICROSERVICES
ARCHITECTURE
Modernize | Digitize | Empower
Agenda
Microservices
Overview
01
API Gateway
02
Interprocess
Communication
03
Event Driven
Architecture
04
Microservices
Deployment
05
✓ Simple scaling model for operations
just run multiple copies behind a load balancer
✓ Simple mental model for developers
one unit of access for coding building and deploying
Huge and
intimidating
code base for
developers
Development
tools get
overburdened
Scaling is
limited
Deployment
frequency is
limited
A single missing “;” brought down the Netflix
website for many hours (~2008)
The term "micro"
refers to the sizing: a
microservice must be
manageable by a single
development team
Functional system
decomposition means
vertical slicing(in
contrast to horizontal
slicing through layers)
Independent
deployability implies
no shared state and
inter process
communication
Many smaller (fine grained), clearly scoped services
Single Responsibility Principle
Domain Driven Development
Bounded Context
Independently Managed & Clear ownership for each service
Typically need/adopt the “DevOps” model
"Loosely coupled service oriented
architecture with bounded contexts
• Small and focused on doing
one thing well.
• “Autonomous”
- Adrian Cockcroft (Netflix)
“……services are independently deployable and
scalable, each service also provides a firm module
boundary, even allowing for different services to be
written in different programming languages. They
can also be managed by different teams"
- Martin fowler (Thoughtworks)
• The API Gateway is responsible for
request routing, composition, and
protocol translation. It provides each
of the application’s clients with a
custom API.
• The API Gateway can also mask
failures in the backend services by
returning cached or default data.
• It encapsulates the internal structure
of the application.
• The API Gateway provides each kind
of client with a specific API. This
reduces the number of round trips
between the client and application.
Cross-cutting concerns
Too many round trips
Coupling
Security issues
▪ Performance and Scalability
▪ Reactive Programming Model
▪ Service Invocation
▪ Service Discovery
- Client-Side Discovery
- Service Side Discovery
▪ Handling Partial Failure
Circuit Breaker Pattern
Communication Between Services
Request/response
A client makes a request to a service and waits for
a response. The client expects the response to
arrive in a timely fashion. In a thread-based
application, the thread that makes the request
might even block while waiting.
Publish/subscribe
1-1 Interaction 1-n Interaction
A client publishes a request message, and then waits a
certain amount of time for responses from interested
services. ex: Rabbit MQ
Publish/async responses (Message Queueing)
A client publishes a notification message, which
is consumed by zero or more interested services.
ex: Apache Kafka, AWS SNS
Notification (a.k.a. a one-way request)
A client sends a request to a service but no reply
is expected or sent.
Request/async response
A client sends a request to a service, which replies
asynchronously. The client does not block while
waiting and is designed with the assumption that
the response might not arrive for a while.
• A microservice publishes an event when something notable happens, such as when it updates a business
entity.
• Other microservices subscribe to those events. When a microservice receives an event it can update its own
business entities, which might lead to more events being published.
Polyglot
Persistence
Event Sourcing
Event Stream
Command Query
Responsibility
Separation (CQRS).
• It publishes streams of
events to a broker using
messaging technologies
such as Apache Kafka and
Confluent.
• Consumers of event-
streaming platforms can
access and consume events
from each stream.
• Its a technique that is
utilized while transitioning
from a monolith to a
microservice.
• The application state is
determined by a series of
events in the Event Sourcing
pattern.
• Like queues, events are
presented in the order they
were received.
• Its a strategy used to store
data in heterogenous
databases.
• Its another paradigm
that separates the read
and write models.
• insert or update
operations are usually
handled by a different
service. For querying
data, you would
additionally have a
separate service.
Use Case 1:
Use Case 2:
OptiSol is all about "Joy with Gratitude"-the quality of being thankful
Thank you

Weitere ähnliche Inhalte

Ähnlich wie OptiSol Microservices Architecture - Tech Meetup

Ähnlich wie OptiSol Microservices Architecture - Tech Meetup (20)

AWS Serverless Introduction
AWS Serverless IntroductionAWS Serverless Introduction
AWS Serverless Introduction
 
Introducing IBM Message Hub: Cloud-scale messaging based on Apache Kafka
Introducing IBM Message Hub: Cloud-scale messaging based on Apache KafkaIntroducing IBM Message Hub: Cloud-scale messaging based on Apache Kafka
Introducing IBM Message Hub: Cloud-scale messaging based on Apache Kafka
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Microservices.pptx
Microservices.pptxMicroservices.pptx
Microservices.pptx
 
QConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptx
QConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptxQConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptx
QConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptx
 
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
 
Arsitektur Aplikasi Modern - Faisal Henry Susanto
Arsitektur Aplikasi Modern - Faisal Henry SusantoArsitektur Aplikasi Modern - Faisal Henry Susanto
Arsitektur Aplikasi Modern - Faisal Henry Susanto
 
Come costruire apllicazioni "12-factor microservices" in AWS
Come costruire apllicazioni "12-factor microservices" in AWSCome costruire apllicazioni "12-factor microservices" in AWS
Come costruire apllicazioni "12-factor microservices" in AWS
 
Micro Services
Micro ServicesMicro Services
Micro Services
 
Net core microservice development made easy with azure dev spaces
Net core microservice development made easy with azure dev spacesNet core microservice development made easy with azure dev spaces
Net core microservice development made easy with azure dev spaces
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoT
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 
Private Apps in the Public Cloud - DevConTLV March 2016
Private Apps in the Public Cloud - DevConTLV March 2016Private Apps in the Public Cloud - DevConTLV March 2016
Private Apps in the Public Cloud - DevConTLV March 2016
 
Architecture: When, how, and if to Adopt Microservices
Architecture: When, how, and if to Adopt MicroservicesArchitecture: When, how, and if to Adopt Microservices
Architecture: When, how, and if to Adopt Microservices
 
Spring cloud
Spring cloudSpring cloud
Spring cloud
 
FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0 FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Associated IoT Technologies.pptx
Associated IoT Technologies.pptxAssociated IoT Technologies.pptx
Associated IoT Technologies.pptx
 
Microservices-101
Microservices-101Microservices-101
Microservices-101
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

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
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
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...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

OptiSol Microservices Architecture - Tech Meetup

  • 3. ✓ Simple scaling model for operations just run multiple copies behind a load balancer ✓ Simple mental model for developers one unit of access for coding building and deploying
  • 4. Huge and intimidating code base for developers Development tools get overburdened Scaling is limited Deployment frequency is limited
  • 5. A single missing “;” brought down the Netflix website for many hours (~2008)
  • 6. The term "micro" refers to the sizing: a microservice must be manageable by a single development team Functional system decomposition means vertical slicing(in contrast to horizontal slicing through layers) Independent deployability implies no shared state and inter process communication
  • 7.
  • 8.
  • 9. Many smaller (fine grained), clearly scoped services Single Responsibility Principle Domain Driven Development Bounded Context Independently Managed & Clear ownership for each service Typically need/adopt the “DevOps” model
  • 10.
  • 11. "Loosely coupled service oriented architecture with bounded contexts • Small and focused on doing one thing well. • “Autonomous” - Adrian Cockcroft (Netflix) “……services are independently deployable and scalable, each service also provides a firm module boundary, even allowing for different services to be written in different programming languages. They can also be managed by different teams" - Martin fowler (Thoughtworks)
  • 12. • The API Gateway is responsible for request routing, composition, and protocol translation. It provides each of the application’s clients with a custom API. • The API Gateway can also mask failures in the backend services by returning cached or default data. • It encapsulates the internal structure of the application. • The API Gateway provides each kind of client with a specific API. This reduces the number of round trips between the client and application.
  • 13. Cross-cutting concerns Too many round trips Coupling Security issues
  • 14. ▪ Performance and Scalability ▪ Reactive Programming Model ▪ Service Invocation ▪ Service Discovery - Client-Side Discovery - Service Side Discovery ▪ Handling Partial Failure Circuit Breaker Pattern
  • 15. Communication Between Services Request/response A client makes a request to a service and waits for a response. The client expects the response to arrive in a timely fashion. In a thread-based application, the thread that makes the request might even block while waiting. Publish/subscribe 1-1 Interaction 1-n Interaction A client publishes a request message, and then waits a certain amount of time for responses from interested services. ex: Rabbit MQ Publish/async responses (Message Queueing) A client publishes a notification message, which is consumed by zero or more interested services. ex: Apache Kafka, AWS SNS Notification (a.k.a. a one-way request) A client sends a request to a service but no reply is expected or sent. Request/async response A client sends a request to a service, which replies asynchronously. The client does not block while waiting and is designed with the assumption that the response might not arrive for a while.
  • 16.
  • 17. • A microservice publishes an event when something notable happens, such as when it updates a business entity. • Other microservices subscribe to those events. When a microservice receives an event it can update its own business entities, which might lead to more events being published.
  • 18. Polyglot Persistence Event Sourcing Event Stream Command Query Responsibility Separation (CQRS). • It publishes streams of events to a broker using messaging technologies such as Apache Kafka and Confluent. • Consumers of event- streaming platforms can access and consume events from each stream. • Its a technique that is utilized while transitioning from a monolith to a microservice. • The application state is determined by a series of events in the Event Sourcing pattern. • Like queues, events are presented in the order they were received. • Its a strategy used to store data in heterogenous databases. • Its another paradigm that separates the read and write models. • insert or update operations are usually handled by a different service. For querying data, you would additionally have a separate service.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 26. OptiSol is all about "Joy with Gratitude"-the quality of being thankful Thank you