SlideShare a Scribd company logo
MICROSERVICES
1
RAJESH KUMAR
WHAT IS A SERVICE?
 A service is a discrete unit of functionality that can be accessed
remotely and acted upon independently
 A service has four properties
 It represents a business activity with a specified outcome.
 It is self-contained.
 It is a black box for its consumers.
 It may consist of other underlying services
2
WHAT IS SOA?
 A service-oriented architecture is a style of computer software
where services are provided to the other components by
application components, through a communication protocol over a
network.
 The basic fundamental principles of service oriented architecture is
independent of vendors, products and technologies.
 e.g. SOAP, REST, Messaging, WCF
3
WHAT ARE MICROSERVICES?
 Microservices are an implementation approach for SOA?
 Some may not agree
 An application is developed as a suite of small services.
 Services are independently build and deployed component
 Each service has its own database
 May use synchronous or asynchronous calls
4
CHARACTERISTICS
 Built around business capabilities
 Independently developed from each other
 Independently deployed
 Scaled independently
 A dedicated team works for each service during lifecycle
5
TRADITIONAL TEAMS
6
Actually it is just Rohan

MSA TEAMS (CROSS FUNCTIONAL)
7
ADVANTAGES
8
 Each microservice is relatively small
 Easier for a developer to understand
 Easy to refactor, debug and test
 Speeds up build and deployment
 Each service can be deployed independently of other services
 Easier to deploy new versions of services frequently
 Can be scaled independently
ADVANTAGES
9
 Improved fault tolerance
 The other services will continue to handle requests.
 One component of a monolithic architecture can bring down entire system.
 Eliminates any long-term commitment to a technology stack
 Every service can have its own tech stack suited for its functionality
 Learning curve
DRAWBACKS
10
 Adds complexity to the system
 Implement the inter-service communication mechanism
 Distributed transactions
 Lots of network calls?
 A usual method call becomes an across the network service call
 Testing is more difficult
DRAWBACKS
11
 Increased resource uses
 Separate environments, CI/CD mechanisms
 Increased memory consumption e.g. separate JVM for each service
 Use cases that spawn across multiple services require very careful
co-ordination between teams
 Biggest hurdle is to to find how to partition the system into
microservices
CHALLENGES
12
 Database partitioning
 Application partitioning
 Inter-service communication
DATABASE PARTITIONING
13
 Generally the most difficult part
 Joins, sorting and referential integrity
 Handle in the application code
 Create steps in transactions that can be played out
 Event driven
 Eventual consistency
EVENTUAL CONSISTENCY
14
 How to design eventually consistent business logic
 Atomically update DB and publish event
 Distributed transactions?
 Slow, Deadlock prone
 Database triggers?
 DB specific, error prone
EVENTUAL CONSISTENCY CONTD
15
 eBay solution
 Update DB, create event
 Consume event
 Mark event as consumed
 Error prone, does not work in race conditions
 What is the solution?
EVENTUAL CONSISTENCY CONTD
16
 Present is a fold over history
 Do not update database
 Just publish events
 Events update DB
 Maintain ordering of events
 Replay events to arrive at a state
 Complicates the design, duplicate events will be tricky
DATABASE PARTITIONING CONTD
17
 Create master-slave strategy
 Synching databases
 Polyglot persistence
 Most NoSql databases have no acid properties, joins or transactions
APPLICATION PARTITIONING
18
 Partition along use cases
 Several new services to handle calls from other services
 Application logging is tricky
 Central or local, inter service calls log tailing is difficult
 Deployment strategy
APPLICATION PARTITIONING
19
 Code dependencies needs to be managed
 Better not to have dependent modules
 Handle global configuration data
 Zookeeper?
INTER-SERVICE COMMUNICATION
20
 Technology
 REST
 Messaging
 Performance
 Unreliable communication
 Failover, slow response, circuit breakers etc
PITFALLS
21
 Testing each service is easy
 Testing the whole system is not, who owns integration?
 Technology Pluralism
 Should not lead to technology explosion, no one can understand the whole
system
 Independent deployment hastens release cycle
 Watch out for dependencies between services
 Release, monitoring and versioning must be standardized
