Avis d'expert
Avis d'expert

6 idées reçues sur les micro-services à l’épreuve du YAGNI (you Aren’t Gonna Need It)

Ou comment se débarrasser de tout ce qui n’est pas nécessaire pour en finir avec une sur-ingénierie souvent complexe et trop coûteuse. 

 

  1. Les micro-services vous aident à poser les limites. Faux. Ce sont les fonctionnalités business qui délimitent les micro-services. Les micro-services reposent bien entendu sur des choix technologiques mais ce ne sont pas les technologies qui définissent les micro-services. On part de la problématique métier et du service attendu sans se soucier des technologies qui vont être utilisées. D’itération en itération, on trouve une réponse à un problème réel qui sera alors traduite en micro services.
  2. Les micro-services vous permettent d’avoir un système modulaire. Certes, les micro-services permettent de visualiser la séparation entre les concepts business mais pas de la franchir. Il existe des solutions pour modifier facilement les modules mais parfois, le refactoring de la structure des modules peut se révéler compliqué.
  3. Les micro-services rendent votre système performant. L’un des principaux intérêts des micro-services est de pouvoir modifier ou adapter chaque service de manière indépendante et autonome… mais cela a un coût car cela suppose de chaque service fonctionne de manière séparée, avec une infrastructure qui supporte chaque processus distinct. Aujourd’hui, les cloud providers vous offrent des solutions efficaces mais faire appel à des services à distance est toujours plus coûteux qu’une communication entre des processus.
  4. Les micro-services sont moins chers à exploiter. C’est toute l’approche du Serverless Computing dont il est question… Bien que cette approche soit plébiscitée, car elle est plus économique en termes de développement et d’exploitation, dans les faits, les réels cas d’usage sont limités. En effet, une application qui fonctionne dans le cloud de la même manière qu’elle le faisait dans votre propre datawarehouse, risque de vous coûter au final bien plus cher (notamment dans les solutions dites Lift&Shift). Les micro-services vous permettent effectivement d’économiser en développement … mais pas en exploitation. L’essentiel reste, qu’à la fin des comptes, la facture reste tout de même plus réduite avec les micro-services (TCO).
  5. Les micro-services sont plus faciles à développer. C’est surtout qu’une grande partie de la complexité est déportée vers les Ops ! Ils ne sont donc pas plus faciles à développer puisqu’ils ne sont pas conçus ni mis en œuvre de la même manière. Les micro-services nécessitent non seulement une approche agile et des équipes par nature DevOps. Sans équipe DevOps, pas de mircro-services en somme !
  6. Qui dit micro, dit petits services. Et qui dit petit dit facile ? Faux également. Micro n’a rien à voir avec la taille. Micro s’entend davantage dans le sens minimaliste du terme, c’est-à-dire un service avec sa responsabilité et son API… par contre sa mise en œuvre peut être plus ou moins complexe. C’est le contexte défini (la fonctionnalité et le service délivré attendu) qui définit la « taille » du micro-service car le développement est piloté par le domaine.

Sources :

 

Des architectures monolithiques vers les micro-services, le chemin vers une nouvelle normalité

https://www.journaldunet.com/web-tech/cloud/1496179-des-architectures-monolithiques-aux-micro-services-le-chemin-vers-une-nouvelle-normalite/ 

You Aren’t Gonna Need micro-services : https://ttulka.medium.com/you-arent-gonna-need-microservices-ef22498bd3c0

les microservices chez Saint-Gobain : https://harington.fr/saint-gobain

Microservices, se lancer ! https://harington.fr/nos-offres/microservices