SlideShare a Scribd company logo
1 of 8
Microservices
without the hype
Definition of Microservices
• SOA without the vendors
• + Lessons learned after 10+ years:
– REST >> SOAP
– Simplicity
– Higher granularity -> Micro
SOA Principles – Still valid
• High decoupling:
– Service has its own lifecycle
• Allows releasing often with fewer changes with lower risk
• Rolling upgrades
• Canaries
– Isolation
• Communication through well defined interfaces, usually
remote
• Share nothing, service owns its persistence schema
– Stateless
• Clients maintain state for the flow
SOA Principles - Lessons Learned
• SOAP model is too rigid, REST is extensible
• Clients everywhere: HTML, devices, M2M, IoT
• Backwards compatibility is a must, usually we do
not own clients
• Design the interface upfront, aim for consensus
with client developers if feasible
• Refactor or rebuild the service, the smaller the
service the cheaper to refactor/rebuild. Just keep
the interfaces untouched
SOA Principles - Lessons Learned II
• Resource versioning when backwards compatibility is not possible,
adds lots of complexity, code forking
• HTTP as standard: Load Balancers, Proxies, Firewalls. Still more
communication mechanisms are required, mostly intra-dc: Kafka,
RabbitMQ, Akka cluster, etc
• Remote interfaces promote better isolation than local interfaces.
• Enhances team autonomy, easier to experiment new technologies
in smaller services that can be rewritten if necessary. REST
interfaces are quite agnostic of implementation technology
• Strong Functional and Regression Testing – more exposed interfaces
mean that more effort is required to assess the services data and
behavior is correct
• Integration tests are costly – lots of integration points to test,
system is complex so having a working integration environment is
difficult and costly.
Micro, nano or pico??
• Service granularity depends on several factors:
– Organizational: Conway’s Law
– Latency: The more granular, the more latency we
add, more so in the high percentiles
– Release policy
– Integration testing
Risks and caveats
• Services too small:
– Risk of becoming orphaned, no team maintaining it
– Chattiness, client needs to talk to multiple services for a given
functionality
• Too coarse:
– more changes in each release
– More difficult to refactor
• Backwards compatibility is expensive
• Somewhat chaotic systems and organization, difficult to have the
whole picture, less standarized and more distributed
• Complex systems design as everything is distributed
• Complex debugging as a transaction usually flows through several
services
Related Topics
• Continuous Delivery – Microservices are deployed often, CD
is almost a requirement to deploy as often as microservices
require
• Chaos Monkey – Resilience importance is more relevant
because of the number of components involved in a
flow/transaction
• Eventual consistency – CAP is usually balanced towards AP,
availability and partition tolerance are more important than
immediate consistency
• Immutable deployments – new containers are created that
package the new version, traffic is progressively directed to
this newly created cluster. Rollback is trivial
• Service discovery – configuration is difficult, many
integration configuration points difficult to operate manually

More Related Content

What's hot

SOA Pattern : Legacy Wrappers
SOA Pattern : Legacy Wrappers SOA Pattern : Legacy Wrappers
SOA Pattern : Legacy Wrappers WSO2
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
NServiceBus introduction
NServiceBus introductionNServiceBus introduction
NServiceBus introductionBoris Tveritnev
 
Digital Transformation through Open Software Defined Infrastructure
Digital Transformation through Open Software Defined InfrastructureDigital Transformation through Open Software Defined Infrastructure
Digital Transformation through Open Software Defined InfrastructureOpen Networking Summit
 
Microservice Memoirs - Lachlan Evanson
Microservice Memoirs - Lachlan EvansonMicroservice Memoirs - Lachlan Evanson
Microservice Memoirs - Lachlan EvansonAmbassador Labs
 
Xelemax Data Sheet_2015
Xelemax Data Sheet_2015Xelemax Data Sheet_2015
Xelemax Data Sheet_2015Michael Cohen
 
Microservice Architecture 101
Microservice Architecture 101Microservice Architecture 101
Microservice Architecture 101Kochih Wu
 
Cn application layer_paradigms
Cn application layer_paradigmsCn application layer_paradigms
Cn application layer_paradigmsRohitK71
 