PITFALLS CONTD
22
 Refactoring a service is easy
 Its another beast to refactor across services
 Development is MSA oriented
 But CI/CD pipeline is not
 Teams are still built around technology and not services
KNOWN USERS
23
 Amazon
 Netflix
 eBay
QUESTIONS?
24
FOOD FOR THOUGHT
ARE MICROSERVICES FOR EVERYONE?

More Related Content

What's hot

Ch4 req eng
Ch4 req engCh4 req eng
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
Ian Sommerville
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9
Ian Sommerville
 
Ch 4 software engineering
Ch 4 software engineeringCh 4 software engineering
Ch 4 software engineering
Mohammed Romi
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
Ra'Fat Al-Msie'deen
 
Ch25 configuration management
Ch25 configuration managementCh25 configuration management
Ch25 configuration management
software-engineering-book
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Ashis Kumar Chanda
 
Ch16 component based software engineering
Ch16 component based software engineeringCh16 component based software engineering
Ch16 component based software engineering
software-engineering-book
 
Ch7
Ch7Ch7
Ch11 reliability engineering
Ch11 reliability engineeringCh11 reliability engineering
Ch11 reliability engineering
software-engineering-book
 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9
Ian Sommerville
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
Ian Sommerville
 
Ch4
Ch4Ch4
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
Ian Sommerville
 
Ch25-Software Engineering 9
Ch25-Software Engineering 9Ch25-Software Engineering 9
Ch25-Software Engineering 9
Ian Sommerville
 
Ch9 evolution
Ch9 evolutionCh9 evolution
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
koolkampus
 
Ch8.testing
Ch8.testingCh8.testing
Chap5 RE management
Chap5 RE managementChap5 RE management
Chap5 RE management
Ian Sommerville
 

What's hot (19)

Ch4 req eng
Ch4 req engCh4 req eng
Ch4 req eng
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9
 
Ch 4 software engineering
Ch 4 software engineeringCh 4 software engineering
Ch 4 software engineering
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
Ch25 configuration management
Ch25 configuration managementCh25 configuration management
Ch25 configuration management
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Ch16 component based software engineering
Ch16 component based software engineeringCh16 component based software engineering
Ch16 component based software engineering
 
Ch7
Ch7Ch7
Ch7
 
Ch11 reliability engineering
Ch11 reliability engineeringCh11 reliability engineering
Ch11 reliability engineering
 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
 
Ch4
Ch4Ch4
Ch4
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Ch25-Software Engineering 9
Ch25-Software Engineering 9Ch25-Software Engineering 9
Ch25-Software Engineering 9
 
Ch9 evolution
Ch9 evolutionCh9 evolution
Ch9 evolution
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Ch8.testing
Ch8.testingCh8.testing
Ch8.testing
 
Chap5 RE management
Chap5 RE managementChap5 RE management
Chap5 RE management
 

Viewers also liked

Math homework help
Math homework helpMath homework help
Math homework help
alicalland
 
20-31-proverbios
20-31-proverbios20-31-proverbios
20-31-proverbios
La Palabra & Trascendental
 
LoF (엘오에프) 3mint piching deck
LoF (엘오에프) 3mint piching deckLoF (엘오에프) 3mint piching deck
LoF (엘오에프) 3mint piching deck
하 성호
 
Tech020 Presentation
Tech020 PresentationTech020 Presentation
Tech020 Presentation
Thiemo van Rossum
 
Human resource management homework help
Human resource management homework helpHuman resource management homework help
Human resource management homework help
alicalland
 
Atención a la mujer víctima de violencia sexual. Dra. Judith Toro
Atención a la mujer víctima de violencia sexual. Dra. Judith ToroAtención a la mujer víctima de violencia sexual. Dra. Judith Toro
Atención a la mujer víctima de violencia sexual. Dra. Judith Toro
SOSTelemedicina UCV
 
Classement des Entreprises de Taille Intermédiaire surperformantes 2016
Classement des Entreprises de Taille Intermédiaire surperformantes 2016Classement des Entreprises de Taille Intermédiaire surperformantes 2016
Classement des Entreprises de Taille Intermédiaire surperformantes 2016
Almaviva Santé
 
