Présentation d'OCI Functions

Découvrez les concepts clés que vous devez comprendre avant d'utiliser OCI Functions.

Développeurs de fonctions

Les utilisateurs d'Oracle Cloud Infrastructure qui utilisent OCI Functions pour créer et déployer des fonctions sont appelés "développeurs de fonctions". Pour utiliser OCI Functions, les développeurs de fonctions doivent disposer de comptes utilisateur Oracle Cloud Infrastructure. Leurs comptes utilisateur doivent appartenir à des groupes auxquels les stratégies appropriées accordent un accès aux ressources liées aux fonctions.

Reportez-vous à Création de groupes et d'utilisateurs à utiliser avec OCI Functions (s'ils n'existent pas déjà).

Applications

Dans OCI Functions, une application est :

  • un regroupement logique de fonctions,
  • une façon d'allouer et de configurer des ressources pour toutes les fonctions dans l'application,
  • un contexte commun pour le stockage des variables de configuration disponibles pour toutes les fonctions dans l'application,
  • un moyen d'assurer l'isolement de l'exécution des fonctions.

Lorsque vous définissez une application dans OCI Functions, vous indiquez les sous-réseaux dans lesquels les fonctions de l'application s'exécuteront. Vous indiquez également si la journalisation doit être activée pour les fonctions de l'application.

Lorsque des fonctions de différentes applications sont appelées simultanément, OCI Functions veille à ce que ces exécutions de fonction soient isolées les unes des autres.

Il est recommandé de regrouper plusieurs fonctions dans une seule application pour améliorer l'efficacité et les performances.

OCI Functions affiche des applications et leurs fonctions dans la console.

Reportez-vous à Création d'applications.

Fonctions

Dans les fonctions OCI, les fonctions sont les suivantes :

  • des blocs de code de petite taille mais puissants, qui effectuent généralement une action simple,
  • regroupées dans des applications,
  • stockées en tant qu'images Docker dans un registre Docker donné,
  • appelées en réponse à une commande d'interface de ligne de commande ou à une demande HTTP signée.

Lorsque vous déployez une fonction vers OCI Functions à l'aide de l'interface de ligne de commande du projet Fn, elle est créée en tant qu'image Docker et propagée vers le registre Docker indiqué.

Une définition de la fonction est stockée sous forme de métadonnées dans le serveur OCI Functions. La définition décrit le mode d'exécution de la fonction et comprend les éléments suivants :

  • image Docker à extraire lorsque la fonction est appelée,
  • durée maximale d'exécution de la fonction,
  • quantité maximale de mémoire que la fonction est autorisée à utiliser.

OCI Functions affiche dans la console les fonctions et les applications dans lesquelles elles sont regroupées.

Reportez-vous à Création, déploiement et appel d'une fonction HelloWorld.

Appels

Dans OCI Functions, le code d'une fonction est exécuté lorsque celle-ci est appelée. Vous pouvez appeler une fonction que vous avez déployée vers OCI Functions à partir :

  • de l'interface de ligne de commande du projet Fn,
  • des kits SDK d'Oracle Cloud Infrastructure,
  • des demandes HTTP signées vers l'adresse d'appel de la fonction. Chaque fonction possède une adresse d'appel.
  • Les autres services Oracle Cloud (par exemple, avec déclenchement par un événement dans le service Events) ou des services externes.

Lorsqu'une fonction est appelée pour la première fois, OCI Functions extrait l'image Docker de la fonction du registre Docker spécifié, l'exécute en tant que conteneur Docker et exécute la fonction. En cas de demandes ultérieures adressées à la même fonction, OCI Functions dirige ces demandes vers le même conteneur. Après une période d'inactivité, le conteneur Docker est enlevé.

OCI Functions affiche les informations des appels de fonction dans des graphiques de mesure.

Reportez-vous à Appel de fonctions.

Déclencheurs

Un déclencheur est le résultat d'une action ailleurs dans le système, qui envoie une demande d'appel d'une fonction dans OCI Functions. Par exemple, un événement du service Events peut entraîner l'envoi d'une demande d'appel de fonction à OCI Functions. Un déclencheur peut également envoyer des demandes régulières d'appel de fonction selon une programmation temporelle définie.

Une fonction peut être associée à plusieurs déclencheurs ou à aucun.