Développeurs

IBM Cloud Code Engine : vers le serverless 2.0 !

Share this post:

IBM Cloud Code Engine est une plate-forme entièrement gérée et sans serveur (serverless, FaaS [1]) qui exécute vos charges de travail conteneurisées, y compris les applications Web, les micro-services, les fonctions événementielles ou les travaux par lots (batch). Code Engine crée même des images de conteneurs à partir de votre code. Étant donné que ces charges de travail sont toutes hébergées dans la même infrastructure Kubernetes, elles peuvent fonctionner ensemble, de manière transparente. L’expérience du ‘Code Engine’ est conçue pour que l’utilisateur puisse se concentrer sur l’écriture de code et non sur l’infrastructure nécessaire pour l’héberger.

 

En fonction de la charge, le moteur de ‘Code Engine’ met automatiquement à l’échelle les conteneurs, y compris la mise à l’échelle à zéro lorsqu’aucune demande n’est active. Une image de conteneur n’est pas une condition préalable à l’utilisation du service : Code Engine peut regrouper le code source d’un référentiel Git avec un environnement d’exécution pris en charge, ce qu’IBM appelle un « buildpack », et générer le conteneur.

 

Pour en savoir plus, consulter notre Gitbook « IBM Cloud Design Engineer » :

https://guides.cloud-design.dev/ibm-code-engine/ce-build-container-image

 

A qui est destiné Code Engine

Code Engine s’adopte à tous les profils développeurs, la preuve :

Les « Projets », « Applications », et « Builds » disponibles dans Code Engine ?

Code Engine s’articule autour de 4 notions essentiels à comprendre : projets, applications, jobs et builds. Explications :

Un Projet : Un projet est un regroupement d’entités Code Engine telles que des applications, des batch et des « builds ». Les projets sont utilisés pour gérer les ressources et donner accès à ses entités.

Une Application : Une application, ou « app », exécute votre code pour traiter les requêtes HTTP. Une application a une URL pour les demandes entrantes. Le nombre d’instances en cours d’exécution d’une application est automatiquement augmenté ou réduit (jusqu’à zéro) en fonction de la charge de travail entrante.

Un Build : Un build, ou « Image Build », est un mécanisme que vous pouvez utiliser pour créer une image de conteneur à partir de votre code source. Code Engine prend en charge la création à partir d’un Dockerfile ou d’un « buildpack ».

Un Job : Un « Job » exécute une ou plusieurs instances de votre code exécutable. Contrairement aux applications, qui incluent un serveur HTTP pour gérer les demandes entrantes, les « Job » sont conçus pour s’exécuter une seule fois et se terminer.

Les bénéfices de Code Engine : exemples de cas d’usage selon les tâches spécifiques

 

Mini-glossaire

 

Tutoriel : une application utilisant Watson et Visual Recognition

Dans ce tutoriel, vous découvrirez IBM Cloud Code Engine en déployant une application de classification d’images (reconnaissance visuelle). Vous allez créer un projet Code Engine, sélectionner le projet et déployer les composants Code Engine – applications et travaux dans le projet. Vous apprendrez à lier les services IBM Cloud à vos composants Code Engine. Vous comprendrez également la capacité de mise à l’échelle automatique de Code Engine où les instances sont augmentées ou réduites (à zéro) en fonction de la charge de travail entrante.

 

IBM Cloud Code Engine fournit une plate-forme pour unifier le déploiement de toutes vos applications basées sur des conteneurs. Que ces applications soient des fonctions, des applications traditionnelles à 12 facteurs, des charges de travail par lots (exécution jusqu’à la réalisation) ou toute autre charge de travail basée sur des conteneurs, si elles peuvent être regroupées dans une image de conteneur, alors Code Engine peut les héberger et les gérer pour vous – le tout sur une infrastructure basée sur Kubernetes. Et Code Engine fait cela sans que vous ayez besoin d’apprendre ou même de connaître Kubernetes. L’expérience Code Engine est conçue pour que vous puissiez vous concentrer sur l’écriture de code et non sur l’infrastructure nécessaire pour l’héberger. Il est livré en tant que service géré sur le cloud et construit sur des projets open source (Kubernetes, Istio, Knative, Tekton, etc.).

 