Server And Hardware Virtualization_Aakash1.1
Server And Hardware Virtualization_Aakash1.1Server And Hardware Virtualization_Aakash1.1
Server And Hardware Virtualization_Aakash1.1Aakash Agarwal
 
WSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2
 
Indrek Saar: "Mobile Application Server-Side Security Peculiarities"
Indrek Saar: "Mobile Application Server-Side Security Peculiarities"Indrek Saar: "Mobile Application Server-Side Security Peculiarities"
Indrek Saar: "Mobile Application Server-Side Security Peculiarities"MobileMonday Estonia
 
The Interoperability Challenge in Telecom and NFS Environments
The Interoperability Challenge in Telecom and NFS EnvironmentsThe Interoperability Challenge in Telecom and NFS Environments
The Interoperability Challenge in Telecom and NFS EnvironmentsOpen Networking Summit
 
DOTNET 2013 IEEE CLOUDCOMPUTING PROJECT An adaptive cloud downloading service
DOTNET 2013 IEEE CLOUDCOMPUTING PROJECT An adaptive cloud downloading serviceDOTNET 2013 IEEE CLOUDCOMPUTING PROJECT An adaptive cloud downloading service
DOTNET 2013 IEEE CLOUDCOMPUTING PROJECT An adaptive cloud downloading serviceIEEEGLOBALSOFTTECHNOLOGIES
 
SOA Pattern : Policy Centralization
SOA Pattern : Policy CentralizationSOA Pattern : Policy Centralization
SOA Pattern : Policy CentralizationWSO2
 

What's hot (19)

SOA Pattern : Legacy Wrappers
SOA Pattern : Legacy Wrappers SOA Pattern : Legacy Wrappers
SOA Pattern : Legacy Wrappers
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
NServiceBus introduction
NServiceBus introductionNServiceBus introduction
NServiceBus introduction
 
Digital Transformation through Open Software Defined Infrastructure
Digital Transformation through Open Software Defined InfrastructureDigital Transformation through Open Software Defined Infrastructure
Digital Transformation through Open Software Defined Infrastructure
 
Microservice Memoirs - Lachlan Evanson
Microservice Memoirs - Lachlan EvansonMicroservice Memoirs - Lachlan Evanson
Microservice Memoirs - Lachlan Evanson
 
Rest component demo
Rest component demoRest component demo
Rest component demo
 
NFV Testing
NFV TestingNFV Testing
NFV Testing
 
Xelemax Data Sheet_2015
Xelemax Data Sheet_2015Xelemax Data Sheet_2015
Xelemax Data Sheet_2015
 
ACE - Comcore
ACE - ComcoreACE - Comcore
ACE - Comcore
 
Microservice Architecture 101
Microservice Architecture 101Microservice Architecture 101
Microservice Architecture 101
 
Cn application layer_paradigms
Cn application layer_paradigmsCn application layer_paradigms
Cn application layer_paradigms
 
Nexus 1000_ver 1.1
Nexus 1000_ver 1.1Nexus 1000_ver 1.1
Nexus 1000_ver 1.1
 
State of the OpenDaylight Union
State of the OpenDaylight UnionState of the OpenDaylight Union
State of the OpenDaylight Union
 
Server And Hardware Virtualization_Aakash1.1
Server And Hardware Virtualization_Aakash1.1Server And Hardware Virtualization_Aakash1.1
Server And Hardware Virtualization_Aakash1.1
 
WSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2 Message Broker - Product Overview
WSO2 Message Broker - Product Overview
 
Indrek Saar: "Mobile Application Server-Side Security Peculiarities"
Indrek Saar: "Mobile Application Server-Side Security Peculiarities"Indrek Saar: "Mobile Application Server-Side Security Peculiarities"
Indrek Saar: "Mobile Application Server-Side Security Peculiarities"
 
The Interoperability Challenge in Telecom and NFS Environments
The Interoperability Challenge in Telecom and NFS EnvironmentsThe Interoperability Challenge in Telecom and NFS Environments
The Interoperability Challenge in Telecom and NFS Environments
 
DOTNET 2013 IEEE CLOUDCOMPUTING PROJECT An adaptive cloud downloading service
DOTNET 2013 IEEE CLOUDCOMPUTING PROJECT An adaptive cloud downloading serviceDOTNET 2013 IEEE CLOUDCOMPUTING PROJECT An adaptive cloud downloading service
DOTNET 2013 IEEE CLOUDCOMPUTING PROJECT An adaptive cloud downloading service
 
