SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Microservices
Evolution of middleware
Ramesh Kumar
Senior web Developer
Today’s Agenda
• Monolithic System
• Mircoservice and its Charecteristics?
• Microservice Achitecture
• Legacy Systems
• Monolitic Systems
• SOA
• Monolithic vs Microservice
• Advantage & Disadvantage.
• Benefits of Microservices
• Examples
• Takeaway
• Q&A
Monolithic Architecture
• A monolithic application is self-contained, and independent from other
computing applications. The design philosophy is that the application is
responsible not just for a particular task, but can perform every step
needed to complete a particular function.
• Complete task, end to end
• Work together
• No Modularity
• Reuse of parts of the application logic
• Maintenance by allowing repair or replacement of parts
Basic Monolithic enterprise application
Examples
• Most programs you deal with day-to-day
• word processing, spreadsheets , powerpoint
• e-mail (?)
• development environments
• Compilers
• many games
• Large, corporate batch systems
• payroll
• reports
• astounding number of very large mainframe
Characteristics
• Usually written in a single programming language.
• Everything compiled and linked into a single (monolithic) application
• May operate in both batch and GUI
• Data
• – load into memory – write all back on explicit save
• – No simultaneous data sharing
• May have concurrency
• – multi-threading
• – multi-processing (but only one executable)
Advantages
• Performance
– Reading and writing of data can be optimized for performance without regard to
issues such as multi-user data sharing.
– read data directly from the disk via file system
– read data less directly from the disk via layers of intervening software (e.g.,
RDBMS, OODBMS, distributed data server).
– modifying data needn’t worry about writers in other address spaces.
• In-memory is massively quicker
• Caching would present many subtle issues for shared data systems – No IPC overhead
• Simplicity – less code to write – fewer issues to deal with
• locking, transactions, integrity, performance, geographic distribution
Disadvantages
• Lack of support for shared access, forces one-at-a-time access
• Mitigate:
• allowing datasets that merge multiple files
• hybrid approaches
• complex monolithic analysis software
• simple data client/server update software
• Quantity of data
– when quantity of data is too large to load into memory
– too much time to load too much virtual memory used
– Depending on which is possible
– sequential access (lock db or shadow db)
– selective access
Some Definitions...
• Microservices are small, autonomous services that work together.
• The microservice architectural style is an approach to developing a
single application as a suite of small services, each running in its own
process and communicating with lightweight mechanisms.
• A typically referenced guideline is the Two-Pizza Team rule, which states
if you cannot feed the team building a microservice with two pizzas,
your microservice is too big.
What is Microservice?
• Each service is loosely coupled / independently deployable.
• Changes made only to this service.
• Each service has a bounded context.
• Service should not know about surrounding service.
• Remotely accessible service (typically http).
• Does “one thing” (and does it well?).
• Executes stand alone in a container (JVM - in this case).
• Can be composed into a larger service.
Challenges
• Scaling monolithic applications is challenging as we have just one
degree of freedom to scale out
• The same challenge applies to replication
• Innovation is constrained by the fact that we cannot easily mix different
technologies for implementing the various functionalities
• Incremental Change is constrained by the fact that can’t incrementally
deploy new functionalities . We needto redeploy an entire subsystem.
• Loose Coupling and High Cohesion are harder to achieve and especially
to preserve as the barriers” between functionalities are very thin
Why not monolithic?
• Development Phase
• Apps grow (teams grow too!)
• Different parts change at different rates.
• Different execution container needs (resources)
• Different teams?
• Company grows?
• Deployment Phase
• Deploying a change to a microservice does not
• Increase blood pressure as much as deploying the
• ONE MASSIVE APP THAT RUNS EVERYTHING
• Fear of deploying a change.
• Risk of trying a new technique, new framework.
Why Microservices?
Characteristics
• Services
• Products vs Projects
• Smart endpoints / dumb pipes
• Decentralized governance
• Decentralised data management
• Automation
• Design for failure
• Evolutionary design
Microservice Architectures
• Individual functionalities become unit of deployment and run
in their own process
• Microservices communicate
through some lightweight
mechanism.
Monolithic vs. Mircoservice
• A monolithic applications merges multiple functionalities in the
same executable.
Advantages
• Small code base / easier to test / maintain
• Easy to scale - clone
• Easy to throw away
• Easy to deploy and track errors
• Freedom to switch tech stack
• Maximise team agility
• Maximise resource utilisation
• Debugging
• Smooth deployments
Disadvantages
• Devops challenge on multiple fronts
• Complexity in messaging and front end
• Most container technologies still new
• Freedom of tech stack not always good news (for the future
and for the CTO)
• Cost
• Performance
• Deployment and
• Operation
Anatomy of a Microservice
• Decoupled Middleware design pattern
• Microservices communicate across a Service Bus (Kafka, RabbitMQ,
NATS.io)
• Service Bus is centralised
• Microservices are distributed
• TCP communication is generally favoured
• Microservices do 1 thing only, and they do it very well
• Not restricted to a specific technology
• Facilitates Circuit Breaker, Bulkhead, and Handshaking design patterns
• Avoids cascading failure
Technical Benefits
• Eliminates dependencies
• Failure is isolated
• React to change quicker
• Scale is less expensive
• More intuitive learning curve
• Technology stack is not limited to specific skillsets
• Shielded from legal pitfalls
• Reusable components
• Flexible – will bend rather than break under pressure
Micro Service and agility
• Modern agile practice can not ignore tech
• No modern tech = no absolute agility
• Micro services enable agility in a special way
• Enforce team creation
• Enforce faster deployments / better & easier tests
• CI / CD
• Easier communication flow methods (APIs)
• Each service = small scale product
Container Technology in micros
• Containers assist micro architecture in
• Visualising services
• Building / sharing services between coders
• Deploying services
• Utilising server resources to run containers
• irrespective of underlying tech
• Popular container technologies
• Docker
• Rocket
Container Management
• Used to maintain and utilize containers /services
• Make sure all services up and running
• Make sure server utilisation is maxed out
• Popular container management technologies
• CoreOS fleet
• Docker-machine
• Mesos
• Kubernetes
• AWS ECS / Google Container Engine
The Anatomy of a hybrid Service
List of Companies following Microservice Architecture
•
Comcast
• Cable
• Uber
• Netflix
• Amazon
• Ebay
• Sound Cloud
• Karma
• Groupon
• Hailo
• Gilt
Microservice intro
Microservice intro

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Micro Frontends
Micro FrontendsMicro Frontends
Micro Frontends
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 
Micro-frontend
Micro-frontendMicro-frontend
Micro-frontend
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Introduction To Micro Frontends
Introduction To Micro Frontends Introduction To Micro Frontends
Introduction To Micro Frontends
 
