Développeurs

Modernisez et conteneurisez vos applications avec IBM Cloud Pak for Applications

Share this post:

En tant que développeur, votre objectif est l’excellence de votre code et la résolution de problèmes métier. L’efficacité est un élément clé pour le développeur, mais être efficace au sein d’une équipe ne dépend pas seulement de ce que vous avez en tête. Vous avez également besoin d’outils et de technologies appropriés pour travailler rapidement et créer les meilleures applications.

L’intégration de nouveaux outils et environnements dans une plate-forme quelconque peut vous distraire de votre tâche principale, qui consiste à résoudre les problèmes de l’entreprise. Kubernetes est devenu une plate-forme populaire pour les développeurs, mais ce n’est pas une plate-forme de développement complète en soi.

 

Comment obtenir la plate-forme de développement basée sur les conteneurs dont vous avez besoin, c’est-à-dire qui intègre les besoins de vos architectes, de vos utilisateurs et de vos développeurs, le tout au même endroit ? Vous pouvez bien sûr la construire vous-même, mais c‘est chronophage, et cela demande des ressources et des connaissances que votre équipe ne possède peut-être pas actuellement.

 

Notre nouvelle offre IBM à base d’Open Source adresse très exactement ce besoin. IBM Cloud Pak for Applications (ICPA) associe la plate-forme Red Hat OpenShift basée sur Kubernetes et Kabanero, un projet open source qui permet aux entreprises de développer et déployer plus rapidement plus facilement des applications pour Kubernetes et Knative.

 

Dans cet article, nous examinons de plus près le logiciel Open Source sous-jacent sur lequel ICPA est construit et les problèmes de développement actuels qu’il résout.

 

Regardons de plus près le problème

Les équipes adoptent souvent Kubernetes dans le but de rationaliser le développement et les déploiements et d’obtenir tous les avantages de la conteneurisation. Mais ils ne rendent pas compte de la complexité d’un environnement conteneur. Kubernetes gère très bien le placement des conteneurs sur une infrastructure de serveur, l’acheminement de tâches vers ces conteneurs et leur redémarrage après panne. Mais il n’aide pas à lui seul les développeurs et les architectes à créer des applications natives Cloud.

 

La construction d’une plate-forme complète est une lourde tâche pour une équipe de développement. Il faut tenir compte de tout – depuis la sélection et l’intégration des projets Open Source pertinents au choix des IDE et à la création d’outils, pipelines, gestionnaires de code source, analyse de sécurité et tests. Lorsque vous ajoutez les mises à jour et les correctifs de sécurité, cela devient un travail de développement à temps plein. Notre objectif est de résoudre ces problèmes et de réduire la complexité afin d’accroître la productivité de tous les développeurs d’une équipe. Comment avons-nous fait ?

 

Commençons par acter qu’une certaine dose de cohérence est nécessaire. Des outils cohérents aident les équipes à construire efficacement et à partager leurs connaissances. Des outils cohérents conduisent à un processus de livraison cohérent que tout le monde peut comprendre, et un processus cohérent réduit le risque d’erreur humaine. Pour réussir il faut donc automatiser.

 

L’amélioration de la collaboration entre différentes parties d’une organisation et au sein d’une équipe est essentielle pour accroître la productivité. Les architectes et les développeurs ont besoin de processus cohérents qui prennent en compte leurs décisions technologiques, et qui permettent de les partager avec le reste de l’équipe.

 

Pour de nombreuses équipes, l’utilisation de conteneurs et de Kubernetes est un pas dans cette direction. Cependant, la liberté et la flexibilité qu’offrent les conteneurs peut facilement aboutir à leur prolifération. Trop de choix conduit à la complexité, à l’incohérence et à l’inefficacité.

 

Passez du prototype à la production dans le même mouvement

Kabanero simplifie la création d’applications basées sur des conteneurs en vue de leur déploiement sur un cloud hybride. Kabanero utilise OKD (le projet en amont de Red Hat OpenShift) pour vous fournir une base solide et éprouvée sur Kubernetes. A partir de cette base, il ajoute l’infrastructure essentielle pour fournir un pipeline « intégration continue / distribution continue » (IC / DC) et des services essentiels, tels que la journalisation, la supervision, le maillage de services et les capacités serverless de Knative. Jusqu’ici tout va bien, mais qu’est-ce qui différencie Kabanero ?

Avant d’examiner les outils de développement spécifiques plus en détail, nous devons tout d’abord examiner la manière dont Kabanero fournit une approche commune pour définir, gérer et créer des applications à partir d’un ensemble cohérent d’artefacts basés sur des conteneurs que les extensions IDE construisent.

 

