Kubernetes OVH

ovh cloud partenaire référencé
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, en s’appuyant sur les meilleures technologies cloud et bonnes pratiques DevOps. 👇

image
image
logo kubernetes
image
terraform
image

Notre rôle n’est pas de gérer nos propres datacenters, mais de proposer à nos clients des services à forte valeur ajoutée au dessus de 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 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 par la suite 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, car cette tache était réalisée manuellement par les équipes de développement. Puis Il y avait également des interruptions de service causées par des crash de conteneur liés par un manque de ressources sur les serveurs dédiés ou bien 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.

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, on parle ainsi 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.

Accompagnement migration 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.

Une fois que nous avions réalisé l’étude de l’existant, analysé les besoins et les risques des applications SAAS de notre client, la première chose qui a été considéré était de savoir comment l’infrastructure sous-jacente y 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 vous 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?

devops kubernetes

Pour une migration réussie vers le cloud, nous avons une approche DevOps avec des outils qui permettent 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.