Service discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring CloudService discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring Cloud
 
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai..."Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
 
Event Driven Microservices architecture
Event Driven Microservices architectureEvent Driven Microservices architecture
Event Driven Microservices architecture
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services Architecture
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
Integration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices ArchitecturesIntegration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices Architectures
 
Decompose your monolith: Six principles for refactoring a monolith to microse...
Decompose your monolith: Six principles for refactoring a monolith to microse...Decompose your monolith: Six principles for refactoring a monolith to microse...
Decompose your monolith: Six principles for refactoring a monolith to microse...
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 

Ähnlich wie Microservice intro

MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptx
MohammedShahid562503
 
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
Angelos Kapsimanis
 

Ähnlich wie Microservice intro (20)

Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservices
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptx
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
 
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
 
Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices Architecture
 
Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1
 
Grokking microservices in 5 minutes
Grokking microservices in 5 minutesGrokking microservices in 5 minutes
Grokking microservices in 5 minutes
 
MicroServices architecture @ Ctrip v1.1
MicroServices architecture @ Ctrip v1.1MicroServices architecture @ Ctrip v1.1
MicroServices architecture @ Ctrip v1.1
 
Micro-services architecture
Micro-services architectureMicro-services architecture
Micro-services architecture
 
Microserces Architecture
Microserces ArchitectureMicroserces Architecture
Microserces Architecture
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
 
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
 

Kürzlich hochgeladen

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Kürzlich hochgeladen (20)

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