SOA Pattern : Policy Centralization
SOA Pattern : Policy CentralizationSOA Pattern : Policy Centralization
SOA Pattern : Policy Centralization
 

Viewers also liked

20140403 pecha kucha 10 tips agile development
20140403 pecha kucha 10 tips agile development20140403 pecha kucha 10 tips agile development
20140403 pecha kucha 10 tips agile developmentAgileConsortiumINT
 
Defluffing Cloud Computing
Defluffing Cloud ComputingDefluffing Cloud Computing
Defluffing Cloud ComputingIwein Fuld
 
Demistifying open stack storage
Demistifying open stack storageDemistifying open stack storage
Demistifying open stack storageopenstackindia
 
Microsoft dynamics ax 2012 development introduction part 1/3
Microsoft dynamics ax 2012 development introduction part 1/3Microsoft dynamics ax 2012 development introduction part 1/3
Microsoft dynamics ax 2012 development introduction part 1/3Ali Raza Zaidi
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
 

Viewers also liked (6)

20140403 pecha kucha 10 tips agile development
20140403 pecha kucha 10 tips agile development20140403 pecha kucha 10 tips agile development
20140403 pecha kucha 10 tips agile development
 
Demystifying devops
Demystifying devopsDemystifying devops
Demystifying devops
 
Defluffing Cloud Computing
Defluffing Cloud ComputingDefluffing Cloud Computing
Defluffing Cloud Computing
 
Demistifying open stack storage
Demistifying open stack storageDemistifying open stack storage
Demistifying open stack storage
 
Microsoft dynamics ax 2012 development introduction part 1/3
Microsoft dynamics ax 2012 development introduction part 1/3Microsoft dynamics ax 2012 development introduction part 1/3
Microsoft dynamics ax 2012 development introduction part 1/3
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 

Similar to Microservices tech talk

Concurrency at Scale: Evolution to Micro-Services
Concurrency at Scale:  Evolution to Micro-ServicesConcurrency at Scale:  Evolution to Micro-Services
Concurrency at Scale: Evolution to Micro-ServicesRandy Shoup
 
Service Mesh Talk for CTO Forum
Service Mesh Talk for CTO ForumService Mesh Talk for CTO Forum
Service Mesh Talk for CTO ForumRick Hightower
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Rick Hightower
 
Intro to Microservices Architecture
Intro to Microservices ArchitectureIntro to Microservices Architecture
Intro to Microservices ArchitecturePeter Nijem
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxPINGXIONG3
 
The Evolution of Architecture
The Evolution of ArchitectureThe Evolution of Architecture
The Evolution of ArchitectureNVISIA
 
Service Stampede: Surviving a Thousand Services
Service Stampede: Surviving a Thousand ServicesService Stampede: Surviving a Thousand Services
Service Stampede: Surviving a Thousand ServicesAnil Gursel
 
Microservices Design and Best Practices on AWS
Microservices Design and Best Practices on AWSMicroservices Design and Best Practices on AWS
Microservices Design and Best Practices on AWSArif Amirani
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsRonny López
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices ArchitectureParia Heidari
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices M A Hossain Tonu
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to MicroservicesDavid Currie
 
SOA - Unit 1 - Introduction to SOA with Web Services
SOA - Unit   1 - Introduction to SOA with Web ServicesSOA - Unit   1 - Introduction to SOA with Web Services
SOA - Unit 1 - Introduction to SOA with Web Serviceshamsa nandhini
 
Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Andrés Colón Pérez
 
The "Why", "What" and "How" of Microservices
The "Why", "What" and "How" of Microservices The "Why", "What" and "How" of Microservices
The "Why", "What" and "How" of Microservices INPAY
 

Similar to Microservices tech talk (20)

Concurrency at Scale: Evolution to Micro-Services
Concurrency at Scale:  Evolution to Micro-ServicesConcurrency at Scale:  Evolution to Micro-Services
Concurrency at Scale: Evolution to Micro-Services
 
Service Mesh Talk for CTO Forum
Service Mesh Talk for CTO ForumService Mesh Talk for CTO Forum
Service Mesh Talk for CTO Forum
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
 
