Comment accélérer le développement et le déploiement des applications ? Selon Anders Wallgren, CTO de la société Electric Cloud, la solution pourrait se trouver dans le DevOps avec l’introduction de l’architecture en microservices. Wallgren va jusqu’à affirmer que les microservices sont en train de prouver que le mythique homme-mois n’est plus vérifié dans le contexte IT actuel. Mais qu’est-ce que le mythique homme-mois ?
Le mythique homme-mois ou le mythe du mois-homme ou encore loi de Brooks est une théorie mise en avant par Frederick Brooks et considérée comme un classique dans le domaine du génie logiciel. Dans sa théorie présentée en 1975, Brooks fait référence à une unité de coût de développement (l’homme-mois) qui traduit la quantité de travail d’un homme pendant un mois. Il explique dans sa théorie que si une personne doit travailler pendant n mois pour terminer un projet, ce n’est pas pour autant que n personnes seront capables de terminer le travail pendant un mois. Autrement dit, on ne peut pas diviser le temps de développement d’un projet en deux, juste en doublant l’effectif de l’équipe projet. Il illustre cela par le fait que « neuf femmes ne font pas un enfant en un mois », même si une femme est censée faire un enfant neuf mois après sa conception.
40 ans plus tard, la loi de Brooks semble encore valable, mais le CTO d’Electric Cloud pense que les architectures en microservices peuvent permettre de la réfuter.
L’idée de base des microservices est que certains types d’applications – notamment les applications d’entreprise, et les logiciels SaaS fournis sur Internet - sont plus faciles à construire et à maintenir quand ils sont décomposés en de plus petits composants. Chaque composant est pensé de sorte à être développé, déployé, exécuté et géré séparément des autres composants. L’application sera donc l’assemblage de chaque microservice. Cette approche est en contraste avec les applications traditionnelles monolithiques qui sont entièrement développées en une seule pièce. Les différents composants d’une architecture en microservices pourront donc communiquer entre eux via des API accessibles sur http, grâce à des outils et techniques familiers aux développeurs.
Parmi les avantages des microservices, on note la modifiabilité. Étant donné que le code d’un microservice est autonome de celui des autres, une mise à jour d’un composant n’impacte par les autres microservices. L’indépendance entre les différents services favorise surtout le développement de chaque composant en même temps, ce qui est beaucoup plus difficile avec les applications traditionnelles. Pour cette raison, Anders Wallgren pense que l’architecture en microservices est la solution pour accroître la vitesse de développement et de déploiement des applications. Il va plus loin pour affirmer qu’elle peut permettre de réfuter le mythique homme-mois, mais sous certaines conditions.
Il souligne en effet certaines difficultés qui se présentent dans la pratique. Wallgren estime que « les microservices ne sont pas une aubaine pour tout le monde ». L’architecture en microservices est plus facile à implémenter pour une application monolithique existante, mais beaucoup plus difficile à concevoir lorsqu’on part de zéro. Il ajoute aussi que certains types d’applications tels que les logiciels sur site « pourraient ne pas être bons pour les microservices, compte tenu de la coordination et l’infrastructure nécessaires pour déployer des applications microservices ». Au-delà de ces aspects techniques, les microservices passent par une véritable culture DevOps, avec des équipes de développement et d’exploitation qui travaillent en étroite collaboration pour supporter une application sur son cycle de vie.
Sources : The Enterprisers Project, opensource.com
Et vous ?
Que savez-vous de l’architecture en microservices et des difficultés liées à son implémentation ?
Pensez-vous que DevOps et l’architecture en microservices sont la clé pour accélérer le développement et le déploiement des applications ?
Forum ALM
DevOps : l'architecture en microservices pourrait permettre de réfuter le mythe du mois-homme
Selon le CTO d'Electric Cloud
DevOps : l'architecture en microservices pourrait permettre de réfuter le mythe du mois-homme
Selon le CTO d'Electric Cloud
Le , par Michael Guilloux
Une erreur dans cette actualité ? Signalez-nous-la !