Bhaskar_Profile_Latest
Bhaskar_Profile_LatestBhaskar_Profile_Latest
Bhaskar_Profile_Latest
Bhaskara Rao Kosuru
 
MicroServices: Advantages ans Disadvantages
MicroServices: Advantages ans DisadvantagesMicroServices: Advantages ans Disadvantages
MicroServices: Advantages ans Disadvantages
Dimitar Danailov
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
Rich Lee
 
Microservices: The Right Way
Microservices: The Right WayMicroservices: The Right Way
Microservices: The Right Way
Daniel Woods
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
Eduards Sizovs
 
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInventPros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Sudhir Tonse
 
Microservices Architecture For Conversational Intelligence Platform
Microservices Architecture For Conversational Intelligence PlatformMicroservices Architecture For Conversational Intelligence Platform
Microservices Architecture For Conversational Intelligence Platform
Rafael Casuso Romate
 
Microsoft Office Word Basics Training
Microsoft Office Word Basics TrainingMicrosoft Office Word Basics Training
Microsoft Office Word Basics Training
Mohd Iznan Shamsuddin
 
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and MicroservicesCase Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
Kai Wähner
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocity
Sam Newman
 
The promises and perils of microservices
The promises and perils of microservicesThe promises and perils of microservices
The promises and perils of microservices
Uwe Friedrichsen
 

Viewers also liked (19)

Club 7 de agosto
Club 7 de agostoClub 7 de agosto
Club 7 de agosto
 
Math homework help
Math homework helpMath homework help
Math homework help
 
20-31-proverbios
20-31-proverbios20-31-proverbios
20-31-proverbios
 
LoF (엘오에프) 3mint piching deck
LoF (엘오에프) 3mint piching deckLoF (엘오에프) 3mint piching deck
LoF (엘오에프) 3mint piching deck
 
Tech020 Presentation
Tech020 PresentationTech020 Presentation
Tech020 Presentation
 
Human resource management homework help
Human resource management homework helpHuman resource management homework help
Human resource management homework help
 
Atención a la mujer víctima de violencia sexual. Dra. Judith Toro
Atención a la mujer víctima de violencia sexual. Dra. Judith ToroAtención a la mujer víctima de violencia sexual. Dra. Judith Toro
Atención a la mujer víctima de violencia sexual. Dra. Judith Toro
 
Classement des Entreprises de Taille Intermédiaire surperformantes 2016
Classement des Entreprises de Taille Intermédiaire surperformantes 2016Classement des Entreprises de Taille Intermédiaire surperformantes 2016
Classement des Entreprises de Taille Intermédiaire surperformantes 2016
 
Bhaskar_Profile_Latest
Bhaskar_Profile_LatestBhaskar_Profile_Latest
Bhaskar_Profile_Latest
 
MicroServices: Advantages ans Disadvantages
MicroServices: Advantages ans DisadvantagesMicroServices: Advantages ans Disadvantages
MicroServices: Advantages ans Disadvantages
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Microservices: The Right Way
Microservices: The Right WayMicroservices: The Right Way
Microservices: The Right Way
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInventPros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
 
Microservices Architecture For Conversational Intelligence Platform
Microservices Architecture For Conversational Intelligence PlatformMicroservices Architecture For Conversational Intelligence Platform
Microservices Architecture For Conversational Intelligence Platform
 
Microsoft Office Word Basics Training
Microsoft Office Word Basics TrainingMicrosoft Office Word Basics Training
Microsoft Office Word Basics Training
 
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and MicroservicesCase Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocity
 
The promises and perils of microservices
The promises and perils of microservicesThe promises and perils of microservices
The promises and perils of microservices
 

Similar to Microservices

Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
Judy Breedlove
 
Microservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsMicroservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare Applications
CitiusTech
 
Comparative Analysis of Software Architectures.pptx
Comparative Analysis of Software Architectures.pptxComparative Analysis of Software Architectures.pptx
Comparative Analysis of Software Architectures.pptx
ssuserecd44f
 
