En savoir plus sur Code Engine

IBM Cloud® Code Engine (ou "Code Engine") a été développé par IBM dans le but de vous aider à créer des applications et des travaux modernes, conteneurisés, axés sur la source et sans serveur. La plateforme est conçue pour répondre aux besoins des développeurs qui veulent simplement que leur code s'exécute. Code Engine abstrait la charge opérationnelle que représentent la création, le déploiement et la gestion des charges de travail dans Kubernetes afin que les développeurs puissent se concentrer sur ce qui compte le plus pour eux : le code source.

Avantages de Code Engine

Passez en revue les avantages que procure Code Engine pour exécuter vos charges de travail.

avantagesCode Engine
Capacité Description
Exécute vos charges de travail Code Engine exécute vos applications HTTP et vos travaux par lots qui s'exécutent jusqu'au bout.
Service entièrement géré Code Engine prend en charge toute la gestion de cluster, y compris la mise à disposition, la configuration, la mise à l'échelle et la gestion des serveurs de sorte que vous n'avez pas besoin de vous préoccuper de l'infrastructure sous-jacente.
Génère votre code Code Engine extrait votre code source et crée l'image du conteneur pour vous. Code Engine prend en charge Dockerfile et Cloud Native Buildpack.
Charges de travail privées Stockez votre code source dans des référentiels privés et envoyez vos images à des registres privés pour que Code Engine puisse y accéder.
Intégration complète Code Engine est entièrement intégré dans IBM Cloud et vous pouvez bénéficier du catalogue complet de services IBM Cloud.
Charges de travail orientées événements Etendez la fonctionnalité de vos applications en incluant des messages (événements) émanant de producteurs d'événements. Votre application peut alors réagir à ces événements et effectuer des actions en fonction de ces derniers.
Mise à l’échelle automatique - même à zéro Code Engine effectue automatiquement la mise à l'échelle par augmentation ou réduction de vos charges de travail, et même jusqu'à zéro lorsqu'aucune demande n'est active. Vous payez uniquement les ressources que vous consommez.
Contrôle d'accès Affectez des droits d'accès de plateforme et de service à vos projets dans IBM Cloud Identity and Access Management afin de contrôler qui peut mettre à disposition et gérer des ressources dans votre compte IBM Cloud.
Basé sur open source Code Engine est construit sur un ensemble de technologies open source, telles que Kubernetes, Knative, Istio et Tekton, ce qui assure la portabilité de vos applications et de vos travaux.
Protection contre les attaques DDoS Code Engine offre une protection immédiate DDoS pour votre application. Code Engine la protection de DDoS est assurée par Cloud Internet Services (CIS) sans coût supplémentaire pour vous. DDoS couvre les attaques des protocoles des couches 3 et 4 (TCP/IP) de l'interconnexion des systèmes (OSI), mais pas les attaques de la couche 7 ( HTTP ). Voir DDoS protection.

Terminologie Code Engine

Apprenez les concepts de base de Code Engine en passant en revue les termes clés suivants :

