Développer avec Oracle Functions

Bienvenue pour ce nouveau article , autour de Oracle Functions !

Lors du  précédent  article, on a appris que Oracle Cloud intègre Oracle Kubernetes Engine, un moteur Kubernetes entièrement géré et hébergé certifié par CNCF.
Aussi, Oracle Linux arrive avec une distribution certifiée Kubernetes disponible dans le cadre d’Oracle Container Services à utiliser avec Kubernetes.

Et voilà, nous continuons sur Oracle Functions, l’un des  services natif OCI – Oracle Cloud Infrastructure – basé sur la plateforme Open Source Fn – Functions as a Service (Faas).

 

Qu’est-ce qu’un Serverless ?

Serverless est actuellement une catégorie des services Cloud, qui  élève le niveau d’abstraction afin que vous n’ayez pas à penser aux serveurs, aux VM ou à d’autres composants d’infrastructure sous-jacents. D’une certaine manière, il s’agit d’un modèle d’exécution dans le Cloud computing, dans lequel le fournisseur Cloud, dans ce cas, exécute l’infrastructure sous-jacente et gère dynamiquement toutes les allocations de toutes les ressources qui doivent être effectuées.

Une catégorie de Serverless, Functions-as-a-Service, est ce que nous allons discuter ici, car le service Oracle Functions appartient à cette catégorie.
Les functions sont devenues très populaires et les raisons incluent qu’il y a juste moins à gérer.

Donc, dans un environnement traditionnel, sur le côté gauche de l’image  ci-dessus, vous voyez Bare Metal ou VMs.
Ce que vous devez faire est de gérer la machine virtuelle, qui fonctionne tout le temps. Vous devez vous soucier de la correction du système d’exploitation. Vous devez installer le bon runtime, disons Java.

Vous devez installer tous les composants de l’application, comme le serveur Tomcat. Et puis il y a le code que vous devez gérer.
Et vous payez pour que toute la configuration soit en cours d’exécution tout le temps, que le code réel soit exécuté ou non, que vous ayez une demande entrante ou non, vous devez être opérationnel, en attendant que ces demandes arrivent .

Mais avec Functions, il vous suffit de déployer votre code et le code est exécuté en réponse à certains déclencheurs dont nous allons parler sous peu.
Et une fois que le code est réellement exécuté, c’est la seule fois où vous le payez et pas en dehors de cela. Cela peut donc vous faire économiser de l’argent.

 

Oracle est membre Platinum de CNCF et membre de Open Container Initiative.
Oracle a contribué au projet Open-Source Fn, basé sur des containers Serverless.

Le projet Fn est sous licence Apache 2.0. C’est un conteneur natif, c’est une plateforme sans serveur, et il peut être exécuté n’importe où : il peut être exécuté sur le Cloud, sur site, sur votre ordinateur portable. Tant que vous pouvez exécuter le conteneur Docker, vous pouvez exécuter Fn.

Fn fournit les fonctionnalités le Core de la plateforme de functions tandis qu’Oracle Functions ajoute une élasticité à l’échelle du Cloud pour une expérience véritablement sans serveur dit Serveless experience.

 

Oracle Functions est une plateforme Functions-as-a-Service à la demande, entièrement gérée et hautement évolutive pour Oracle Cloud Infrastructure, ou OCI.
Vous utilisez des fonctions lorsque vous souhaitez vous concentrer uniquement sur l’écriture de code pour répondre aux besoins de votre entreprise.

Vous n’avez pas à vous soucier de l’infrastructure sous-jacente comme nous en avons discuté, car le service Functions garantira que votre application est hautement fiable, évolutive, sécurisée, qu’elle est surveillée et que vous en tirez les métriques. Cela fonctionne très bien avec les écosystèmes OCI – Oracle Cloud Infrastructure.

 

 

Voici quelques concepts d’Oracle Functions à  connaître :

  • Une application est essentiellement un regroupement logique de fonctions.
  • Vous pouvez créer une application dans la console OCI dans la section Fonction Oracle via interface de ligne de commande Fn Project.
  • Une application n’a pas besoin de contenir de fonction. Mais ce n’est qu’un regroupement logique de fonctions.
  • C’est pourquoi c’est important parce qu’il fournit un contexte commun pour stocker les variables de configuration que doivent utiliser toutes les fonctions d’une application.
  • Une fois l’application créée, vous pouvez ensuite créer des fonctions. Les fonctions ne sont rien d’autre que des blocs de code que vous écrivez.
  • Vous pouvez utiliser n’importe quel langage qui prend en charge de première classe cinq de ces langages – Java, Python, Go …
  • Ces blocs de code que vous écrivez font généralement très bien une chose simple.
  • Chaque fonction obtient automatiquement un HTTP endpoint.
  • Lorsque la fonction est appelée pour la toute première fois, le service de la fonction va extraire l’image Docker du registre que vous avez spécifié et l’exécuter en tant que conteneur Docker. Et puis le système gère l’orchestration si le conteneur n’est pas utilisé, s’il faut le retirer.
  • Si le conteneur est toujours là et qu’il y a une autre demande pour la même fonction, le service Oracle Functions va diriger ces demandes vers le même conteneur. Lorsqu’il y a une période idéale, le conteneur lui-même est retiré.

Mais vous n’avez à vous soucier de rien de tout cela. Tout est géré par le service lui-même, tout ce qui vous importe est d’écrire le code et de le déployer en tant que fonction et d’indiquer au service quand il l’appelle.

Oracle Functions  sur OCI Compute Instance

 

Retrouvez la série de vidéos YouTube dans lesquelles je vous partage les étapes clés pour exécuter Oracle Functions sur OCI Compute Instance, à savoir  :

  • Configuration du Tenancy ;
  • Configuration de  OCI Compute Instance ;
  • Configuration de l’environnement de DEV. sur la Compute Instance ;
  • Configuration de Fn Projet CLI  sur Compute Instance
  • Création, Déploiement  et Déclenchement de votre fonctions .

Le tout disponible sur la chaîne YouTube  >>  https://www.youtube.com/channel/UCJdTXhohXUHRkGW7aW1RjIA

 

A bientôt, pour un prochain article Oracle Cloud solutions  🙂

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *