Micro-services : quel est le meilleur cas d’usage pour votre entreprise
Avec la montée en puissance des micro-services dans les entreprises, les cas d’utilisation commencent à être référencés. Et l’on tire enfin des conclusions. Découvrez les quatre meilleurs cas d'utilisation des micro-services pour votre entreprise.
Il est une quasi-certitude : la plupart des équipes de développement en entreprise finiront par utiliser des micro-services hébergés dans le Cloud. Pour eux, la question sera de savoir par où commencer, car partir avec les mauvais candidats ralentira les déploiements voire discréditera l'adoption de cette architecture.
Les meilleurs cas d'usage des micro-services se répartissent en quatre catégories. Chaque entreprise a de quoi identifier le plus adapté pour démarrer.
Décomposition des cas d'usage des micro-services
Le premier cas d'utilisation à considérer est celui portant sur l'usage micro-services pour faciliter l'adoption du Cloud. La plupart des équipes de développement reconnaissent certes la particularité des architectures applicatives pour les Cloud publics et hybrides. Mais peu de gens savent décrire ces différences : ordre des déploiements, sécurité des opérations et conformité, efficacité totale de l'hébergement. Les micro-services ouvrent la voie à un nouveau modèle d'application. Un modèle pouvant facilement être hébergé dans le datacenter, même sous forme monolithique, et pouvant être facilement migré vers une plateforme Cloud.
Les micro-services vont au-delà de l'architecture orientée services (SOA) : ils définissent un modèle de service dynamique en termes de connectivité inter-services. Un micro-service est une unité de fonctionnalité conçue (si elle est correctement exécutée) pour être stateless et évolutive. Vous pouvez intégrer des micro-services et des composants applicatifs de base dans une seule image, en répliquant les services et en évitant les problèmes de connexion et d'intégration de ces composants. Les mêmes micro-services peuvent être étendus en tant que services partagés et contrôlés à l'aide d'un gestionnaire API qui réplique les mécanismes SOA en matière de sécurité sécurité. Ils peuvent être ensuite exposés sous une forme RESTful - si la gouvernance le permet. Ces options sont aujourd’hui un must en matière de conception d’applications, et cela représente une rampe parfaite pour le Cloud.
Le second cas d'utilisation des micro-services offre une approche plus centrée sur les métiers, avec une approche plus classique de la SOA. Pour être efficaces, les micro-services exigent que les architectes d’applications collaborent avec les architectes d'entreprise. Cela est nécessaire pour identifier les fonctions métier réutilisables et les transformer en micro-services. Il s'agit là d'une différence importante et précieuse par rapport au modèle traditionnel de la SOA, où les services ont été définis principalement en fonction de considérations techniques. Ce n’est que très récemment que les entreprises se sont rendu compte qu'il fallait procéder à une évaluation plus axée métier de l’IT. Mais elles ne savaient pas très bien par où commencer.
Une bonne stratégie de micro-services commence par l'identification des fonctions métier des applications. Suit une cartographie des fonctions communes ou très similaires entre les applications. Ces fonctions deviennent des cibles pour la création de micro-services.
Le troisième cas d'utilisation : s’appuyer sur les micro-services pour tirer parti de l'élasticité et de la scalabilité du Cloud. Les entreprises savent que le principal avantage du Cloud n'est pas de réduire les coûts de calcul, mais plutôt d'améliorer l'efficacité des opérations. Cela finit par améliorer l'agilité de l'entreprise et la qualité des applications. Le problème, c'est qu'il n'est pas toujours évident de savoir comment tirer parti de ces fonctions Cloud. Les micro-services sont la meilleure réponse.
L'élasticité ou la scalabilité correspondent à la capacité de pouvoir d’accroître ou de réduire les ressources pour s’adapter aux workloads et réagir aux défaillances.
Cela signifie qu'il faut structurer les applications de manière à ce que les composants qui génèrent des goulots d’étranglement puissent avoir plusieurs copies instanciées et que les workloads puissent être équilibrées entre les copies. Les micro-services permettent de construire des composants pour faciliter ce processus. Les mêmes gestionnaires d'API utilisés pour appliquer les pratiques de sécurité/gouvernance aux micro-services peuvent également être utilisés pour l'équilibrage de charge et la gestion des instances.
Ce cas d'utilisation peut également être considéré comme un moyen de passer à des déploiements en containers, un objectif de plus en plus important pour les entreprises qui s'intéressent au Cloud. Étant donné que les micro-services sont des éléments fonctionnels relativement petits, ils se prêtent au modèle des containers. D'importants travaux ont été réalisés pour démontrer les bienfaits des deux technologies.
Le dernier, et peut-être le plus sophistiqué, cas d'utilisation des micro-services est celui de l’événementiel. La conception d'applications repose depuis longtemps sur la notion d’une série de composants reliés par un workflow statique, généralement pris en charge par un bus de messagerie/service. Concevoir l’IT comme une réponse à des événements constitue un modèle alternatif avec plus d'impact potentiel sur l'informatique et les métiers que le Cloud ou la fragmentation d’applications sous la forme de composants. Cette approche événementielle constitue aussi une rupture profonde par rapport au design traditionnel et un défi pour les architectes et les développeurs.
Trouver un cas d'utilisation qui fonctionne
Les micro-services sont capables d’apporter une approche événementielle plus directe que n'importe quelle autre technologie actuelle. Les micro-services mis en œuvre en tant que fonctions stateless peuvent être poussés selon les besoins. Cela crée un tout nouveau modèle de conception d'applications, un modèle dans lequel les composants sont regroupés selon les besoins.
Pour la plupart des entreprises, ces cas d’utilisation feront échos. La chose la plus intelligente à faire est d'examiner tous les points ci-dessus et de mettre des priorités immédiate et long terme.
Les micro-services en sont encore à leurs balbutiements. Il est encore facile de commettre une erreur car les meilleures pratiques sont encore immatures. Cela signifie que, aussi précieux soient-ils, les micro-services restent une stratégie risquée. Plus risquée qu'une stratégie soutenue par un grand nombre d’utilisateur sur une plus longue période. Il est ainsi nécessaire de prendre son temps pour évaluer les cas d'utilisation et de développer sa propre stratégie. Cela empêchera de commettre des erreurs qui s'avéreront difficiles à corriger.