Code Engine aide les développeurs en masquant de nombreuses tâches complexes telles que la configuration, la gestion des dépendances, etc., Code Engine simplifie la gestion basée sur les conteneurs et vous permet de vous concentrer sur l’écriture de code. Il met également à disposition de nombreuses fonctionnalités d’une plate-forme sans serveur, telles que «scale-to-zero».

 

A travers cet exemple l’utilisateur peut comprendre le fonctionnement du Code Engine et déployer une application cloud native de manière simple et efficace, et comprendre à quel point il est facile de déployer et de mettre à l’échelle une application à l’aide de Code Engine.

 

Les étapes :

  1. Le développeur crée un projet Code Engine et déploie un frontend et une application Code Engine backend.
  2. Le développeur connecte l’application frontale (UI) au backend en modifiant l’application frontend pour définir une valeur de variable d’environnement pour pointer vers le point de terminaison de l’application backend.
  3. Le développeur provisionne les services cloud requis et les lie à l’application backend et aux travaux en créant des secrets et une configmap.
  4. L’utilisateur télécharge une ou plusieurs images via l’application frontale qui est stockée dans Object Storage via l’application backend.
  5. L’utilisateur exécute un « Job » de Code Engine via le backend pour classer l’image en poussant l’image vers la reconnaissance visuelle. Le résultat est ensuite enregistré dans Object Storage et affiché dans l’application frontale lorsque l’utilisateur clique sur le bouton d’actualisation.

 

L’exemple complet est disponible sur :

https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-image_classification_code_engine

 

 

Pour terminer, le Code Engine en version béta aujourd’hui est complètement gratuit !

 

Vous souhaitez en savoir plus ou aller plus loin, accédez au replay « Code in Cloud : les Développeurs et leurs super-pouvoirs ».
Une conférence par et pour les développeurs !  https://www.ibm.com/fr-fr/campaign/cic-for-developers

IBM Cloud permet de tester la plupart de ses services en mode freemium sans limite de temps  : Testez !  https://ibm.biz/BdqU57

 

[1] Function as a Service

 

Cloud Architect - Ecosystem Advocacy Group - EMEA

More Développeurs stories
14 juin 2024

Gestion de l’obsolescence logicielle : véritable enjeu pour la DSI et le business

Dans le paysage numérique actuel, les applications logicielles sont le pilier des entreprises modernes. Cependant, avec l’évolution rapide de la technologie, l’obsolescence logicielle est devenue un défi majeur pour les organisations. Les logiciels obsolètes peuvent entraîner des vulnérabilités de sécurité, des crashes système et une productivité réduite, affectant ainsi la performance commerciale et la compétitivité. […]

Continue reading

12 juin 2024

Simplifier les déclarations liées à la CSRD grâce aux nouvelles fonctionnalités d’IBM®Envizi™

IBM a le plaisir d’annoncer la prise en compte de la directive européenne (CSRD) dans le module « sustainability reporting manager » d’IBM® Envizi™. Cette considération aidera les entreprises à répondre aux exigences de reporting de la directive européenne (CSRD). La CSRD impose aux entreprises de fournir des informations et des indicateurs définis via les […]

Continue reading

12 juin 2024

Comment bien préparer la migration d’un parc applicatif dans le cloud avec IBM Consulting (2/2) ?

Dans notre article « Comment bien préparer la migration d’un parc applicatif dans le cloud avec IBM Consulting (1/2) ? », nous avons présenté les différentes étapes du pré-assessment technique qui consiste à analyser l’ensemble des applications du patrimoine applicatif. Dans cette seconde partie, nous allons détailler l’assessment technique à réaliser pour chacune des applications.   Phase […]

Continue reading