Microservice intro

  • 1. Microservices Evolution of middleware Ramesh Kumar Senior web Developer
  • 2. Today’s Agenda • Monolithic System • Mircoservice and its Charecteristics? • Microservice Achitecture • Legacy Systems • Monolitic Systems • SOA • Monolithic vs Microservice • Advantage & Disadvantage. • Benefits of Microservices • Examples • Takeaway • Q&A
  • 3. Monolithic Architecture • A monolithic application is self-contained, and independent from other computing applications. The design philosophy is that the application is responsible not just for a particular task, but can perform every step needed to complete a particular function. • Complete task, end to end • Work together • No Modularity • Reuse of parts of the application logic • Maintenance by allowing repair or replacement of parts
  • 5. Examples • Most programs you deal with day-to-day • word processing, spreadsheets , powerpoint • e-mail (?) • development environments • Compilers • many games • Large, corporate batch systems • payroll • reports • astounding number of very large mainframe
  • 6. Characteristics • Usually written in a single programming language. • Everything compiled and linked into a single (monolithic) application • May operate in both batch and GUI • Data • – load into memory – write all back on explicit save • – No simultaneous data sharing • May have concurrency • – multi-threading • – multi-processing (but only one executable)
  • 7. Advantages • Performance – Reading and writing of data can be optimized for performance without regard to issues such as multi-user data sharing. – read data directly from the disk via file system – read data less directly from the disk via layers of intervening software (e.g., RDBMS, OODBMS, distributed data server). – modifying data needn’t worry about writers in other address spaces. • In-memory is massively quicker • Caching would present many subtle issues for shared data systems – No IPC overhead • Simplicity – less code to write – fewer issues to deal with • locking, transactions, integrity, performance, geographic distribution
  • 8. Disadvantages • Lack of support for shared access, forces one-at-a-time access • Mitigate: • allowing datasets that merge multiple files • hybrid approaches • complex monolithic analysis software • simple data client/server update software • Quantity of data – when quantity of data is too large to load into memory – too much time to load too much virtual memory used – Depending on which is possible – sequential access (lock db or shadow db) – selective access
  • 9. Some Definitions... • Microservices are small, autonomous services that work together. • The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms. • A typically referenced guideline is the Two-Pizza Team rule, which states if you cannot feed the team building a microservice with two pizzas, your microservice is too big.
  • 10. What is Microservice? • Each service is loosely coupled / independently deployable. • Changes made only to this service. • Each service has a bounded context. • Service should not know about surrounding service. • Remotely accessible service (typically http). • Does “one thing” (and does it well?). • Executes stand alone in a container (JVM - in this case). • Can be composed into a larger service.
  • 11. Challenges • Scaling monolithic applications is challenging as we have just one degree of freedom to scale out • The same challenge applies to replication • Innovation is constrained by the fact that we cannot easily mix different technologies for implementing the various functionalities • Incremental Change is constrained by the fact that can’t incrementally deploy new functionalities . We needto redeploy an entire subsystem. • Loose Coupling and High Cohesion are harder to achieve and especially to preserve as the barriers” between functionalities are very thin
  • 12. Why not monolithic? • Development Phase • Apps grow (teams grow too!) • Different parts change at different rates. • Different execution container needs (resources) • Different teams? • Company grows? • Deployment Phase • Deploying a change to a microservice does not • Increase blood pressure as much as deploying the • ONE MASSIVE APP THAT RUNS EVERYTHING • Fear of deploying a change. • Risk of trying a new technique, new framework.
  • 14. Characteristics • Services • Products vs Projects • Smart endpoints / dumb pipes • Decentralized governance • Decentralised data management • Automation • Design for failure • Evolutionary design
  • 15. Microservice Architectures • Individual functionalities become unit of deployment and run in their own process • Microservices communicate through some lightweight mechanism.
  • 16.
  • 17. Monolithic vs. Mircoservice • A monolithic applications merges multiple functionalities in the same executable.
  • 18.
  • 19.
  • 20. Advantages • Small code base / easier to test / maintain • Easy to scale - clone • Easy to throw away • Easy to deploy and track errors • Freedom to switch tech stack • Maximise team agility • Maximise resource utilisation • Debugging • Smooth deployments
  • 21. Disadvantages • Devops challenge on multiple fronts • Complexity in messaging and front end • Most container technologies still new • Freedom of tech stack not always good news (for the future and for the CTO) • Cost • Performance • Deployment and • Operation
  • 22. Anatomy of a Microservice • Decoupled Middleware design pattern • Microservices communicate across a Service Bus (Kafka, RabbitMQ, NATS.io) • Service Bus is centralised • Microservices are distributed • TCP communication is generally favoured • Microservices do 1 thing only, and they do it very well • Not restricted to a specific technology • Facilitates Circuit Breaker, Bulkhead, and Handshaking design patterns • Avoids cascading failure
  • 23. Technical Benefits • Eliminates dependencies • Failure is isolated • React to change quicker • Scale is less expensive • More intuitive learning curve • Technology stack is not limited to specific skillsets • Shielded from legal pitfalls • Reusable components • Flexible – will bend rather than break under pressure
  • 24. Micro Service and agility • Modern agile practice can not ignore tech • No modern tech = no absolute agility • Micro services enable agility in a special way • Enforce team creation • Enforce faster deployments / better & easier tests • CI / CD • Easier communication flow methods (APIs) • Each service = small scale product
  • 25. Container Technology in micros • Containers assist micro architecture in • Visualising services • Building / sharing services between coders • Deploying services • Utilising server resources to run containers • irrespective of underlying tech • Popular container technologies • Docker • Rocket
  • 26.
  • 27. Container Management • Used to maintain and utilize containers /services • Make sure all services up and running • Make sure server utilisation is maxed out • Popular container management technologies • CoreOS fleet • Docker-machine • Mesos • Kubernetes • AWS ECS / Google Container Engine
  • 28.
  • 29. The Anatomy of a hybrid Service
  • 30. List of Companies following Microservice Architecture • Comcast • Cable • Uber • Netflix • Amazon • Ebay • Sound Cloud • Karma • Groupon • Hailo • Gilt