Introduction
L'utilisation des modèles de langage LLM (Large Language Model) dans la programmation semble conduire naturellement à la création de microservices. Ces derniers offrent une surface d'interaction bien définie, permettant aux développeurs de laisser les LLM effectuer des refactorisations à grande échelle sans impacter l'extérieur.
Contexte Technique
Un microservice a une surface d'interaction bien définie, avec des requêtes et des réponses explicitement définies. Cela signifie que les LLM peuvent effectuer des modifications internes sans affecter l'extérieur, tant que le contrat avec le monde extérieur reste inchangé. Les microservices peuvent avoir leur propre base de données, caches et stockage d'objets, sans que l'appelant ne s'en soucie.
En revanche, la programmation dans un monolithe nécessite de prendre en compte les couplages implicites entre les différentes parties de l'application. Les microservices réduisent ce risque, car les LLM peuvent effectuer des modifications sans affecter l'extérieur.
Analyse et Implications
D'un point de vue organisationnel, les microservices offrent également des avantages. Ils peuvent être hébergés dans des référentiels GitHub séparés, ce qui réduit la surveillance lors des revues de code et permet une iteration plus rapide. De plus, les données de production et l'infrastructure peuvent être plus faciles d'accès.
Cependant, une prolifération de microservices peut entraîner des problèmes de maintenance à long terme. La gestion de dizaines d'applications, chacune avec ses propres comptes de facturation, configurations d'hébergement et ressources, peut devenir complexe et conduire à des oublis, tels que la non-rénovation d'un compte API.
Perspective
Il est important de trouver un équilibre entre la facilité de création de microservices et les bonnes pratiques de développement. Les organisations doivent rendre les bonnes pratiques plus accessibles et faciles à suivre, afin de prévenir les problèmes de maintenance à long terme.