Microxchg 2016, l'une des principales conférences sur les microservices, s'est tenue début février à Berlin en Allemagne. Rodrigue Schaefer de Zalando, société technologique leader dans le domaine de la mode en Europe avec plus de 10 000 employés, dont 1 000 d'entre eux dans la technologie, a prononcé un discours au sujet de leur transition d'une application monolithique vers les microservices.
L'utilisation des technologies Java, Spring et Postgres dans leur application monolithique était responsable d'une base de code anarchique, avec de nombreuses dépendances, des problèmes de coordination et au final des cycles de développement plus lents. La densité de bug augmentait à mesure que la taille de l'équipe grandissait et l'ajout de processus rigides pour sa consolidation signifiait que l'innovation en souffrait. En outre, une pile technologique "dépassée" signifiait que le recrutement ralentissait et se compliquait.
Faire confiance au lieu de contrôler les différentes équipes signifie que chacune doit choisir sa propre pile et outils technologiques, en tenant compte de ses compétences et de la possibilité d'obtenir de l'aide des autres départements. Neuf mois après le passage aux microservices, en utilisant AWS pour l'approvisionnement, Docker pour le déploiement, et AppDynamics et Zmon pour la surveillance, 90% de la migration a été déjà réalisé.
L'état d'esprit d'une si grande entreprise autour des microservices dicte que, avec 200 microservices, l'on doive s'attendre à ce que l'un d'eux puisse échouer à un moment ou un autre. Les développeurs ont la responsabilité de bout en bout du DevOps au déploiement en passant par l'Assurance Qualité. Chaque équipe doit fonctionner comme un SaaS vis-à-vis des autres équipes, fournir un service, même s'il est purement interne. Et API First (NdT : concevoir d'abord les APIs) signifie que les 70 équipes différentes doivent être alignées sur les règles d'API. Elles sont toutes consolidées dans un document maître autour des règles du jeu, de l'examen approfondi par les pairs et d'un concept partagé des entités métier.
Sur le plan de la conformité et de la sécurité, Zalando utilise le principe des quatre yeux et des pistes d'audit pour s'assurer que tout changement peut être tracé à la personne qui l'a réalisé.
En interdisant les bibliothèques partagées dans des microservices différents, toutes les équipes sont obligées d'ouvrir leur source et de jouer avec les règles établies par la société. Enfin, le test des services impliquant différentes équipes est réalisé par une unité métier fonctionnelle transverse d'assurance.
La vidéo de présentation est disponible sur Youtube.