Les Microservices... illustrés par les délicieux burgers d'Anatole !

Ce billet vous propose une première approche des microservices …et ce sont les burgers du chef cuistot Anatole qui vont pimenter ces explications ! Pour savourer cet article, munissez-vous d’un soupçon de curiosité et d’une lichette d’humour … Bonne dégustation à vous !

Logo IT'burgers

Anatole et ses 7 cuisiniers : les experts du burger !

Anatole, Nantais pure souche, 39 ans et 21 années derrière lui en cuisine ! Plein d’idées et riche de ses différentes expériences, il décide de créer son propre restaurant pour exprimer ses talents culinaires au travers de somptueux Burgers faits maison !

Il commence seul, mais très vite la qualité de sa cuisine est reconnue. Alors Anatole doit s’entourer d’une équipe de cuistots.

Quelques mois plus tard, sept cuisiniers ont rejoint Anatole. Chacun est formé aux cinq aspects de la préparation d’un burger. Ainsi, chaque cuistot s’occupe de la fabrication du pain, de la sauce, du fromage, de la cuisson des ingrédients et de la préparation des différents petits légumes ! Bref, le burger n’a pas de secret pour eux et ils en maîtrisent tous les moindres détails ! Cette équipe aime le travail bien fait, comme un analyste fonctionnel en informatique aime écrire ses spécifications aux petits oignons !

Les nouveautés culinaires d'Anatole délicieuses mais lentes à mettre en oeuvre : quelle solution ?

Désormais inscrit dans le guide des bonnes tables Nantaises, notre restaurateur innove très régulièrement pour répondre à une clientèle de plus en plus exigeante.


Après le « pain rustique » et le « pain aux céréales », Anatole décide de créer un pain aromatisé aux herbes de Provence, mais aussi une nouvelle sauce… Pour chaque nouveauté créée ou nouvelle technique mise en place, Anatole doit former chaque membre de son équipe.


D’autre part, si un nouveau cuistot intègre la brigade alors pour qu’il soit opérationnel, Anatole est obligé de lui apprendre les 5 aspects de la préparation d’un burger.


Vous l’aurez compris, avec une telle organisation, le changement prend du temps et devient de moins en moins rentable !


Anatole constate aussi que lorsqu’un cuisinier est absent, ce sont plusieurs burgers qui ne peuvent pas être produits !


Cette organisation trouve ses limites. Anatole s’interroge et souhaite en discuter ouvertement avec son équipe. Notre chef, aime l’intelligence collective et reste persuadé que les bonnes idées sont issues d’une réflexion commune !


Après de nombreux échanges, l’équipe souhaite se réorganiser ! D’un commun accord, les cuistots vont se répartir les différentes tâches … Désormais, deux cuistots seront affectés à la confection des différentes pâtes pour les petits pains, un sera le spécialiste du fromage, deux autres suivront de près les cuissons de la viande et du poisson, un autre sera le maître saucier et enfin les petits légumes seront gérés par la jeune pousse de l’équipe ! Avec le temps, cette nouvelle organisation fonctionne bien et nous verrons dans la suite de cet article, qu’il devient plus efficace qu’un cuistot se concentre sur une tâche précise du processus de préparation.

Mais au fait quel est le lien entre les microservices et les Burgers d'Anatole ?

Microservices : késako ?

Avant d’aller plus loin et de faire le lien entre nos burgers et les microservices, il convient de comprendre ce qu’est, en informatique, une architecture microservice et comment celle-ci s’oppose aux architectures monolithiques.


Les microservices désignent à la fois une architecture et une approche de développement logiciel qui consiste à décomposer les applications en éléments les plus simples, tous indépendants les uns des autres. À l’inverse, avec les architectures monolithiques tous les processus gérés par l’application sont étroitement couplés et s'exécutent comme un système unique. Dans ce contexte « monolithique » signifie formé d’un seul bloc. Tous les composants forment alors une entité indissociable.


