Avec toutes les promesses que porte une architecture microservices, on peut être tenté de brûler les étapes concernant la migration. Même avec la meilleure volonté du monde, il est toujours possible de sous-estimer cette phase. Les conséquences peuvent donc se faire ressentir tant au point de vue du retard que du budget de l’entreprise. Voici quels sont les points à ne pas négliger pour réussir une migration vers une architecture microservices.
Anticiper l’infrastructure pour effectuer la migration d’une architecture microservices
Lorsqu’on met sur pied un système microservices « On Premise » (en local), il faut notamment anticiper le provisioning de son infrastructure. L’entreprise n’a pas la main sur la production et la livraison des machines commandées. Il faut installer les serveurs, les brancher et veiller aux règles de sécurité spécifiques aux datacenters. Puis, installer les outils (middlewares) sur les serveurs. Toutes ces étapes mises bout à bout représentent un laps de temps qui peut aller jusqu’à 3 mois. La taille doit être étudiée en amont et une prévision des besoins futurs est plus que souhaitable. À intervalles réguliers, on consulte la roadmap qui liste les fonctionnalités à développer pour prévoir les achats de matériel. Si on choisit une solution cloud, ces points se gèrent avec le prestataire.
Négliger la supervision
Un adage dit : « Si tu ne peux pas le mesurer, tu ne peux pas l’améliorer. ». L’écueil le plus courant est de se contenter d’une analyse de bas niveau : on vérifie que l’application tourne sans bug apparent. Pour mesurer efficacement, le contrôle de l’application doit intervenir à haut niveau (le flux circule-t-il, est-il de bonne qualité, etc.). On évite ainsi d’obtenir une application qui tourne dans le vide : qui ne génère aucune donnée. Dès le début du projet, la partie supervision doit être planifiée. On ne néglige aucun élément: infrastructure, middleware et application. On détectera alors des problèmes de performance bien avant la mise en production.
Migration d’une architecture microservices : Adopter la culture DevOps
Rapprocher deux mondes, c’est en substance la culture DevOps. Dans le monolithe, ces deux entités travaillaient en silos et étaient bien séparées. D’un côté se trouvent les équipes de production (infrastructure, déploiement, etc.) et de l’autre, les équipes de développement. Auparavant, les développeurs s’assuraient de livrer une application de qualité avec les fonctions demandées et les équipes de production géraient son déploiement et sa maintenance. DevOps réunit ainsi les deux équipes et crée un lien fort entre les deux entités : tous sont responsables du développement, du déploiement et de la maintenance. Cela accélère le delivery et améliore également la qualité globale. L’adoption de cette culture est nécessaire à la mise en place d’un système microservices.
Organiser sa recette
Pour simplifier la recette, notamment lorsque les applications sont développées en parallèle, il faut automatiser. Sinon, l’entreprise perd un temps considérable en recette manuelle et le retard s’accumule sur les dernières fonctionnalités produites. Sans l’automatisation, on assiste notamment à la formation d’un goulot d’étranglement. Pour réussir cette étape, le product owner explique sa user story au développeur et au responsable de la recette (méthode des 3 amigos). Au moment où le développeur commence à travailler, le recetteur construit son scénario de recette. Au moment de la livraison, le scénario est lancé de façon automatique et le recetteur peut alors se lancer sur un autre projet.
Savoir se remettre en cause
Lors du déploiement d’une solution microservices, la peur d’échouer est bien présente. Les erreurs ne sont réellement catastrophiques que si l’on est incapable d’en tirer les leçons. En effet, la DSI doit toujours être prête à reconsidérer ses choix : infrastructure, langages de programmation, outils (gestion des conteneurs, orchestration ou format des bases de données) ou encore formation des collaborateurs.
_____________________________________________________________________________
Tout simplement “Agile Fan” !
N’hésitez pas à me faire un retour sur cet article ou à me contacter sur LinkedIn pour partager nos actualités!
Nidhal