Dans le cadre de sa transformation digitale, Homair, un leader de l’hôtellerie en plein air, s’est lancé dans la création d’une nouvelle application « Camp companion » (disponible sur l’App Store et Google Play) pour répondre aux besoins croissants de leurs clients. Camp Companion est un véritable assistant personnel pour vivre pleinement son séjour et être informé de toutes les activités. Nous avons pris la décision stratégique de déployer un cluster Kubernetes sur Google Kubernetes Engine (GKE) avec Homair pour offrir une architecture scalable et robuste, automatiser la gestion des charges, et garantir une sécurité de pointe pour les communications en ligne. Cet article explore en détail les étapes de mise en place de ce cluster Kubernetes, les outils utilisés et les résultats obtenus.
Pourquoi un cluster Kubernetes et Google Kubernetes Engine
L’un des principaux besoins d’Homair était de disposer d’une application permettant à ses clients d’accéder facilement à toutes les informations liées à leur séjour, en passant du check-in aux horaires d’aquagym. Pour cela, l’entreprise avait besoin d’une architecture scalable en raison des pics de demande, particulièrement durant les saisons estivales. Un cluster nous semblait une évidence pour dimensionner les serveurs en fonction des pics de saison. Kubernetes a été choisi comme plateforme de gestion des conteneurs en raison de sa capacité à automatiser le déploiement, le scaling et la gestion des applications conteneurisées.
Google Kubernetes Engine (GKE) s’est imposé comme le choix naturel pour plusieurs raisons. Tout d’abord, GKE offre une gestion simplifiée des clusters Kubernetes grâce à des fonctionnalités comme Autopilot, qui optimise automatiquement la charge et réduit les tâches opérationnelles. De plus, GKE propose une intégration native avec les services Google Cloud offrant une robustesse accrue, une haute disponibilité et une gestion automatisée des mises à jour.
Utilisation de Argo CD pour une approche GitOps
Afin de renforcer le contrôle sur les déploiements et de maintenir une infrastructure à jour, nous avons choisi avec Homair d’adopter une approche GitOps avec Argo CD, un outil de déploiement continu. Argo CD surveille en permanence le dépôt Git qui contient les configurations de l’application et assure que l’état du cluster Kubernetes est conforme à l’état décrit. En cas de dérive, Argo CD peut automatiquement aligner l’environnement réel avec celui décrit dans le dépôt Git, garantissant que l’application est toujours dans un état opérationnel optimal.
Cette approche permet non seulement de minimiser les erreurs humaines, mais aussi de faciliter les rollbacks en cas de défaillances techniques. Avant toute suppression de l’ancienne version de l’application, Argo CD s’assure que la nouvelle version est entièrement opérationnelle, garantissant également un déploiement sans interruption de service.
Gestion des certificats avec Cert-Manager
La sécurité des données et des communications était un impératif pour Homair. C’est dans ce contexte que nous avons choisi de déployer Cert-Manager au sein du cluster Kubernetes pour automatiser la gestion des certificats TLS. Cet outil gère automatiquement les certificats SSL pour l’ensemble des services déployés sur le cluster, ce qui assure que toutes les communications client-serveur soient chiffrées et sécurisées.
Grâce à Cert-Manager, Homair a pu automatiser le processus de renouvellement des certificats, réduisant ainsi le risque d’expiration et garantissant une sécurité constante. Cette approche proactive de la gestion des certificats à également permis de diminuer les coûts opérationnels liés à la maintenance de la sécurité.
Une architecture scalable et résiliente grâce au cluster Kubernetes
L’architecture mise en place repose sur un cluster Kubernetes unique par environnement (développement et production), chacun géré via Google Kubernetes Engine. Cette séparation par environnement assure une isolation complète des ressources et permet des déploiements contrôlés et sécurisés. Le back-end de l’application est construit avec Nest.JS, un framework efficace et modulaire, tandis que le back-office utilise React. Enfin, l’application mobile est développée avec Flutter, garantissant une expérience utilisateur fluide sur toutes les plateformes.
En arrière-plan, Homair utilise Cloud Storage pour le stockage des données statistiques et une base de données SQL pour la gestion des données transactionnelles. Cette combinaison permet de gérer efficacement les volumes importants de données générées par l’application, tout en garantissant des temps de réponse rapides et une haute disponibilité.
Monitoring et alertes proactives
Pour garantir que l’application fonctionne toujours de manière optimale, nous avons intégré plusieurs outils de monitoring au sein du cluster Kubernetes. Le monitoring nous permet de surveiller en temps réel les performances de l’application et de l’infrastructure sous-jacente. En cas d’anomalie, des alertes sont automatiquement générées, ce qui nous permet de réagir rapidement avant que les utilisateurs finaux ne soient affectés.
Nous utilisons des outils comme Prometheus et Grafana pour collecter et visualiser les métriques, tandis que nous configurons des alertes personnalisées pour notifier les équipes dès qu’un seuil critique est atteint. Cette approche proactive permet ainsi de garantir une disponibilité constante et une qualité de service élevée.
Les résultats de la mise en place du cluster Kubernetes
La mise en place du cluster Kubernetes sur Google Kubernetes Engine nous a permis de répondre aux besoins d’Homair d’une manière agile et scalable. Les résultats obtenus furent concluants :
- Performance améliorée : Grâce à l’autoscaling, l’application peut gérer des pics de trafic importants sans aucune interruption de service.
- Sécurité renforcée : La gestion automatique des certificats avec Cert-Manager assure une protection continue des données client.
- Déploiement fluide et continu : Argo CD a permis d’automatiser le processus de déploiement, réduisant ainsi le risque d’erreurs et les temps d’arrêt.
- Optimisation des coûts : En automatisant de nombreux aspects de la gestion de l’infrastructure, Homair a pu réduire les coûts opérationnels et améliorer l’efficacité de ses équipes.
👉 Si vous souhaitez aller plus loin dans la création d’architecture de microservice, l’un de nos experts devOps en a écrit un livre blanc !
La mise en place d’un cluster Kubernetes pour Homair chez Hello Pomelo
En choisissant d’implémenter un cluster Kubernetes sur GKE avec des outils de pointe comme Argo CD et Cert-Manager, nous avons su répondre efficacement aux besoins de ses clients tout en posant les bases d’une infrastructure numérique robuste et scalable. Cette stratégie a non seulement permis à l’entreprise de s’adapter rapidement aux exigences du marché, mais elle renforce également leur position de leader dans le secteur de l’hôtellerie de plein air. Cette application est l’une des premières pierres de la transformation digitale d’Homair, l’entreprise est désormais prête à relever les défis futurs avec une infrastructure solide, sécurisée et agile. Grâce à notre approche agile et notre expertise nous avons réussi à déployer un MVP en 4 mois pour Homair. Ils ont fait confiance à Hello Pomelo pourquoi pas vous ?