Désormais, vous commencez à faire le lien entre l’informatique et les burgers d’Anatole ! La première organisation des cuistots s’apparentait à une architecture monolithique et la deuxième ressemble à une organisation en microservices.


En effet, chaque cuistot à sa propre responsabilité et sa charge de travail. Avec cette organisation, les 2 cuistots spécialistes de la pâte, pourront produire de la pâte à pain aromatisée aux herbes de Provence, sans se soucier de savoir si des légumes vont se retrouver dans le burger. Ce n’est plus leur responsabilité. Pour la nouvelle sauce, il est possible que le maître saucier communique directement avec les fromagers, sans déranger le chef de cuisine. Et oui, désormais Anatole et son équipe sont organisés comme l’est une architecture informatique orientée microservices !

Microservices : pourquoi ?

Dans une architecture monolithique, la défaillance d'un seul composant peut entraîner la défaillance de l'application tout entière. Avec l'architecture de microservices, les applications gèrent entièrement les échecs des services en dégradant la fonctionnalité, mais sans interrompre l'ensemble de l'application. Le problème est isolé et n’a pas de « cascades ». Pour illustrer ces propos, si notre cuistot expert en sauce est absent, Anatole peut demander à son cuistot spécialiste du pain, de produire des pains plus épicés et la production de Burgers continue !


D’autre part, les applications monolithiques ont généralement un code source assez volumineux. Lorsque des nouveaux développeurs rejoignent l’équipe de projet, il leur faut alors passer beaucoup de temps pour se familiariser avec le code source de l’application et comprendre toutes les dépendances entre les modules. Souvent, des
temps de formation à plusieurs sont nécessaires. À l’inverse les microservices sont petits, ils sont en général plus faciles à comprendre et à appréhender pour un développeur. Pour notre exemple, si le nouveau venu est expert en cuisson des petits légumes, inutile de lui apprendre la technique de la mise au point de la sauce Provençale ! Que de temps de gagné !


Comme nous l’évoquions précédemment, les microservices permettent de découper une application, en plusieurs éléments les plus simples, tous indépendants les uns des autres. Ces éléments peuvent évoluer indépendamment. L’innovation est alors facilitée ! Pour notre chef les nouveautés sont plus faciles à mettre en oeuvre. Si Anatole décide de mettre au point une nouvelle sauce, il devra former uniquement le cuistot dit « le saucier ». Il ne sera pas nécessaire dans ce cas de former les experts en pâte.

Les microservices permettent également de diminuer la dette technique. Ainsi, les développeurs sont moins contraints de maintenir des technologies potentiellement obsolètes. La taille relativement petite des services permet plus facilement aux développeurs de réécrire les anciens services à l'aide de technologies plus récentes et plus pertinentes.


Nous pourrions trouver encore plusieurs avantages aux microservices…comme l’appétit vient en mangeant et si vous souhaitez en savoir plus sur les microservices, il existe plusieurs ouvrages pour comprendre comment les architectures microservices sont déployées en informatique.

Voici la sélection du chef !

  • Docker : déploiement de microservices sous Linux ou Windows – Edition ENI
  • Kubernetes : mise en oeuvre d'un cluster et déploiement de microservices Edition ENI

Sources issues de la bibliothèque numérique Younup !

Anatole et son équipe vous souhaitent une excellente continuation et vous remercient de vous être attablés pour lire cet article !

Julien

Si l’expression « Avoir le goût du travail bien fait » avait un prénom, ça pourrait bien être Julien. Dans son métier de PO, ce qu’il aime, c’est échanger, partager et collaborer avec les devs et les clients pour délivrer un produit final de qualité. Et gare à vous si vous la jouez perso au détriment de l’équipe !

Toujours plein de projets en tête, il adorerait n’être plus obligé de dormir pour tous les réaliser.

Et quand il n’est pas en sprint review ou à faire des US, il est probablement dans son jardin ou son potager avec sa famille, ou bien (encore mieux !) à se ressourcer dans la vallée de la Charente sur sa bonne terre natale !

Retours aux publications