Publications

Garden & Kubernetes : Simplifier vos déploiements

Rédigé par Tech Team | 2023

INTRODUCTION

Quelle équipe de développement ne s’est jamais confrontée à la complexité de Kubernetes et Helm ? Lors de nos projets de migration vers Kubernetes, nous avons constaté que les développeurs souhaitent aider les équipes DevOps tout en restant concentrés sur la partie développement, comment optimiser la complémentarité de ces départements ? Nous avons donc orienté notre R&D vers la résolution de cette problématique pour pouvoir proposer à nos clients un outil simple et efficace capable de faciliter l’automatisation des déploiements.

Cet article a pour but aujourd’hui de vous présenter l’outil Garden.io, notamment son intégration avec GKE (Google Kubernetes Engine) et Helm.

"Data is everything, Everything's data"

Simplification de l'automatisation de vos déploiements

Garden regroupe les concepts principaux du déploiement moderne et s’appuie essentiellement sur des projets open-source très appréciés de la communauté comme par exemple Helm, Kubernetes, ou encore Go

Automatiser sa chaîne de déploiement peut rapidement devenir un vrai casse-tête. La succession d’outils, de langages de programmation, d’opérations manuelles, etc… peut rendre la tâche périlleuse et souvent incomprise par les décideurs. Pourtant l’automatisation est primordiale aujourd’hui pour rester compétitif et attractif face aux exigences clients. C’est en ce sens que Garden a développé ce nouvel outil qui va ravir vos équipes de développement.

L’objectif est de permettre l’abstraction d’un certain nombre de tâches automatiques via des fichiers de configuration très simples. L’installation et la configuration d’une chaîne d’intégration continue nécessite l’utilisation de plusieurs outils tels que Kubernetes et Helm. Peu de personnes maîtrisent réellement l’art d’orchestration ou d’automatisation, c’est pourquoi Garden facilite la tâche aux développeurs en intégrant nativement l’utilisation de ces outils complexes. Plus besoin pour les développeurs d’avoir les connaissances de base sur Kubernetes, Helm pour connaître l’état de leurs déploiements.

GARDEN

Garden vous aide à accélérer vos migrations Kubernetes & Cloud

Garden propose plusieurs fonctionnalités très intéressantes pour du développement local et/ou distant ainsi que pour de l’intégration dans une CI. En voici quelques-unes :

  • Multi-environnements : Il est possible de définir plusieurs environnements et de les cibler via la CLI.
  • Hot reloading : Surement la fonctionnalité la plus intéressante de l’outil. Elle permet, lors de chaque modification de votre code source de construire une nouvelle image de votre application, packager un déploiement Kubernetes (compatible avec Helm) et déployer cette nouvelle révision. Le tout de manière automatique et rapide.
  • Centralisation des logs : Une fois vos pods déployés, il est souvent difficile de pouvoir observer les logs de tous vos pods de manière simultanés. Garden vous offre cette possibilité.
  • Helm compatible : Utiliser un package manager comme Helm par exemple est souvent très utile et vous permet de templatiser vos déploiements. Garden propose une compatibilité avec Helm qui peut être couplé au Hot reloading.
  • Docker based : Garden dispose d’une image Docker officielle permettant d’intégrer tous les outils nécessaires à son utilisation. Cette fonctionnalité offre la possibilité d’une intégration rapide et simple dans une CI.
  • Tasks : Il est possible de définir des tâches Garden permettant d’exécuter un certain nombre d’actions lors du hot reloading. L’exemple le plus simple et le plus concret s’applique dans le lancement des tests unitaires. Il est possible d’automatiser le lancement des tests de manière automatique lors de chaque re-déploiement.

Pour plus de détails cliquez ici.

GARDEN X KUBERNETES

L'installation ne prend que quelques secondes

D’après la documentation, Garden peut se coupler aux principaux Cloud providers Amazon (EKS), Azure (AKS) et Google Cloud (GKE). Dans le cadre de nos projets, nous avons déployé Garden sur GKE qui est l’offre Kubernetes Cloud la plus complète et aboutie disponible actuellement sur le marché.

Premier point et pas des moindres, l’installation des outils nécessaires à la mise en place de Garden ne prend que quelques secondes. Au niveau de la configuration du projet Garden il est très simple d’ajouter un nouvel environnement.

Garden est capable de s’associer à différents services managés. Par exemple, nous avons utilisé Garden avec le service Container Registry (Google Cloud) pour la gestion d’images Docker. Cependant, l’outil offre également la possibilité de gérer une registry local au cluster.

Bien évidemment, il est possible d’utiliser toutes les fonctionnalités présentées ci-dessus quel que soit l’environnement. L’idée étant d’utiliser les mêmes commandes depuis l’environnement de développement jusqu’à la production.

Conclusion

Garden vous permet l’automatisation des tâches de déploiement sur Kubernetes, ainsi qu’une prise en main rapide pour vos déploiements locaux et/ou distants. Après avoir testé et déployé Garden auprès de nos clients, nous vous recommandons ce nouvel outil.

Garden propose une nouvelle manière d’automatiser vos chaînes de déploiement. Fini le casse tête Kubernetes ou Helm, cet outil permet de faciliter le travail de vos développeurs pour optimiser les tâches de vos DevOps. Utiliser des services managés tel que container registry et/ou rester complètement indépendant de n’importe quel Cloud provider c’est désormais possible avec Garden, qui vous propose des services adaptés à vos besoins. Par ailleurs, Garden est membre de la Cloud Native Computing Foundation ce qui fait de lui un acteur actif de l’écosystème Cloud et open source… ce qui est sûr c’est que ce petit nouveau n’a pas fini de faire parler de lui…