Kubernetes OVH
- Type de client
- Editeur de logiciels
- Offre
- Kubernetes
- Objectifs
- Disposer d’une architecture SAAS robuste et scalable
Les résultats
-
Scalabilité
Architecture adaptative hautement disponible pour absorber l’augmentation de la charge
Cloud – Migrez vos applications SAAS sur Kubernetes.
LecPac Consulting a accompagné un de ses clients vers une architecture Cloud Native basée sur l’offre managée Kubernetes de chez OVH. Nos experts se sont appuyés sur les meilleures technologies cloud et bonnes pratiques DevOps. 👇
Notre rôle n’est pas de gérer nos propres datacenters, mais de proposer à nos clients des services à forte valeur ajoutée supérieure à l’offre Cloud des gros acteurs du marché (OVH, Google, AWS,…).
Les solutions que nous choisissons sont agnostiques et sans lock-in technique. Elles permettent par conséquent de localiser votre hébergement chez le fournisseur cloud de votre choix et d’en changer durant toute la durée de vie de votre projet.
Explorer le potentiel de Kubernetes pour vos logiciels SAAS
Notre client disposait d’une infrastructure composée de serveurs dédiés sur laquelle il hébergeait des applications web en mode SAAS.
Ses applications étaient développées en Symfony et versionnées sur un dépôt Bitbucket. Elles étaient ensuite conteneurisées avec Docker pour être déployées en production.
Les problèmes rencontrés sur cette architecture étaient un manque de fiabilité sur le déploiement. En effet, cette tache était réalisée manuellement par les équipes de développement. De plus, il y avait des interruptions de service causées par des crash de conteneur liés à un manque de ressources sur les serveurs dédiés ou bien encore des problèmes applicatifs.
Notre client souhaitait continuer à faire de la conteneurisation pour avoir un environnement identique entre le développement et la production. La sécurité des données et la disponibilité en production étaient des enjeux majeurs dans ce projet.
Mettre en place une architecture Kubernetes pour répondre aux besoins de notre client
Pour nos consultants DevOps, il semblait évident de proposer une architecture Kubernetes pour répondre aux besoins de notre client.
Voici quelques avantages majeurs de l’adoption d’un cluster Kubernetes lorsque l’on fait de la conteneurisation :
- Cohérence des environnements : L’utilisation des conteneurs offre une cohérence des environnements de développement, de tests et de production. Un conteneur docker qui tourne sur un ordinateur fonctionne de la même manière que sur un cluster Kubernetes.
- Supervision des conteneurs: La tâche principale de l’orchestrateur Kubernetes est de maintenir en confiance l’état de fonctionnement des conteneurs et plus généralement des applications.
- Déploiement automatique des applications : Le déploiement peut être beaucoup plus facilement automatisé sur cette infrastructure ( approche GITOPS ). Les coûts d’exploitation sont également réduits.
- Continuité des applications : Kubernetes maintient des répliques actives de groupes de conteneurs, dans le but précis d’apporter de la résilience face à la panne en cas de défaillance d’un conteneur.
- Mise à l’échelle automatique des applications : L’architecture est évolutive, Kubernetes peut être configuré pour répliquer automatiquement les pods applicatifs vers différents nœuds. Nous parlons alors de scalabilité horizontale.
Comment choisir son hébergeur cloud ?
Comme toute technologie disruptive, il faut passer par une phase de préparation pour migrer vers une infrastructure Kubernetes. Nous conduisons la plupart de nos clients à travers ce processus en réalisant un audit de l’existant , en analysant les risques , et en fournissant des conseils stratégiques pour faire le bon choix sur l’infrastructure Kubernetes.
Comme pour notre client, si vous souhaitez migrer sur Kubernetes, il y a évidemment une bonne raison à cela : stabilité accrue, unification des environnements et autoscaling rapide.
Après avoir réalisé l’étude de l’existant, analysé les besoins et les risques des applications SAAS de notre client, nous devions savoir comment l’infrastructure sous-jacente serait provisionnée et gérée.
La première option était d’exécuter un cluster Kubernetes sur une infrastructure privée. Cela signifie que vous devez connaître les complexités des composants de la plateforme ( ETCD, Stockage persistant, Loadbalancing, Mise à jour de sécurité… ).
S’il n’y a pas d’obligation légale ( PCI DSS , HDS …), chez LecPac Consulting, nous privilégions d’utiliser un service Kubernetes managé. Cela permet en l’occurrence de déléguer toute la responsabilité du provisionnement et de la gestion de l’infrastructure chez un hébergeur cloud. ( OVH, GCP, AWS… ).
Comment déployer une infrastructure Kubernetes?
Pour une migration réussie vers le cloud, nous utilisons une approche DevOps et des outils permettant de définir votre infrastructure avec du code. Votre hébergement devient donc (comme en génie logiciel)
- testable
- re-jouable
- versionable
- automatisable. Nous mettons en avant l’automatisation des tâches (livraison, rollback, etc..) plutôt que les actions manuelles sur les machines.
Ansible, Terraform, Flux2 pour quoi faire ?
- Instancier des machines virtuelles et/ou toute une infrastructure Kubernetes.
- Installer des logiciels de base sur une VM vierge ou sur un cluster Kubernetes.
- Déployer vos services et applications.
- Effectuer des opérations de maintenance sur tout ou partie de vos VMs (backup, mise à jour de sécurité, monitoring).
Toutes les ressources ( Cluster Kubernetes , Machines virtuelles de base de données ) définissant l’environnement de notre client sont ainsi versionnées.
Conclusion
L’utilisation d’une offre managée Kubernetes simplifie la gestion de l’infrastructure ! Cependant, la migration de certaines applications demande beaucoup d’efforts. Nos consultants restent disponibles pour vous révéler et accompagner votre ambition de migrer vers une infrastructure Cloud native.
Besoin de migrer vos applications Saas ?
Nos experts chez LecPac-Consulting vous accompagne.