Vous êtes sur la page 1sur 6

Microservices

En informatique, les microservices sont une technique de développement logiciel — une


variante du style architectural de l'architecture orientée services (SOA) — qui structure une
application comme un ensemble de services faiblement couplés. Les microservices
indépendants communiquent les uns avec les autres en utilisant des API indépendantes du
langage de programmation.

Des API REST sont souvent employées pour relier chaque microservice aux autres. Un
avantage avancé est que lors d'un besoin critique de mise à jour d'une ressource, seul le
microservice contenant cette ressource sera mis à jour, l'ensemble de l'application restant
compatible avec la modification, contrairement à la totalité de l'application dans une
architecture classique, par exemple une architecture trois tiers. Cependant, le coût de mise
en place, en raison des compétences requises, est parfois plus élevé.

Détails

Les services individuels sont simples à remplacer

Les services sont conçus pour leur utilité spécifique (par exemple la facturation, la chaîne
logistique, l'interface...)
L'architecture est plus symétrique que hiérarchique (passage d'une architecture client-
serveur à une architecture de plusieurs entités communicantes)

L'architecture facilite le déploiement continu du code

Historique

Le terme microservice est apparu en 2011 au cours d'ateliers d'architecture[1], bien qu'il
réutilise un grand nombre de principes largement employé par les systèmes d'information
des grandes entreprises, notamment les concepts de l'architecture orientée service (SOA[2]).

Le sujet est réellement évoqué à partir de 2014 selon Google Trends[3]. Parmi les pionniers,
Netflix a notamment œuvré à populariser ces architectures[4],[5].

Philosophie

La philosophie de l'architecture microservices s'inspire en grande partie de la philosophie


UNIX, qui prône « ne faire qu'une seule chose, et la faire bien ». Elle est décrite comme
suit[6],[7],[8] :

Les services sont petits, et conçus pour remplir une seule fonction.

L'organisation du projet doit prendre en compte l'automatisation, le déploiement et les


tests.

Chaque service est élastique, résilient, composable, minimal et complet[8].

Citations

« En bref, le style architectural microservice est une approche pour développer une
application unique comme une suite de petits services, chacun fonctionnant dans son
propre processus et communiquant avec des mécanismes légers. »[9]
« Commençons déjà par un constat clair émis par les précurseurs du microservice : cette
architecture est une extension du concept de SOA. »[10]
Sociétés utilisatrices de microservices

Amazon

Bluemix

Cloud Foundry[11]

Eutelsat

Google

HP Helion Development Platform

Hailo Taxi

Jelastic

Microsoft Azure

Netflix[12] (Netflix reçoit 2 milliards de requêtes chaque jour, conduisant à environ


20 milliards d'appels à des API internes)

Outscale

Riot Games

Secib

SoundCloud

The Guardian

Uber

Orange (entreprise)

OVHcloud

Voir aussi

Loi de Conway
Illusions de l'informatique distribuée

Devops

Representational state transfer (REST)

Architecture orientée services

Architecture orientée Web

Philosophie d'Unix

Informatique sans serveur

Application Programming Interface

application monolithe

Notes et références

1. « Microservices » (https://martinfowler.com/articles/microservices.html) , sur


martinfowler.com (consulté le 20 février 2019)

2. « SOA versus microservices : quelles différences ? » (https://www.nexworld.fr/soa-versu


s-microservices-quelles-differences/) , sur Nexworld, 7 février 2018 (consulté le
20 février 2019)

3. « Google Trends » (https://trends.google.com/trends/explore?q=Microservices&date=201


3-01-01%202019-09-09#TIMESERIES) , sur Google Trends (consulté le 20 février 2019)

4. Sudhir Tonse, « MicroServices at Netflix - challenges of scale » (https://fr.slideshare.net/


stonse/microservices-at-netflix) , 8 août 2014 (consulté le 20 février 2019)

5. Dave Nielsen, « Microservices at Netflix » (https://www.youtube.com/watch?v=LEcdWV


fbHvc) , 8 août 2014 (consulté le 20 février 2019)

6. (en) Lucas Krause, Microservices: Patterns and Applications


(ASIN B00VJ3NP4A (https://www.amazon.fr/s/?url=search-alias&lang=fr&field-keywords=B00VJ3N
)
7. (en) Lucas Krause, « Philosophy of Microservices? » (http://microservicesbook.io/the-phil
osophy-of-microservice-architecture/)

8. (en) Jim Bugwadia, « Microservices: Five Architectural Constraints » (http://nirmata.com/


2015/02/microservices-five-architectural-constraints/)

9. « Microservices a definition of this new architectural term ? » (https://martinfowler.com/


articles/microservices.html) , sur martinfowler.com, 25 mars 2014

10. « SOA versus microservices : évolution ou révolution ? » (https://www.nexworld.fr/soa-ve


rsus-microservices-quelles-differences/) , sur www.nexworld.fr, 7 février 2018

11. (en) « Developing Microservices for PaaS with Spring and Cloud Foundry » (http://www.i
nfoq.com/presentations/microservices-pass-spring-cloud-foundry)

12. (en) « Microservices » (http://www.infoq.com/resource/minibooks/emag-microservices/


en/pdf/Microservices-emag.pdf)

Sources

(fr) http://www.journaldunet.com/solutions/cloud-computing/1166432-microservices-est-
ce-realiste/

(fr) http://blog.xebia.fr/2015/03/09/microservices-des-architectures/

Portail de l’informatique

Ce document provient de
« https://fr.wikipedia.org/w/index.php?
title=Microservices&oldid=183203903 ».

Dernière modification il y a 24 jours par 213.94.7.50

Le contenu est disponible sous licence CC BY-SA


3.0 sauf mention contraire.

Vous aimerez peut-être aussi