Développez sur Kubernetes avec des outils open source


  • Français


  • Au cours des cinq dernières années, un changement massif dans la façon dont les applications sont déployées s’est produit. Il est passé d’une infrastructure auto-hébergée au monde du cloud et des clusters Kubernetes. Ce changement dans les pratiques de déploiement a apporté beaucoup de nouveautés au monde des développeurs, notamment les conteneurs, configuration du fournisseur de cloud, orchestration de conteneurs, et plus. Il y a eu une évolution des monolithes de codage vers des applications cloud natives composées de plusieurs microservices.

    Alors que le déploiement d’applications a progressé, les flux de travail et les outils de développement sont restés largement stagnants. Ils ne se sont pas complètement adaptés ou ne se sont pas sentis “natifs” à ce nouveau monde d’applications cloud natives. Cela peut signifier une expérience de développement désagréable, impliquant une perte massive de productivité des développeurs.

    Mais il y a un meilleur moyen. Et si vous pouviez intégrer de manière transparente Kubernetes et des ressources cloud illimitées avec vos outils de développement locaux préférés ?

    L’état actuel du développement cloud natif

    Imaginez que vous créez une application cloud native qui inclut une base de données Postgres dans un plate-forme d’applications géréesun ensemble de données et trois microservices différents.

    Normalement, cela impliquerait les étapes suivantes :

    1. Ouvrez un ticket pour demander à votre équipe informatique de provisionner une base de données dans votre compte AWS d’entreprise.
    2. Parcourez la documentation pour trouver où obtenir une copie du vidage de la base de données de la semaine dernière à partir de votre environnement de staging (vous n’utilisez pas de données prod dans dev, n’est-ce pas ?)
    3. Découvrez comment installer et exécuter le service un sur votre machine locale
    4. Découvrez comment installer et exécuter le service 2 sur votre machine locale
    5. Découvrez comment installer et exécuter le service 3 sur votre machine locale

    Et c’est juste pour commencer. Une fois que vous avez effectué vos modifications de code, vous devez suivre ces étapes pour les tester dans un environnement réaliste :

    1. Créer une branche Git
    2. Validez vos modifications
    3. Trouvez un message de commit significatif
    4. Poussez vos changements
    5. Attendez votre tour dans la file d’attente CI
    6. CI construit vos artefacts
    7. CI déploie votre application
    8. Vous validez enfin vos modifications

    J’ai travaillé avec des équipes où ce processus prend de quelques minutes à plusieurs heures. Mais en tant que développeur, attendre ne serait-ce que quelques minutes pour voir si mon code fonctionne a été une expérience terrible. C’était lent, frustrant et me faisait redouter de faire des changements complexes.

    Simplifiez votre workflow de développement cloud natif avec Crossplane et Okteto

    Crossplane est un projet open source qui connecte votre cluster Kubernetes à des ressources externes non Kubernetes et permet aux équipes de plateforme de créer une API Kubernetes personnalisée pour consommer ces ressources. Cela vous permet de faire quelque chose comme kubectl apply -f db.yaml pour créer une base de données dans n’importe quel fournisseur de cloud. Et cela permet à votre équipe DevOps ou informatique de vous donner accès à l’infra cloud sans avoir à créer de comptes, à distribuer des mots de passe ou à limiter manuellement ce que vous pouvez ou ne pouvez pas faire. C’est le paradis du libre-service.

    Le Okteto CLI est un outil open source qui vous permet de créer, développer et déboguer des applications cloud natives directement dans n’importe quel cluster Kubernetes. Au lieu d’écrire du code, de créer, puis de déployer dans Kubernetes pour voir vos modifications, vous exécutez simplement okteto up, et vos modifications de code sont synchronisées en temps réel. Dans le même temps, votre application est rechargée à chaud dans le conteneur. Il s’agit d’une boucle interne rapide pour les applications cloud natives.

    Chacun de ces outils est très utile, et je vous recommande de les essayer tous les deux. Les projets Crossplane et Okteto vous permettent de créer une excellente expérience de développeur pour vous et votre équipe, rendant la création d’applications cloud natives plus facile, plus rapide et plus agréable.

    Voici l’exemple que j’ai mentionné dans la section précédente, mais au lieu d’une configuration traditionnelle, imaginez que vous utilisez Crossplane et Okteto :

    1. Vous tapez okteto up
    2. Okteto déploie vos services dans Kubernetes tandis que Crossplane provisionne votre base de données (et vos données !)
    3. Okteto synchronise vos changements de code et permet le rechargement à chaud dans tous vos services

    À ce stade, vous disposez d’un environnement en direct dans Kubernetes, rien que pour vous. Vous avez économisé une tonne de temps en n’ayant pas à passer par l’informatique, en identifiant les dépendances locales et en vous souvenant des commandes nécessaires pour exécuter chaque service. Et parce que tout est défini comme du code, cela signifie que tous les membres de votre équipe peuvent obtenir leur environnement exactement de la même manière. Aucun diplôme en infrastructure cloud requis.

    Mais il y a encore une chose. Chaque fois que vous modifiez le code, Okteto actualise automatiquement vos services sans vous obliger à valider le code. Il n’y a pas d’attente pour la création d’artefacts, pas de redéploiement de votre application ou de longues files d’attente CI. Vous pouvez écrire du code, enregistrer le fichier et voir vos modifications s’exécuter en temps réel dans Kubernetes en moins d’une seconde.

    Qu’en est-il d’une expérience de développement cloud native rapide ?

    Entrez dans le cloud

    Si vous créez des applications destinées à s’exécuter dans Kubernetes, pourquoi ne développez-vous pas dans Kubernetes ?

    L’utilisation conjointe de Crossplane et d’Okteto offre à votre équipe un workflow de développement cloud natif rapide. En introduisant Crossplane et Okteto dans votre équipe :

    • Tous les membres de votre équipe peuvent créer un environnement entièrement configuré en exécutant une seule commande
    • Votre environnement de développement cloud couvre les charges de travail basées sur Kubernetes, ainsi que les services cloud
    • Votre équipe peut partager un seul cluster Kubernetes au lieu d’avoir à créer un cluster sur chaque ordinateur de développeur, pipeline CI, etc.
    • Votre environnement de développement ressemble beaucoup à votre environnement de production
    • Vous n’avez pas besoin de former tous les développeurs sur Kubernetes, les conteneurs, les fournisseurs de cloud, etc.

    Tapez simplement okteto upet vous développez en quelques secondes !

    Source

    Houssen Moshinaly

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code