SlideShare a Scribd company logo
#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
OptiSol Microservices Architecture - Tech Meetup
OptiSol Microservices Architecture - Tech Meetup
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
OptiSol Microservices Architecture - Tech Meetup
"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.
OptiSol Microservices Architecture - Tech Meetup
• 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.
OptiSol Microservices Architecture - Tech Meetup
OptiSol Microservices Architecture - Tech Meetup
OptiSol Microservices Architecture - Tech Meetup
OptiSol Microservices Architecture - Tech Meetup
OptiSol Microservices Architecture - Tech Meetup
Use Case 1:
Use Case 2:
OptiSol is all about "Joy with Gratitude"-the quality of being thankful
Thank you

More Related Content

PPTX
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
PPTX
Microservices architecture
PPTX
Microservices
PPTX
Intro to spring cloud &microservices by Eugene Hanikblum
PDF
Microservices: Where do they fit within a rapidly evolving integration archit...
PPTX
Magento Developer Talk. Microservice Architecture and Actor Model
PPTX
Do You Need A Service Mesh?
PPTX
AWS Serverless Introduction
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
Microservices architecture
Microservices
Intro to spring cloud &microservices by Eugene Hanikblum
Microservices: Where do they fit within a rapidly evolving integration archit...
Magento Developer Talk. Microservice Architecture and Actor Model
Do You Need A Service Mesh?
AWS Serverless Introduction

Similar to OptiSol Microservices Architecture - Tech Meetup (20)

PPTX
AWS Serverless Introduction
PDF
AWS Application Services Lambda, SES, SNS, SQS, SWF
PDF
Introducing IBM Message Hub: Cloud-scale messaging based on Apache Kafka
PPTX
Introduction to microservices
PPTX
Microservices.pptx
PPTX
QConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptx
PPTX
Do I Need A Service Mesh.pptx
PDF
Arsitektur Aplikasi Modern - Faisal Henry Susanto
PPTX
Micro Services
PPTX
Net core microservice development made easy with azure dev spaces
PPTX
Application Centric Microservices from Redhat Summit 2015
PDF
Meetup6 microservices for the IoT
PPSX
Microservices Architecture, Monolith Migration Patterns
PPTX
Private Apps in the Public Cloud - DevConTLV March 2016
PDF
Spring cloud
PPTX
FLUX - Crash Course in Cloud 2.0
PPTX
Microservice architecture
PPTX
Associated IoT Technologies.pptx
PPTX
Microservices-101
PPTX
Event Driven Architecture
AWS Serverless Introduction
AWS Application Services Lambda, SES, SNS, SQS, SWF
Introducing IBM Message Hub: Cloud-scale messaging based on Apache Kafka
Introduction to microservices
Microservices.pptx
QConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptx
Do I Need A Service Mesh.pptx
Arsitektur Aplikasi Modern - Faisal Henry Susanto
Micro Services
Net core microservice development made easy with azure dev spaces
Application Centric Microservices from Redhat Summit 2015
Meetup6 microservices for the IoT
Microservices Architecture, Monolith Migration Patterns
Private Apps in the Public Cloud - DevConTLV March 2016
Spring cloud
FLUX - Crash Course in Cloud 2.0
Microservice architecture
Associated IoT Technologies.pptx
Microservices-101
Event Driven Architecture
Ad

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Machine learning based COVID-19 study performance prediction
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
Spectroscopy.pptx food analysis technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Electronic commerce courselecture one. Pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Big Data Technologies - Introduction.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
“AI and Expert System Decision Support & Business Intelligence Systems”
MYSQL Presentation for SQL database connectivity
Machine learning based COVID-19 study performance prediction
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Approach and Philosophy of On baking technology
Spectroscopy.pptx food analysis technology
Empathic Computing: Creating Shared Understanding
Electronic commerce courselecture one. Pdf
Review of recent advances in non-invasive hemoglobin estimation
Big Data Technologies - Introduction.pptx
The AUB Centre for AI in Media Proposal.docx
Chapter 3 Spatial Domain Image Processing.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
sap open course for s4hana steps from ECC to s4
Programs and apps: productivity, graphics, security and other tools
NewMind AI Weekly Chronicles - August'25 Week I
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Ad

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
  • 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
  • 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.
  • 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.
  • 26. OptiSol is all about "Joy with Gratitude"-the quality of being thankful Thank you