Un style architectural découpant une application en services indépendants communicant via APIs, opposé à l'approche monolithique traditionnelle.
L'architecture microservices décompose une application en petits services autonomes, chacun responsable d'une fonctionnalité métier spécifique (gestion des utilisateurs, paiements, notifications, etc.). Chaque service a sa propre base de données, peut être développé dans un langage différent, et se déploie indépendamment.
Les avantages des microservices : scalabilité fine (scaler uniquement le service sous charge), déploiements indépendants sans interrompre les autres services, isolation des pannes. Les inconvénients : complexité distribuée, latence réseau entre services, débogage plus difficile, et besoin d'une orchestration (Kubernetes) et d'une observabilité solides.
Pour un développeur, l'expérience microservices est très valorisée dans les grandes entreprises tech et les scale-ups. Elle requiert une bonne compréhension des APIs, des messaging systems (Kafka, RabbitMQ), et des patterns distribués. FreeMatch identifie les missions microservices comme des missions à forte valeur ajoutée technique, souvent associées à des TJM premium.
Interface de Programmation : un ensemble de règles permettant à deux applications de communiquer entre elles pour échanger de la donnée.
Utilisation de ressources informatiques (serveurs, stockage, bases de données) hébergées sur internet plutôt que sur des machines locales.
Un outil de conteneurisation permettant d'emballer une application et ses dépendances dans un container portable, exécutable sur n'importe quelle machine.
Un orchestrateur de containers open source permettant de déployer, scaler et gérer des applications containerisées en production à grande échelle.
Un développeur spécialisé dans la création des serveurs, APIs et bases de données qui alimentent les applications frontend.