Code Engine Termes
Terme Description
Application Une application exécute votre code pour servir les demandes HTTP. Outre les demandes HTTP traditionnelles, IBM Cloud® Code Engine prend en charge les applications qui utilisent WebSockets comme protocole de communication. Le nombre d'instances en cours d'exécution d'une application est automatiquement augmenté ou réduit (jusqu'à zéro) en fonction des demandes reçues et de vos paramètres de configuration. Une application contient une ou plusieurs révisions. Une révision représente une version non modifiable des propriétés de configuration de l'application. Chaque mise à jour d'une propriété de configuration d'application crée une nouvelle révision de l'application.
Générer Une génération, ou génération d'image, 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 génération à partir d'un Dockerfile et de Cloud Native Buildpacks.
Bundle de code Un bundle de code est une collection de fichiers qui représente votre code de fonction. Ce bundle de code est injecté dans le conteneur d'exécution. Votre bundle de code est créé par Code Engine et est stocké dans le registre de conteneur ou en ligne avec la fonction. Un bundle de code n'est pas une image de conteneur standard OCI (Open Container Initiative).
Référentiel de code Un référentiel de code, tel que GitHub ou GitLab, stocke du code source. Grâce à Code Engine, vous pouvez ajouter un accès à un référentiel de code privé, puis référencer ce référentiel à partir de votre génération.
ConfigMap Une mappe de configuration fournit une méthode permettant d'inclure des informations de données non sensibles à votre déploiement. En référençant les valeurs de votre configmap en tant que variables d'environnement, vous pouvez découpler des informations spécifiques de votre déploiement et maintenir la portabilité de votre application, de votre travail ou de votre fonction. Une mappe de configuration contient des informations dans des paires clé-valeur.
Registre d'images de conteneur Un registre de conteneur, ou registre, est un service qui stocke les images de conteneur. Par exemple, IBM Cloud Container Registry et Docker Hub sont des registres de conteneurs. Un registre de conteneurs peut être public ou privé. Un registre de conteneurs public ne requiert pas de données d'identification pour y accéder. En revanche, l'accès à un registre privé requiert des données d'identification.
Fonction Une fonction est un extrait de code sans état qui exécute des tâches au fur et à mesure qu'il est invoqué par les requêtes HTTP. Avec les fonctions IBM Code Engine, vous pouvez exécuter votre logique d'entreprise de manière évolutive et sans serveur. IBM Code Engine offrent un environnement d'exécution optimisé pour prendre en charge les scénarios de faible latence et d'extension rapide. Votre code de fonction peut être écrit dans un runtime géré qui inclut des versions spécifiques de Node.js ou Python.
Travail Un job exécute une ou plusieurs instances de votre code exécutable en parallèle. Contrairement aux applications qui gèrent les demandes HTTP, les travaux sont conçus pour s'exécuter une seule fois et prendre fin. Lorsque vous créez un travail, vous pouvez spécifier les informations de configuration de charge de travail qui sont utilisées à chaque fois que le travail est exécuté.
La flotte Une flotte, également appelée flotte sans serveur, exécute une ou plusieurs instances de code utilisateur pour réaliser un ensemble de tâches spécifiées. Les flottes peuvent traiter de grandes charges de travail à forte intensité de calcul, permettre de contrôler les profils des machines et fonctionner avec des ressources GPU. Les flottes sont à locataire unique, mettent en œuvre une file d'attente dynamique pour les tâches et offrent un contrôle total sur la configuration du profil de la machine. En outre, les flottes peuvent se connecter à des nuages privés virtuels (VPC) pour accéder en toute sécurité aux données et aux services des utilisateurs.
Projet

Un projet est un regroupement d'entités Code Engine telles que des applications, des travaux et des générations. Un projet est basé sur un espace de nom Kubernetes. Le nom de votre projet doit être unique au sein de votre groupe de ressources, compte utilisateur et région IBM Cloud®. Les projets permettent de gérer des ressources et fournissent un accès à leurs entités. Un projet fournit les éléments suivants.

  • Il fournit un espace de nom unique pour les noms d'entité.
  • Il permet la gestion de l'accès aux ressources de projet (accès entrant).
  • Il permet la gestion de l'accès aux services de sauvegarde, aux registres et aux référentiels (accès sortant).
  • Il possède un certificat généré automatiquement pour le service TLS (Transport Layer Service).
Secret Un secret fournit une méthode permettant d'inclure des informations de configuration sensibles, telles que des mots de passe ou des clés SSH, à votre déploiement. En référençant les valeurs de votre secret, vous pouvez découpler les informations sensibles de votre déploiement pour que votre application, votre fonction ou votre travail reste portable. Quiconque dispose de droits sur votre projet peut également afficher vos secrets : assurez-vous que les informations secrètes peuvent être partagées avec ces utilisateurs. Les secrets contiennent des informations dans des paires clé-valeur.
Liaison de service Les liaisons de service fournissent aux applications, aux travaux et aux fonctions un accès aux services IBM Cloud.
Abonnement Un abonnement permet de s'inscrire pour recevoir des événements d'un producteur d'événement particulier. Pour plus d'informations sur les différents types de producteur d'événement et comment s'y abonner, voir Abonnement à des producteurs d'événements.