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
21 janvier 2021

Rapprocher les métiers et l’IT, un enjeu cyber pour protéger les services essentiels

Les Opérateurs de Services Essentiels doivent fournir une cartographie du système d’information (SI) soutenant leurs activités désignées comme telles. Une approche top-down, allant des métiers vers l’IT, permet d’y parvenir. Cette bonne pratique pourra s’appliquer à d’autres types d’organisation.   Selon l’ANSSI*, « la directive NIS (Network and Information System Security) vise à l’émergence d’une Europe […]

Continue reading

12 janvier 2021

La compréhension du langage et IBM

Nous avons publié une série de nouveautés sur nos services d’Intelligence Artificielle IBM Watson autour du traitement du langage naturel. Le communiqué de presse est disponible ici. Mais, je voulais revenir sur deux de ces annonces plus en détail. Watson Assistant Enhanced-Model Watson Discovery Reading Comprehension Un nouveau modèle amélioré de classification d’intention pour Watson […]

Continue reading

12 janvier 2021

Intelligence artificielle et Hybrid Multi-Cloud

L’hybrid Multi-cloud est devenu une réalité pour les entreprises et représente la futur génération des architectures IT. Ce rapport d’IDC montre bien que la phase 2 du « Move to Cloud » dans laquelle les entreprises sont entrées est Multi Public ou Multi Public-Private Cloud. The Road to Hybrid Multicloud L’intelligence artificielle de son coté a, ces […]

Continue reading