Kabanero introduit le concept de « collection ». Une collection rassemble des choix de langage, d’exécution et d’environnement, ainsi que des dépendances d’infrastructure lui permettant de se brancher sur le socle Kabanero. Les collections fournissent une approche cohérente pour capturer les décisions de collaboration prises par les développeurs et les architectes. Un ensemble de collections prédéfinies simplifie l’intégration avec l’infrastructure de base.

 

Un composant essentiel d’une collection est une pile Appsody .

 

Appsody et ses outils de ligne de commande (CLI) associés fournissent les éléments de base pour la création d’applications basées sur des conteneurs. Une pile Appsody combine des environnements d’exécution et des infrastructures dans un conteneur, ainsi que du code et des services communs. Par exemple, une pile Java MicroProfile comprend des accès à des services d’intégrité et de métriques prédéfinis, de sorte que toutes les applications construites avec la pile disposent de fonctionnalités communes prêtes à l’emploi.

 

Les développeurs peuvent rapidement adopter une pile et commencer à créer de nouvelles applications natives dans le cloud. Appsody reconstruit continuellement l’image du conteneur pour votre application à l’aide de la pile prédéfinie. En conséquence, votre application est toujours construite sur la dernière pile et est automatiquement prête à être testée dans un conteneur, comme si elle fonctionnait en production.

 

 

Créez des applications plus rapidement avec l’automatisation de pipeline et l’intégration d’IDE

L’infrastructure Kabanero étant intégrée à GitHub, les validations de code déclenchent un pipeline IC / DC automatisé. À l’aide des points d’intégration prédéfinis d’une collection Kabanero, l’infrastructure de pipeline construit le code d’application par rapport à la version la plus récente de la pile Appsody.

Étant donné que l’application utilise une pile commune, les développeurs peuvent être assurés que l’application fonctionnera en production comme elle l’avait fait en développement. Cela augmente la cohérence et réduit les risques de problèmes lorsque le code arrive en production. Cela est important lorsque vous êtes d’astreinte et que vous ne voulez pas être réveillé au milieu de la nuit !

 

Kabanero n’est pas seulement l’infrastructure au-dessus de Kubernetes. Il inclut en premier lieu les outils de développement qui s’intègrent aux IDE courants tels que Eclipse et VSCode. Le projet Eclipse Codewind aide les développeurs à créer des microservices dans le cloud et des applications fonctionnelles dans des conteneurs, dès le début du projet. Il fournit des extensions capables de dialoguer avec les piles Appsody, ce qui permet de commencer à travailler à l’aide des piles prédéfinies et de tirer parti de la génération automatique de conteneur de Codewind, directement à partir de l’IDE. Un tableau de bord des performances dans Eclipse Codewind aide à comprendre immédiatement le profil de performance de votre nouvelle application ou service au tout début du cycle de développement.

 

Commencez avec l’open source, ajoutez du support au besoin

Kabanero, Appsody et Codewind, ainsi que les autres composants d’infrastructure qui constituent la base de Kabanero, sont tous des logiciels open source. Ensemble, ces technologies permettent aux équipes de se concentrer plus facilement sur leurs problèmes métier, plutôt que sur les décisions d’infrastructure.

 

Au moment où votre équipe a besoin de cohérence dans ces outils, celle-ci est disponible dans IBM Cloud Pak for Applications (ICPA). IBM Cloud Pak for Applications intègre, sécurise et certifie ces projets open source, vous offrant une solution unique pour vous aider à réusiner vos applications en mode cloud natif. Avec ICPA, vous pouvez migrer des applications existantes vers une infrastructure plus efficace Kubernetes avec des modifications minimes. Vos développeurs peuvent alors à nouveau se consacrer entièrement à l’écriture de code de qualité qui réponde précisément aux besoins réels métier.

 

Pour en savoir plus

Traduit par Georges-Henri Moll

Version originale : App Modernization Cloud Pak for Applications

Digital Developer Advocate - Data Scientist - Master Inventor - IDT Lead

More Développeurs stories
26 février 2024

L’importance d’une culture DevOps au sein d’une entreprise

DevOps ne concerne pas uniquement les phases d’intégration et de déploiement d’application et l’automatisation de celles-ci mais tout le cycle de vie d’une application.   DevOps ? Kezako ? Pourquoi ? Historiquement, les équipes de développement et opérations étaient organisées en silo, chacune travaillant uniquement sur leur scope avec une communication limitée. Avec l’arrivée de […]

Continue reading