SlideShare une entreprise Scribd logo
1  sur  2
Télécharger pour lire hors ligne
Microservices – what are they and why use them?
Microservices – what are they, what can they do for you and what do you need to be aware of?
Microservices – or micro-services – may simply be a term for something already being used, but by
giving something a name and defining it, we sometimes give ourselves the advantage of
recognizing a tool we perhaps should be including in our systems.
Microservices may be defined as simple standalone components that can run and be tested
independently, which could help create consistency in the final system.
According to Wikipedia, “Microservices is a specialisation of an implementation approach for
service-oriented architectures (SOA) used to build flexible, independently deployable software
systems. Services in a microservice architecture (MSA) are processes that communicate with each
other over a network in order to fulfill a goal.” In other words, each microservice can usually
provide an API endpoint itself.
Martin Fowler of MartinFowler.com says the “term "Microservice Architecture" has sprung up over
the last few years to describe a particular way of designing software applications as suites of
independently deployable services. While there is no precise definition of this architectural style,
there are certain common characteristics around organization around business capability,
automated deployment, intelligence in the endpoints, and decentralized control of languages and
data.”
Again, the idea is that by designing systems and applications build as suites of standalone
components, it is possible to test each component independently, thus being able to determine
which ones may be lagging and thereby creating delays in the overall system.
The Open Source resource for microservices states in their opening paragraph, “The idea behind
microservices is that some types of applications become easier to build and maintain when they
are broken down into smaller, composable pieces which work together. Each component is
developed separately, and the application is then simply the sum of its constituent components.
This is in contrast to a traditional, "monolithic" application which is all developed all in one piece.”
In a nutshell, this offers the tremendous advantage of being able to quickly develop and fully test
each component, rather than waiting until the entire application is completed. It also means that
each component can be updated individually, which is another huge advantage in today's very
demanding market which often forces application architectures to evolve quickly.
Users automatically expect a rich, interactive and dynamic experience across many platforms,
including mobile devices. Applications must be highly available and scalable, and able to run on
the cloud. Many organizations want to be able to release updates, sometimes multiple times in one
day. It's therefore no longer enough to produce simple, monolithic website apps serving up HTML
to desktop browsers.
Another advantage is from an engineering standpoint. By separating the various components of an
application, they can be developed concurrently and tested across multiple servers or even
multiple data centers. If a single component dies, you can bring up another without it affecting any
of the others.
Scaling becomes more efficient, by allowing the possibility of scaling out with duplicates of the
heaviest used components, rather than scaling up on bigger, more robust machines.
There are disadvantages to working with microservices that also must be considered.
According to a criticism on Wikipedia, this approach is subject to criticism on a number of points:
1. "Services form information barriers
2. The architecture introduces additional complexity and new problems to deal with,
such as network latency, message formats, load balancing and fault tolerance,
ignoring one of these belongs to the "fallacies of distributed computing"
3. testing and deployment are more complicated
4. Inter-service calls over a network have a higher cost in terms of network latency and
message processing time than in-process calls within a monolithic service process
5. Moving responsibilities between services is more difficult. It may involve
communication between different teams, rewriting the functionality in another
language or fitting it into a different infrastructure
6. The complexity of a monolithic application is only shifted into the network, but
persists:
"You can move it about but it's still there!"
— Robert Annett: Where is the complexity?"
Mr. Annett's statement really sums it all up: You can move it about, but it's still there. In other
words, problems still need to be dealt with. Microservices architecture is not a way to get rid of
problems or shuffle them off to someone else, but a way to isolate them so that one problem
doesn't crash the whole system. When a problem arises, it needs to be dealt with where it occurs.
Furthermore, when issues arise, they need to be fixed where they arise by the team working with
that part. This helps to reduce the other issues and may be the difference between using
microservices successfully or tearing your hair out and wishing you had stuck with the “lesser evil”
of the monolithic application.
As with any organization, planning is required before implementation. There are many advantages
to using a microservices architecture, but there are also disadvantages. They must be weighed for
the particular organization and application before choosing this architecture over the more
traditional. However, for many developers, today, microservices are not just a good fit, but a great
fit.
Jean-Christophe Huc (Jay C)
Follow me on Twitter @cto_software,
and visit my blog for more articles www.jchuc.com

Contenu connexe

Tendances

Building cloud-ready Microservices
Building cloud-ready MicroservicesBuilding cloud-ready Microservices
Building cloud-ready Microservicesveredflis
 