Microservices.pptx
Microservices.pptxMicroservices.pptx
Microservices.pptx
EverestMedinilla2
 
Microservices-101
Microservices-101Microservices-101
Microservices-101
Subhashish Bhattacharjee
 
Webinar : Microservices and Containerization
Webinar : Microservices and ContainerizationWebinar : Microservices and Containerization
Webinar : Microservices and Containerization
Newt Global Consulting LLC
 
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreA Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
Simform
 
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
PINGXIONG3
 
APIDays 2018 - APIOps & Microservices - What is MICRO by the Way ?
APIDays 2018 - APIOps & Microservices - What is MICRO by the Way ?APIDays 2018 - APIOps & Microservices - What is MICRO by the Way ?
APIDays 2018 - APIOps & Microservices - What is MICRO by the Way ?
FABERNOVEL TECHNOLOGIES
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
Ajay Kumar Uppal
 
Docker with Micro Service and WebServices
Docker with Micro Service and WebServicesDocker with Micro Service and WebServices
Docker with Micro Service and WebServices
Sunil Yadav
 
Service-Mesh-Presentation.pdf
Service-Mesh-Presentation.pdfService-Mesh-Presentation.pdf
Service-Mesh-Presentation.pdf
chanhluc2112
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
NGINX, Inc.
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
Faren faren
 
Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices
confluent
 
Cloud native-microservices
Cloud native-microservicesCloud native-microservices
Cloud native-microservices
◄ vaquar khan ► ★✔
 
Service Mesh Talk for CTO Forum
Service Mesh Talk for CTO ForumService Mesh Talk for CTO Forum
Service Mesh Talk for CTO Forum
Rick Hightower
 
linkerd.pdf
linkerd.pdflinkerd.pdf
linkerd.pdf
Vishwas N
 
Docebo: history of a journey from legacy to serverless
Docebo: history of a journey from legacy to serverlessDocebo: history of a journey from legacy to serverless
Docebo: history of a journey from legacy to serverless
AWS User Group Italy
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
Rishikese MR
 

Similar to Microservices (20)

Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 
Microservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsMicroservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare Applications
 
Comparative Analysis of Software Architectures.pptx
Comparative Analysis of Software Architectures.pptxComparative Analysis of Software Architectures.pptx
Comparative Analysis of Software Architectures.pptx
 
Microservices.pptx
Microservices.pptxMicroservices.pptx
Microservices.pptx
 
Microservices-101
Microservices-101Microservices-101
Microservices-101
 
Webinar : Microservices and Containerization
Webinar : Microservices and ContainerizationWebinar : Microservices and Containerization
Webinar : Microservices and Containerization
 
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreA Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
 
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
 
APIDays 2018 - APIOps & Microservices - What is MICRO by the Way ?
APIDays 2018 - APIOps & Microservices - What is MICRO by the Way ?APIDays 2018 - APIOps & Microservices - What is MICRO by the Way ?
APIDays 2018 - APIOps & Microservices - What is MICRO by the Way ?
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
 
Docker with Micro Service and WebServices
Docker with Micro Service and WebServicesDocker with Micro Service and WebServices
Docker with Micro Service and WebServices
 
Service-Mesh-Presentation.pdf
Service-Mesh-Presentation.pdfService-Mesh-Presentation.pdf
Service-Mesh-Presentation.pdf
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices
 
Cloud native-microservices
Cloud native-microservicesCloud native-microservices
Cloud native-microservices
 
Service Mesh Talk for CTO Forum
Service Mesh Talk for CTO ForumService Mesh Talk for CTO Forum
Service Mesh Talk for CTO Forum
 
linkerd.pdf
linkerd.pdflinkerd.pdf
linkerd.pdf
 
Docebo: history of a journey from legacy to serverless
Docebo: history of a journey from legacy to serverlessDocebo: history of a journey from legacy to serverless
Docebo: history of a journey from legacy to serverless
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
 

Recently uploaded

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 

Recently uploaded (20)

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 

