Que sont les microservices ?

microservices_600x300

Les microservices décrivent le processus architectural de création d’une application distribuée à partir de services déployables séparément qui exécutent des fonctions métier spécifiques et communiquent sur des interfaces web. Les équipes DevOps placent des éléments de fonctionnalité individuels dans les microservices et créent des systèmes plus volumineux en combinant les microservices comme les blocs de construction.

Les microservices appliquent un exemple du principe ouvert/fermé :

  • Ils sont ouverts pour l’extension (à l’aide des interfaces qu’ils exposent)
  • Ils sont fermés pour modification (chacun est implémenté et versionné indépendamment)

Les microservices offrent de nombreux avantages par rapport aux architectures monolithiques :

  • Ils peuvent supprimer des points de défaillance uniques (SPOFs) en garantissant que les problèmes dans un service ne se bloquent pas ou n’affectent pas d’autres parties d’une application.
  • Les microservices individuels peuvent être mis à l’échelle indépendamment pour fournir une disponibilité et une capacité supplémentaires.
  • Les équipes DevOps peuvent étendre les fonctionnalités en ajoutant de nouveaux microservices sans affecter inutilement d’autres parties de l’application.

L’utilisation de microservices peut augmenter la vitesse de l’équipe. Les pratiques DevOps practices, telles que l’intégration continue et la livraison continue, sont utilisées pour piloter des déploiements de microservice. Les microservices complètent bien les architectures d’applications basées sur le cloud en permettant aux équipes de développement de logiciels de tirer parti de scénarios tels que la programmation pilotée par les événements et la mise à l’échelle automatique. Les composants de microservice exposent des API (interfaces de programmation d’applications), généralement sur des protocoles REST, pour communiquer avec d’autres services.

Une pratique de plus en plus courante consiste à utiliser des clusters de conteneurs pour implémenter des microservices. Les conteneurs permettent l’isolation, l’empaquetage et le déploiement de microservices, tandis que l’orchestration effectue un scale-out d’un groupe de conteneurs dans une application.

Étapes suivantes

En savoir plus sur les microservices sur Azure.