Cloud native computing
Cloud native computingCloud native computing
Cloud native computingAnsar Gill
 
Ria 09 trends_and_technologies
Ria 09 trends_and_technologiesRia 09 trends_and_technologies
Ria 09 trends_and_technologiesJohannes Hoppe
 
E20 summit 2010: Beyond Adoption
E20 summit 2010: Beyond AdoptionE20 summit 2010: Beyond Adoption
E20 summit 2010: Beyond AdoptionLee Bryant
 
Unified Endpoint Management: Security & Productivity for the Mobile Enterprise
Unified Endpoint Management: Security & Productivity for the Mobile EnterpriseUnified Endpoint Management: Security & Productivity for the Mobile Enterprise
Unified Endpoint Management: Security & Productivity for the Mobile EnterpriseCitrix
 

Tendances (9)

Building cloud-ready Microservices
Building cloud-ready MicroservicesBuilding cloud-ready Microservices
Building cloud-ready Microservices
 
Reactive applications
Reactive applicationsReactive applications
Reactive applications
 
M4$$$$$$$$
M4$$$$$$$$M4$$$$$$$$
M4$$$$$$$$
 
Cloud native computing
Cloud native computingCloud native computing
Cloud native computing
 
Microservices
MicroservicesMicroservices
Microservices
 
Ria 09 trends_and_technologies
Ria 09 trends_and_technologiesRia 09 trends_and_technologies
Ria 09 trends_and_technologies
 
E20 summit 2010: Beyond Adoption
E20 summit 2010: Beyond AdoptionE20 summit 2010: Beyond Adoption
E20 summit 2010: Beyond Adoption
 
Unified Endpoint Management: Security & Productivity for the Mobile Enterprise
Unified Endpoint Management: Security & Productivity for the Mobile EnterpriseUnified Endpoint Management: Security & Productivity for the Mobile Enterprise
Unified Endpoint Management: Security & Productivity for the Mobile Enterprise
 
The Social Layer
The Social LayerThe Social Layer
The Social Layer
 

Similaire à Microservices

What are the Advantages and Disadvantages of Microservices?
What are the Advantages and Disadvantages of Microservices? What are the Advantages and Disadvantages of Microservices?
What are the Advantages and Disadvantages of Microservices? Zoe Gilbert
 
Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...3gamma
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYSELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYdannyijwest
 
Microservices vs Monolithic Architecture: Which Approach is Suitable for a St...
Microservices vs Monolithic Architecture: Which Approach is Suitable for a St...Microservices vs Monolithic Architecture: Which Approach is Suitable for a St...
Microservices vs Monolithic Architecture: Which Approach is Suitable for a St...Shelly Megan
 
Microservice final final
Microservice final finalMicroservice final final
Microservice final finalgaurav shukla
 
05 microservices microdeck
05 microservices microdeck05 microservices microdeck
05 microservices microdeckfenggang wang
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06Jay van Zyl
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesFayçal Bziou
 
Software application architecture
Software application architectureSoftware application architecture
Software application architectureanwitat
 
Micro services vs Monolith Architecture
Micro services vs Monolith ArchitectureMicro services vs Monolith Architecture
Micro services vs Monolith ArchitectureMohamedElGohary71
 
Microservices with mule
Microservices with muleMicroservices with mule
Microservices with mulealfa
 
Microservices with mule
Microservices with muleMicroservices with mule
Microservices with muleGovind Mulinti
 
Pitfalls & Challenges Faced During a Microservices Architecture Implementation
Pitfalls & Challenges Faced During a Microservices Architecture ImplementationPitfalls & Challenges Faced During a Microservices Architecture Implementation
Pitfalls & Challenges Faced During a Microservices Architecture ImplementationCognizant
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureFaren faren
 
Microsoft Microservices
Microsoft MicroservicesMicrosoft Microservices
Microsoft MicroservicesChase Aucoin
 
Basics of Java Microservices: Frameworks, Examples & Use Cases
Basics of Java Microservices: Frameworks, Examples & Use CasesBasics of Java Microservices: Frameworks, Examples & Use Cases
Basics of Java Microservices: Frameworks, Examples & Use CasesGrapesTech Solutions
 

Similaire à Microservices (20)

What are the Advantages and Disadvantages of Microservices?
What are the Advantages and Disadvantages of Microservices? What are the Advantages and Disadvantages of Microservices?
What are the Advantages and Disadvantages of Microservices?
 
Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYSELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
 