Microservices

  • 2. WHAT IS A SERVICE?  A service is a discrete unit of functionality that can be accessed remotely and acted upon independently  A service has four properties  It represents a business activity with a specified outcome.  It is self-contained.  It is a black box for its consumers.  It may consist of other underlying services 2
  • 3. WHAT IS SOA?  A service-oriented architecture is a style of computer software where services are provided to the other components by application components, through a communication protocol over a network.  The basic fundamental principles of service oriented architecture is independent of vendors, products and technologies.  e.g. SOAP, REST, Messaging, WCF 3
  • 4. WHAT ARE MICROSERVICES?  Microservices are an implementation approach for SOA?  Some may not agree  An application is developed as a suite of small services.  Services are independently build and deployed component  Each service has its own database  May use synchronous or asynchronous calls 4
  • 5. CHARACTERISTICS  Built around business capabilities  Independently developed from each other  Independently deployed  Scaled independently  A dedicated team works for each service during lifecycle 5
  • 7. MSA TEAMS (CROSS FUNCTIONAL) 7
  • 8. ADVANTAGES 8  Each microservice is relatively small  Easier for a developer to understand  Easy to refactor, debug and test  Speeds up build and deployment  Each service can be deployed independently of other services  Easier to deploy new versions of services frequently  Can be scaled independently
  • 9. ADVANTAGES 9  Improved fault tolerance  The other services will continue to handle requests.  One component of a monolithic architecture can bring down entire system.  Eliminates any long-term commitment to a technology stack  Every service can have its own tech stack suited for its functionality  Learning curve
  • 10. DRAWBACKS 10  Adds complexity to the system  Implement the inter-service communication mechanism  Distributed transactions  Lots of network calls?  A usual method call becomes an across the network service call  Testing is more difficult
  • 11. DRAWBACKS 11  Increased resource uses  Separate environments, CI/CD mechanisms  Increased memory consumption e.g. separate JVM for each service  Use cases that spawn across multiple services require very careful co-ordination between teams  Biggest hurdle is to to find how to partition the system into microservices
  • 12. CHALLENGES 12  Database partitioning  Application partitioning  Inter-service communication
  • 13. DATABASE PARTITIONING 13  Generally the most difficult part  Joins, sorting and referential integrity  Handle in the application code  Create steps in transactions that can be played out  Event driven  Eventual consistency
  • 14. EVENTUAL CONSISTENCY 14  How to design eventually consistent business logic  Atomically update DB and publish event  Distributed transactions?  Slow, Deadlock prone  Database triggers?  DB specific, error prone
  • 15. EVENTUAL CONSISTENCY CONTD 15  eBay solution  Update DB, create event  Consume event  Mark event as consumed  Error prone, does not work in race conditions  What is the solution?
  • 16. EVENTUAL CONSISTENCY CONTD 16  Present is a fold over history  Do not update database  Just publish events  Events update DB  Maintain ordering of events  Replay events to arrive at a state  Complicates the design, duplicate events will be tricky
  • 17. DATABASE PARTITIONING CONTD 17  Create master-slave strategy  Synching databases  Polyglot persistence  Most NoSql databases have no acid properties, joins or transactions
  • 18. APPLICATION PARTITIONING 18  Partition along use cases  Several new services to handle calls from other services  Application logging is tricky  Central or local, inter service calls log tailing is difficult  Deployment strategy
  • 19. APPLICATION PARTITIONING 19  Code dependencies needs to be managed  Better not to have dependent modules  Handle global configuration data  Zookeeper?
  • 20. INTER-SERVICE COMMUNICATION 20  Technology  REST  Messaging  Performance  Unreliable communication  Failover, slow response, circuit breakers etc
  • 21. PITFALLS 21  Testing each service is easy  Testing the whole system is not, who owns integration?  Technology Pluralism  Should not lead to technology explosion, no one can understand the whole system  Independent deployment hastens release cycle  Watch out for dependencies between services  Release, monitoring and versioning must be standardized
  • 22. PITFALLS CONTD 22  Refactoring a service is easy  Its another beast to refactor across services  Development is MSA oriented  But CI/CD pipeline is not  Teams are still built around technology and not services
  • 23. KNOWN USERS 23  Amazon  Netflix  eBay
  • 25. FOOD FOR THOUGHT ARE MICROSERVICES FOR EVERYONE?