En informatique, les microservices sont des services logiciel. L'architecture en microservices est 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é. 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 Le terme microservice est apparu en 2011 au cours d'ateliers d'architecture, 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). Le sujet est réellement évoqué à partir de 2014 selon Google Trends. Parmi les pionniers, Netflix a notamment œuvré à populariser ces architectures. 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 ». Il n'existe pas de définition de ce que sont précisément ou ce que ne seraient pas les microservices. L'architecture en microservices est décrite comme suit : Les services sont petits, et conçus pour remplir une seule fonction.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Séances de cours associées (7)
Chaos Engineering: Principes avancés
Explore les principes avancés de Chaos Engineering, la gestion des risques, l'automatisation et les tests d'injection de défauts.
Datacenters II
Explore les systèmes logiciels à l'échelle du datacenter, les microservices, les défis de mise à l'échelle, la latence de queue, la couche RPC et les tendances futures du cloud computing.
Afficher plus
Publications associées (33)

uKharon: A Membership Service for Microsecond Applications

Rachid Guerraoui, Antoine Murat, Javier Picorel Obando, Athanasios Xygkis

Modern data center fabrics open the possibility of microsecond distributed applications, such as data stores and message queues. A challenging aspect of their development is to ensure that, besides being fast in the common case, these applications react fa ...
USENIX Association2023

Brokering between tenants for an international materials acceleration platform

Giovanni Pizzi, Ivano Eligio Castelli, Francisco Fernando Ramirez

The efficient utilization of resources in accelerated materials science necessitates flexible, reconfigurable software-defined research workflows. We demonstrate a brokering approach to modular and asynchronous research orchestration to integrate multiple ...
CELL PRESS2023

Privacy-Preserving Machine Learning on Graphs

Sina Sajadmanesh

Graph Neural Networks (GNNs) have emerged as a powerful tool for learning on graphs, demonstrating exceptional performance in various domains. However, as GNNs become increasingly popular, new challenges arise. One of the most pressing is the need to ensur ...
EPFL2023
Afficher plus
Concepts associés (10)
Docker (logiciel)
Docker est une plateforme permettant de lancer certaines applications dans des conteneurs logiciels lancée en 2013. Selon la firme de recherche sur l'industrie 451 Research, « Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n'importe quel serveur ». Il ne s'agit pas de virtualisation, mais de conteneurisation, une forme plus légère qui s'appuie sur certaines parties de la machine hôte pour son fonctionnement.
Kubernetes
Kubernetes (communément appelé « K8s ») est un système open source qui vise à fournir une « plate-forme permettant d'automatiser le déploiement, la montée en charge et la mise en œuvre de conteneurs d'application sur des grappes de serveurs ». Il fonctionne avec toute une série de technologies de conteneurisation, et est souvent utilisé avec Docker. Il a été conçu à l'origine par Google, puis offert à la Cloud Native Computing Foundation.
Amazon Web Services
Amazon Web Services (AWS) est une division du groupe américain de commerce électronique Amazon, spécialisée dans les services de cloud computing à la demande pour les entreprises et particuliers. En 2020, AWS a généré 45 milliards de dollars des 386 milliards de dollars du chiffre d'affaires (net sales) monde d'Amazon, soit 11.5%. Lancé officiellement en 2006 par Andy Jassy, Amazon Web Services fournit des services en ligne à d'autres sites internet ou applications clientes.
Afficher plus