Microservices vs Monolithic Architecture: Which Approach is Suitable for a St...
Microservices vs Monolithic Architecture: Which Approach is Suitable for a St...Microservices vs Monolithic Architecture: Which Approach is Suitable for a St...
Microservices vs Monolithic Architecture: Which Approach is Suitable for a St...
 
Microservice final final
Microservice final finalMicroservice final final
Microservice final final
 
05 microservices microdeck
05 microservices microdeck05 microservices microdeck
05 microservices microdeck
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Software application architecture
Software application architectureSoftware application architecture
Software application architecture
 
Applying Microservices in Webservices, with An Implementation Idea
Applying Microservices in Webservices, with An Implementation IdeaApplying Microservices in Webservices, with An Implementation Idea
Applying Microservices in Webservices, with An Implementation Idea
 
Micro services vs Monolith Architecture
Micro services vs Monolith ArchitectureMicro services vs Monolith Architecture
Micro services vs Monolith Architecture
 
Microservices with mule
Microservices with muleMicroservices with mule
Microservices with mule
 
Microservices with mule
Microservices with muleMicroservices with mule
Microservices with mule
 
Pitfalls & Challenges Faced During a Microservices Architecture Implementation
Pitfalls & Challenges Faced During a Microservices Architecture ImplementationPitfalls & Challenges Faced During a Microservices Architecture Implementation
Pitfalls & Challenges Faced During a Microservices Architecture Implementation
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Microsoft Microservices
Microsoft MicroservicesMicrosoft Microservices
Microsoft Microservices
 
Microservices.docx
Microservices.docxMicroservices.docx
Microservices.docx
 
APIs and Microservices - What Are They?
APIs and Microservices - What Are They?APIs and Microservices - What Are They?
APIs and Microservices - What Are They?
 
Microservice.pptx
Microservice.pptxMicroservice.pptx
Microservice.pptx
 
Basics of Java Microservices: Frameworks, Examples & Use Cases
Basics of Java Microservices: Frameworks, Examples & Use CasesBasics of Java Microservices: Frameworks, Examples & Use Cases
Basics of Java Microservices: Frameworks, Examples & Use Cases
 

Plus de Jean-Christophe HUC (Jay C)

The SR-71 Blackbird – Speed and Stealth Like No Other
The SR-71 Blackbird – Speed and Stealth Like No OtherThe SR-71 Blackbird – Speed and Stealth Like No Other
The SR-71 Blackbird – Speed and Stealth Like No OtherJean-Christophe HUC (Jay C)
 
DevOps: What does this term mean and why should we care?
DevOps: What does this term mean and why should we care?DevOps: What does this term mean and why should we care?
DevOps: What does this term mean and why should we care?Jean-Christophe HUC (Jay C)
 

Plus de Jean-Christophe HUC (Jay C) (19)

Software modernization
Software modernizationSoftware modernization
Software modernization
 
ChatBots and UX
ChatBots and UXChatBots and UX
ChatBots and UX
 
AI and music
AI and musicAI and music
AI and music
 
Time series Databases
Time series DatabasesTime series Databases
Time series Databases
 
My key achievements
My key achievementsMy key achievements
My key achievements
 
Are you employing a DevOps strategy?
Are you employing a DevOps strategy?Are you employing a DevOps strategy?
Are you employing a DevOps strategy?
 
Painting 1
Painting 1Painting 1
Painting 1
 
Reflexilog
ReflexilogReflexilog
Reflexilog
 
Management 3.0 : how to lead agile teams?
Management 3.0 : how to lead agile teams?Management 3.0 : how to lead agile teams?
Management 3.0 : how to lead agile teams?
 
The SR-71 Blackbird – Speed and Stealth Like No Other
The SR-71 Blackbird – Speed and Stealth Like No OtherThe SR-71 Blackbird – Speed and Stealth Like No Other
The SR-71 Blackbird – Speed and Stealth Like No Other
 
DevOps: What does this term mean and why should we care?
DevOps: What does this term mean and why should we care?DevOps: What does this term mean and why should we care?
DevOps: What does this term mean and why should we care?
 
The CTO, Manager and Bandmaster
The CTO, Manager and BandmasterThe CTO, Manager and Bandmaster
The CTO, Manager and Bandmaster
 
Voyage Toundra Arctique
Voyage Toundra ArctiqueVoyage Toundra Arctique
Voyage Toundra Arctique
 
Agile or how to break donw barriers
Agile or how to break donw barriersAgile or how to break donw barriers
Agile or how to break donw barriers
 
