in Azure

Applications sans serveur et sans prise de tête avec Azure Functions

Récemment j’ai dû récupérer les données d’un site toutes les 2 secondes via son API.

La méthode la plus simple est de faire une application console ou un script et de la faire tourner sur ma machine, problème ma machine devra rester allumée et je ne suis pas à l’abri d’une coupure internet. J’aurai pu aussi passer par une VM mais cela coute cher pour si peu, la dernière solution simple reste de passer par un WebJob, mais encore cela me prend trop de temps de mise en place.

Il s’avère que la meilleure solution à ce problème est Azure Functions !

J’ai pu remarquer à ma grande surprise que cette fonctionnalité de Azure n’est pas très connue, elle a pourtant pleins d’avantage.

Azure Functions est un service Azure permettant de jouer des petits morceaux de code dans le cloud. Comme un WebJob ? Oui mais de manière beaucoup plus simple/rapide (selon moi) et avec quelques différences qui changent pas mal de choses. On peut voir Azure Function comme un Webjob++.

Pour les points communs : les deux sont basés sur App Services et prennent en charge NuGet et NPM pour les modules externes.

Concernant les différences les plus notables, Functions permet

  • Un modèle d’application sans serveur
  • De payer à l’exécution du code (plus besoin de payer un service plan même si celui-ci n’est pas utilisé), sachant qu’une très grosse consommation gratuite est fournie de base (le calcul de la consommation est un peu complexe : https://azure.microsoft.com/fr-fr/pricing/details/functions/).
  • De prendre en plus en charge Java et F#
  • De prendre en charge plus de déclencheurs : Minuteur, Cosmos, WebHook…
  • D’avoir une mise à l’échelle sans configuration

 

Bref comment ça marche ?

Dans le portail Azure, créez une Function App

Ici rien de spécial, la configuration est semblable à une Web App a la différence qu’il est possible de choisir un modèle de facturation a la consommation.

Cliquer sur +

Choisissez le modèle de déclenchement de votre fonction

Ainsi que le langage

Et voilà c’est fini, il ne reste désormais plus qu’à développer la fonctionnalité et de gérer le déclencheur via le menu manage.

Write a Comment

Comment