Skip to main content

Orchestration et Conteneurs

De Docker à Kubernetes, nous vous accompagnons dans la mise en place de vos applications.
Nous proposons des solutions clefs en main de cluster et d'intégration continue, que ce soit sur vos propres infrastructures ou chez les cloud providers.

Orchestration de conteneur

De Docker à Kubernetes

Docker a fait évoluer la manière dont l'industrie logicielle conçoit, distribue, et exécute les applications serveur. Un an après Docker, en 2014, un autre projet open source apparaît : Kubernetes, créé à l'initiative d'une poignée d'ingénieurs chez Google, mais aujourd'hui aussi développé et supporté par Red Hat, Microsoft, et une pléthore d'acteurs de taille diverse et variée.

Docker permet de facilement construire, livrer, et faire tourner des briques logicielles sur n'importe quelle machine moderne. Kubernetes permet d'orchestrer et ordonnancer ces briques logicielles, c'est-à-dire déterminer quel conteneur doit s'exécuter sur quelle machine et assurer la continuité du service en cas d'indisponibilité d'un serveur. Docker et Kubernetes peuvent fonctionner l'un sans l'autre, mais sont souvent (et logiquement) mis en œuvre de concert.

Nos équipes sont capables de vous accompagner notamment dans les missions suivantes :

Des conteneurs à la démarche DevOps ...

De nombreuses équipes, surtout celles capables de prendre rapidement en main de nouveaux outils, ont adopté Docker et les conteneurs pour « faire du DevOps ». Chez Enix, nous pensons que les conteneurs sont des outils formidables, mais qu'ils doivent être utilisés à bon escient et dans les bonnes circonstances. « J'ai installé Docker » n'est pas synonyme de « mes applicatifs disposent d'une importante couverture de tests unitaires et fonctionnels, me permettant d'itérer rapidement car mon pipeline d'intégration continue m'avertit des régressions avant qu'elles n'impactent mes clients et mes utilisateurs ».

Si vous souhaitez utiliser les conteneurs pour moderniser votre « usine logicielle », voici la démarche que nous préconisons et dans laquelle nous pouvons travailler ensemble :

Formation d'initiation à un container engine comme Docker, vous permettant de « containeriser » un premier service. Nous vous aidons à identifier un bon candidat pour être ce premier service. Typiquement, il s'agira d'un service ayant des dépendances logicielles et des processus de build complexes, car c'est précisément les scénarios pour lesquels Docker a été conçu, et cela permet donc d'en tirer le plus grand bénéfice.

Adoption d'un outil comme Compose, vous permettant d'uniformiser le processus de développement pour une application complète, c'est-à-dire votre premier service et ses dépendances. À l'issue de cette phase, vos équipes sont capables de faire tourner cette application de manière identique sur n'importe quel poste de travail (macOS, Windows, Linux), réduisant les temps d'on-boarding et les effets de bords liés aux variations entre environnements.

Mise en place d'un pipeline de CI/CD (intégration continue / déploiement continu) permettant l'exécution automatique des tests unitaires accompagnant votre code source, et le déploiement systématique du code dans des environnements de qualification (pré-production). Chaque modification apportée au code source peut ainsi être contrôlée avec un minimum d'effort avant de passer en production. Configuration d'un cluster régi par un orchestrateur comme Kubernetes, permettant d'étendre le processus de déploiement continu jusqu'à l'étape de production, avec les contraintes afférentes : haute disponibilité, métrologie, sauvegardes, observabilité ...

Chaque phase est indépendante des autres, et améliore intrinsèquement votre efficacité de manière significative. Cela veut dire que vous n'êtes pas obligé de vous engager dans un projet long et coûteux avant de réaliser un hypothétique retour sur investissement. Travaillons ensemble sur une des premières étapes listées ci-dessus, et vous pouvez ensuite choisir à votre rythme, selon les résultats obtenus, d'aller plus loin.

Orchestration et Conteneurs - Nous sommes là pour vous aider Contactez-nous