Robotics and Artificial Intelligence
Robotics and Artificial IntelligenceRobotics and Artificial Intelligence
Robotics and Artificial Intelligence
 
Benefits of big data
Benefits of big dataBenefits of big data
Benefits of big data
 
The CTO, manager and bandmaster
The CTO, manager and bandmasterThe CTO, manager and bandmaster
The CTO, manager and bandmaster
 
what a CTO does? Part 1
what a CTO does? Part 1what a CTO does? Part 1
what a CTO does? Part 1
 
Le cto, manager chef d'orchestre. Partie 2
Le cto, manager chef d'orchestre. Partie 2Le cto, manager chef d'orchestre. Partie 2
Le cto, manager chef d'orchestre. Partie 2
 

Dernier

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Microservices

  • 1. Microservices – what are they and why use them? Microservices – what are they, what can they do for you and what do you need to be aware of? Microservices – or micro-services – may simply be a term for something already being used, but by giving something a name and defining it, we sometimes give ourselves the advantage of recognizing a tool we perhaps should be including in our systems. Microservices may be defined as simple standalone components that can run and be tested independently, which could help create consistency in the final system. According to Wikipedia, “Microservices is a specialisation of an implementation approach for service-oriented architectures (SOA) used to build flexible, independently deployable software systems. Services in a microservice architecture (MSA) are processes that communicate with each other over a network in order to fulfill a goal.” In other words, each microservice can usually provide an API endpoint itself. Martin Fowler of MartinFowler.com says the “term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data.” Again, the idea is that by designing systems and applications build as suites of standalone components, it is possible to test each component independently, thus being able to determine which ones may be lagging and thereby creating delays in the overall system. The Open Source resource for microservices states in their opening paragraph, “The idea behind microservices is that some types of applications become easier to build and maintain when they are broken down into smaller, composable pieces which work together. Each component is developed separately, and the application is then simply the sum of its constituent components. This is in contrast to a traditional, "monolithic" application which is all developed all in one piece.” In a nutshell, this offers the tremendous advantage of being able to quickly develop and fully test each component, rather than waiting until the entire application is completed. It also means that each component can be updated individually, which is another huge advantage in today's very demanding market which often forces application architectures to evolve quickly.
  • 2. Users automatically expect a rich, interactive and dynamic experience across many platforms, including mobile devices. Applications must be highly available and scalable, and able to run on the cloud. Many organizations want to be able to release updates, sometimes multiple times in one day. It's therefore no longer enough to produce simple, monolithic website apps serving up HTML to desktop browsers. Another advantage is from an engineering standpoint. By separating the various components of an application, they can be developed concurrently and tested across multiple servers or even multiple data centers. If a single component dies, you can bring up another without it affecting any of the others. Scaling becomes more efficient, by allowing the possibility of scaling out with duplicates of the heaviest used components, rather than scaling up on bigger, more robust machines. There are disadvantages to working with microservices that also must be considered. According to a criticism on Wikipedia, this approach is subject to criticism on a number of points: 1. "Services form information barriers 2. The architecture introduces additional complexity and new problems to deal with, such as network latency, message formats, load balancing and fault tolerance, ignoring one of these belongs to the "fallacies of distributed computing" 3. testing and deployment are more complicated 4. Inter-service calls over a network have a higher cost in terms of network latency and message processing time than in-process calls within a monolithic service process 5. Moving responsibilities between services is more difficult. It may involve communication between different teams, rewriting the functionality in another language or fitting it into a different infrastructure 6. The complexity of a monolithic application is only shifted into the network, but persists: "You can move it about but it's still there!" — Robert Annett: Where is the complexity?" Mr. Annett's statement really sums it all up: You can move it about, but it's still there. In other words, problems still need to be dealt with. Microservices architecture is not a way to get rid of problems or shuffle them off to someone else, but a way to isolate them so that one problem doesn't crash the whole system. When a problem arises, it needs to be dealt with where it occurs. Furthermore, when issues arise, they need to be fixed where they arise by the team working with that part. This helps to reduce the other issues and may be the difference between using microservices successfully or tearing your hair out and wishing you had stuck with the “lesser evil” of the monolithic application. As with any organization, planning is required before implementation. There are many advantages to using a microservices architecture, but there are also disadvantages. They must be weighed for the particular organization and application before choosing this architecture over the more traditional. However, for many developers, today, microservices are not just a good fit, but a great fit. Jean-Christophe Huc (Jay C) Follow me on Twitter @cto_software, and visit my blog for more articles www.jchuc.com