Intro to Microservices Architecture
Intro to Microservices ArchitectureIntro to Microservices Architecture
Intro to Microservices Architecture
 
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
 
The Evolution of Architecture
The Evolution of ArchitectureThe Evolution of Architecture
The Evolution of Architecture
 
Service Stampede: Surviving a Thousand Services
Service Stampede: Surviving a Thousand ServicesService Stampede: Surviving a Thousand Services
Service Stampede: Surviving a Thousand Services
 
Microservices Design and Best Practices on AWS
Microservices Design and Best Practices on AWSMicroservices Design and Best Practices on AWS
Microservices Design and Best Practices on AWS
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP Applications
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices Architecture
 
Micro service architecture
Micro service architecture  Micro service architecture
Micro service architecture
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices
 
What are microservices
What are microservicesWhat are microservices
What are microservices
 
652.ppt
652.ppt652.ppt
652.ppt
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
SOA - Unit 1 - Introduction to SOA with Web Services
SOA - Unit   1 - Introduction to SOA with Web ServicesSOA - Unit   1 - Introduction to SOA with Web Services
SOA - Unit 1 - Introduction to SOA with Web Services
 
Microservice intro
Microservice introMicroservice intro
Microservice intro
 
Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...
 
The "Why", "What" and "How" of Microservices
The "Why", "What" and "How" of Microservices The "Why", "What" and "How" of Microservices
The "Why", "What" and "How" of Microservices
 

Recently uploaded

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Recently uploaded (20)

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

Microservices tech talk

  • 2. Definition of Microservices • SOA without the vendors • + Lessons learned after 10+ years: – REST >> SOAP – Simplicity – Higher granularity -> Micro
  • 3. SOA Principles – Still valid • High decoupling: – Service has its own lifecycle • Allows releasing often with fewer changes with lower risk • Rolling upgrades • Canaries – Isolation • Communication through well defined interfaces, usually remote • Share nothing, service owns its persistence schema – Stateless • Clients maintain state for the flow
  • 4. SOA Principles - Lessons Learned • SOAP model is too rigid, REST is extensible • Clients everywhere: HTML, devices, M2M, IoT • Backwards compatibility is a must, usually we do not own clients • Design the interface upfront, aim for consensus with client developers if feasible • Refactor or rebuild the service, the smaller the service the cheaper to refactor/rebuild. Just keep the interfaces untouched
  • 5. SOA Principles - Lessons Learned II • Resource versioning when backwards compatibility is not possible, adds lots of complexity, code forking • HTTP as standard: Load Balancers, Proxies, Firewalls. Still more communication mechanisms are required, mostly intra-dc: Kafka, RabbitMQ, Akka cluster, etc • Remote interfaces promote better isolation than local interfaces. • Enhances team autonomy, easier to experiment new technologies in smaller services that can be rewritten if necessary. REST interfaces are quite agnostic of implementation technology • Strong Functional and Regression Testing – more exposed interfaces mean that more effort is required to assess the services data and behavior is correct • Integration tests are costly – lots of integration points to test, system is complex so having a working integration environment is difficult and costly.
  • 6. Micro, nano or pico?? • Service granularity depends on several factors: – Organizational: Conway’s Law – Latency: The more granular, the more latency we add, more so in the high percentiles – Release policy – Integration testing
  • 7. Risks and caveats • Services too small: – Risk of becoming orphaned, no team maintaining it – Chattiness, client needs to talk to multiple services for a given functionality • Too coarse: – more changes in each release – More difficult to refactor • Backwards compatibility is expensive • Somewhat chaotic systems and organization, difficult to have the whole picture, less standarized and more distributed • Complex systems design as everything is distributed • Complex debugging as a transaction usually flows through several services
  • 8. Related Topics • Continuous Delivery – Microservices are deployed often, CD is almost a requirement to deploy as often as microservices require • Chaos Monkey – Resilience importance is more relevant because of the number of components involved in a flow/transaction • Eventual consistency – CAP is usually balanced towards AP, availability and partition tolerance are more important than immediate consistency • Immutable deployments – new containers are created that package the new version, traffic is progressively directed to this newly created cluster. Rollback is trivial • Service discovery – configuration is difficult, many integration configuration points difficult to operate manually