Intégration et déploiement continus de bout en bout
Au sein de la société MyDataModels, trois équipes techniques contribuent au développement de solutions métier Small Data en s’appuyant sur plusieurs langages (Javascript/React, Scala et C/C++), ainsi que plusieurs bases de données MongoDB, RabbitMQ et Redis.
MyDataModels (MDM) avait déjà migré par le passé vers les conteneurs orchestrés sur Kubernetes. L’écosystème mis en place présentait néanmoins des limitations notables que MyDataModels souhaitait éliminer : incertitudes sur la reprise d’activité en cas de perte de cluster, solutions de déploiement avec des actions manuelles trop couteuses en temps, systèmes insuffisamment automatisés, outils trop complexes ou pas les plus adaptés.
La société a donc décidé de faire appel à Enix pour concevoir et déployer une nouvelle chaîne d’intégration et de déploiement continu 100% automatisée, adaptée à son organisation et aux spécificités de son développement logiciel.
La société MyDataModels
MyDataModels, société basée à Sophia Antipolis et Paris (30 personnes), propose un logiciel de modélisation prédictive Small Data destiné à des experts métier, basé sur une technologie d’intelligence artificielle propriétaire.“Enix a su nous accompagner méthodiquement dans la mise en place d’une solution DevOps pour mieux maîtriser nos clusters Kubernetes et l’automatisation de nos déploiements.”
Denis BastimentL'accompagnement et les solutions Enix
Après audit de l’existant, Enix a proposé la mise en place d’une nouvelle architecture de CI/CD optimisée :-
Architecture
La nouvelle architecture proposée permet de répondre à une double difficulté : automatiser les opérations pour éradiquer la charge manuelle récurrente, et faire bénéficier à MDM de notre expérience sur les pratiques DevOps permettant d’apporter un gain substantiel aux équipes. -
Plan de Reprise d'Activité (GitOps)
Compte tenu de la multiplicité des clusters Kubernetes et dans le but de construire un Plan de Reprise d’Activité, la pratique GitOps a permis de minimiser le temps nécessaire pour un redéploiement des infrastructures MDM. -
Intégration continue
En collaboration avec les équipes, nous avons revu le packaging des applications et assuré la construction de conteneurs optimisés. Le système de changement de version automatique se basant sur les logs git a permis de normaliser le travail entre les équipes. -
Déploiement continu
Nous avons reconstruit des charts helm plus synthétiques et segmentés par projet. Après intégration des environnements Kubernetes dans Gitlab et la mise en place de certificats publics à la demande via cert-manager et let’s encrypt, nous avons mis en place la création d’environnement à la demande (par feature branch).
Ce projet d’intégration et de déploiement continus nous a passionné pour son aspect “jusqu’au-boutiste”. Il a permis de minimiser le risque sur l’activité de MyDataModels : en évitant les erreurs courantes, en adoptant les bons outils et les bonnes pratiques DevOps, enfin en facilitant la reprise d’activité sur l’ensemble de l’infrastructure Cloud Native.
La nouvelle architecture permet également d’améliorer le travail collaboratif : méthodologie commune entre les différentes équipes de développeurs, gain de temps et de traçabilité (i.e. changelogs automatiques et détaillés), meilleure visibilité pour le product owner.
La proximité avec les équipes MDM et l’aspect collaboratif au travers d’outils modernes (i.e. Slack) ont permis une mise en place rapide et de créer un véritable climat de confiance. Ceci nous a permis d’ouvrir de nouveaux projets DevOps avec MyDataModels, tels que la maintenance et la mise à jour des clusters Amazon EKS et de leurs composants.
Notre solution
-
—
Audit de l'existant
-
—
Architecture CI / CD
-
—
Mise en place de la solution
-
—
Accompagnement et maintenance
Les technologies
-
—
Amazon Elastic Kubernetes Service
-
—
Gitlab & ChartMuseum
-
—
Helm charts
-
—
Docker
Notre client
-
—
Spécialiste du modèle prédictif pour Small Data
-
—
30 collaborateurs en France dont 1 équipe R&D de 10 personnes
-
—
1 LAB R&D (partenariat avec l'Inria)
-
—
Levée de fond le 31/01/2019