Charges de travail d'application
IBM Cloud® Code Engine est conçu pour répondre aux besoins des développeurs qui veulent que leur code s'exécute. Code Engine fait abstraction du fardeau opérationnel de la construction, du déploiement et de 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. Les développeurs peuvent déployer et mettre à l'échelle leurs applications, qui sont écrites dans n'importe quelle infrastructure ou n'importe quel langage, en déléguant la complexité de la génération et de la gestion de leurs charges de travail à Code Engine. Apprenez à travailler avec des applications dans Code Engine
Que sont les charges de travail d'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.
Quelles sont les principales fonctionnalités de l'utilisation des applications Code Engine ?
Consultez les rubriques suivantes pour en savoir plus sur l'utilisation des applications dans Code Engine.
- Isolement
- Journalisation
- Exécution d'applications
- Mise à l'échelle
- Sécurité
- Déclenchement d'applications avec des événements
- Visibilité
Isolement
Code Engine est un service régional à service partagé dans lequel les titulaires partagent le même réseau et la même infrastructure de calcul. Le réseau et l'infrastructure de calcul sont des ressources partagées et certains composants de gestion sont utilisés conjointement par tous les titulaires. Toutefois, les locataires et leurs charges de travail sont isolés les uns des autres à l'aide de projets Code Engine. Code Engine empêche la communication entre les projets, ce qui permet d'isoler vos applications dans un environnement à service partagé. En outre, des contrôles d'accès sont effectués au niveau d'une ressource pour permettre uniquement aux utilisateurs autorisés d'effectuer certaines opérations sur des ressources de projet, telles que des applications ou d'autres charges de travail Code Engine.
Pour plus d'informations sur l'isolement des charges de travail, voir Isolement des charges de travailCode Engine.
Journalisation
Lorsque vous travaillez avec des applications Code Engine avec la console et que la journalisation est activée, les journaux sont transmis à une instance de service IBM Cloud Logs qui est associée à votre projet Code Engine. Dans l'instance de service IBM Cloud Logs, les journaux sont indexés, ce qui permet d'effectuer une recherche en texte intégral dans tous les messages générés et d'effectuer des requêtes basées sur des champs spécifiques. Voir Obtention des journaux pour les applications.
Les informations sur les événements système peuvent également être utiles pour résoudre les problèmes lors de l'exécution des travaux. Vous pouvez afficher des informations sur les événements système depuis l'interface de ligne de commande. Voir Obtention d'informations sur les événements système pour les applications.
Pour plus d'informations sur la journalisation, voir Affichage des journaux.
Exécution d'applications
Que votre code existe en tant que source dans un fichier local ou dans un dépôt Git, ou que votre code soit une image de conteneur qui existe dans un registre public ou privé, Code Engine vous offre un moyen rationalisé d'exécuter votre code en tant qu'application.
Vous pouvez déployer et exécuter des applications dans Code Engine de l'une des manières suivantes:
-
Exécuter à partir d'une image de conteneur existante. Créez une application et fournissez une référence à votre image à utiliser lorsque vous déployez votre application avec Code Engine.
-
Exécuter à partir d'un code source existant sans image de conteneur. Si vous commencez avec le code source qui se trouve dans un référentiel Git ou sur votre poste de travail local, vous pouvez pointer vers l'emplacement de votre source et Code Engine s'occupe de la génération de l'image pour vous. Code Engine prend en charge la génération à partir d'un fichier Dockerfile et de packs de construction Cloud Native, qui inspectent votre code source pour déterminer comment il doit être généré et conditionné en tant qu'image de conteneur.
Pour plus d'informations sur le déploiement et l'exécution d'applications, voir Utilisation d'applications dans Code Engine.
Mise à l'échelle
Les applications Code Engine sont mises à l'échelle en fonction des demandes entrantes. Les applications suivent le modèle scale-to-zero, dans lequel aucune instance n'est créée en l'absence de trafic, ce qui entraîne une optimisation des coûts. Lorsqu'il y a une demande entrante, une application est automatiquement mise à l'échelle à partir de zéro pour s'adapter à la charge de travail.
Avec Code Engine, vous pouvez contrôler la mise à l'échelle automatique en définissant le nombre minimal et maximal d'instances. Vous pouvez également spécifier l'accès concurrent de l'application en spécifiant le nombre de demandes à exécuter en parallèle pour une instance d'application spécifique afin de déterminer à quel moment une nouvelle instance est mise à disposition.
Pour plus d'informations sur la mise à l'échelle de votre application, voir Configuration de la mise à l'échelle d'application.
Sécurité
Code Engine fournit une protection DDOS immédiate pour votre application. Code Engine la protection DDOS d'Aberdeen est assurée par Cloud Internet Services (CIS) sans frais supplémentaires pour vous. La protection 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 protection DDoS.
Code Engine fournit également un maillage de service pour utiliser sa couche réseau, qui active le trafic TLS (Transport Layer Security) mutuel sur les applications, sécurisant ainsi les communications de service à service et d'utilisateur à service.
Pour plus d'informations sur la sécurité, voir Code Engine et la sécurité.
Déclenchement d'applications avec des événements
Vous pouvez configurer vos applications Code Engine pour recevoir des événements cron, des événements IBM Cloud Object Storage ou des rubriques Kafka. Lorsque vous vous abonnez à un fournisseur d'événements, vous devez spécifier le nom de votre application de destination pour recevoir les événements.
Pour plus d'informations sur l'utilisation des producteurs d'événements, voir Initiation aux abonnements.
Visibilité
Avec Code Engine, vous pouvez déterminer le bon niveau de visibilité pour votre application en définissant les points de terminaison, ou les correspondances de domaine de système qui sont disponibles pour recevoir des requêtes. Une application peut être exposée sur Internet, sur le réseau privé IBM Cloud ou limitée uniquement à d'autres ressources dans le même projet Code Engine.
Par défaut, chaque application en cours d'exécution obtient son propre noeud final sécurisé TLS, que vous pouvez mapper à votre propre domaine.
En outre, vous pouvez associer votre propre domaine personnalisé à une application Code Engine pour acheminer les demandes de votre URL personnalisée vers votre application. Si vous souhaitez cibler votre application avec un domaine que vous possédez, vous pouvez utiliser un mappage de domaine personnalisé. Lorsque vous définissez un mappage de domaine personnalisé dans Code Engine, vous définissez un mappage 1-to-1 entre votre nom de domaine pleinement qualifié (FQDN) et une application Code Engine dans votre projet.
Pour plus d'informations sur la visibilité, voir Options de visibilité pour une application Code Engine et Configuration de mappages de domaines personnalisés pour votre application.
Comment démarrer avec des applications?
Pour déployer une application Code Engine simple avec l'exemple d'image icr.io/codeengine/helloworld, voir Création de votre première application Code Engine.
Vous pouvez également essayer un tutoriel d'application. Voir Déploiement et mise à l'échelle d'applications.
Pour en savoir plus sur l'utilisation des applications, voir Utilisation des applications dans Code Engine.