C’est quoi Microsoft Azure Functions et à quoi ça sert ?

Microsoft Azure Functions

Microsoft Azure Functions est un service qui est très bien connu des développeurs d’applications.  Ce service d’informatiques sans serveurs est hébergé sur le cloud public Microsoft Azure et permet de simplifier et accélérer considérablement le développement.

Vous avez envie de développer une application, mais la gestion des serveurs et de l’infrastructure sous-jacente vous effraie ? Alors vous faites sans aucun doute partie du public visé par Microsoft pour son service Microsoft Azure Functions. Comment ça marche ? A quoi ça sert ? Est-ce compliqué à utiliser ? On décrypte pour vous les arcanes d’un outil qui pourrait bien se révéler indispensable dans votre apprentissage.

C’est quoi Microsoft Azure ?

Microsoft Azure est l’offre Cloud de la firme de Richmond.

Pour comprendre de quoi nous allons parler dans les paragraphes suivants, il est nécessaire de définir le cadre. Alors Microsoft Azure c’est quoi concrètement ? Jusqu’en 2014, on parlait encore de Windows Azure. Depuis le nom a évolué pour représenter un service essentiel de la firme de Richmond. Pour l’expliquer simplement, il s’agit de la plateforme applicative de Microsoft dans le cloud. C’est donc un service qui est lié au « cloud computing », c’est-à-dire à l’externalisation de ressources informatiques vers des datacenters.

Dans le détail, Microsoft propose une offre double. D’un côté, il y a l’hébergement d’applications et de données. De l’autre, il y a les services : workflow, stockage, contacts, synchronisation… C’est au sein de ces différents outils que certains développeurs vont avoir recours à Azure Functions.

Ça marche comment Microsoft Azure Functions ?

Microsoft Azure Functions permet de ne plus se préoccuper de l’infrastructure.

Quand on parle donc d’informatique sans serveur, un autre terme revient avec insistance : FaaS, ou Function as a Service. L’idée proposée par les entreprises comme Microsoft est que leurs clients n’aient plus besoin de se préoccuper des thématiques liées à l’infrastructure. Un de leurs consommateurs peut simplement créer et télécharger des morceaux de code. Ensuite, il ne reste plus qu’à définir les événements qui serviront à déclencher ce code.

Cette étape peut se faire à travers plusieurs canaux. Ainsi, il peut s’agir de l’application d’un autre utilisateur ou de différents services qui sont aussi basés dans le Cloud (y compris chez Microsoft mais pas obligatoirement !). Dans ce cas, il s’agira par exemple de bases de données, de plateformes d’événements ou encore de notifications. L’éventail de possibilités est plutôt large.

Microsoft Azure Functions charge le code dans l’environnement

Plus besoin de gérer et à avoir à disposition les instances de calcul

A ce moment-là, dans une configuration classique en hébergement avec une infrastructure appartenant au client, le code est alors déclenché. Mais cela aura demandé beaucoup plus de travail. Or, dans le cas Microsoft Azure Functions et de ses concurrents, c’est le fournisseur cloud qui charge le code dans un environnement d’exécution adapté. C’est aussi lui qui exécute directement le code et alloue les ressources de traitement nécessaires. En clair, vous avez toujours besoin d’avoir recours à un serveur, mais pas à gérer et d’avoir à disposition les instances de calcul.

Quelles fonctions pour Microsoft Azure Functions ?

Microsoft Azure Functions peut servir dans de nombreux cas de figure.

Dans quels domaines verrez-vous le plus régulièrement une entreprise avoir recours à Microsoft Azure Functions ? Plusieurs secteurs viennent immédiatement à l’esprit.

  • Informatique technique : c’est là les usages où l’automatisation peut trouver ses bénéfices les plus évidents. Gestion de ticket help desk ou self-service en configuration technique correspondent idéalement à ce que peuvent fournir les Fonctions FaaS.
  • Réseaux sociaux : Et oui ! Facebook et Twitter ont aussi un pied dans ce domaine pour la dimension de partage des contenus depuis un CMS d’entreprise.
  • Sécurité informatique : Gérer, surveiller et détecter automatiquement des intrusions informatiques peut être facilité grâce au déclenchement des Azure Batchs.
  • Informatique de gestion : c’est moins courant mais c’est pourtant un domaine qui aurait tout intérêt à y avoir recours : ERP, Comptabilité, Sales Force…De nombreux batchs de nettoyages et d’intégrations peuvent être utilisés de façon automatisée.
  • E-Commerce : Amazon, PriceMinister, la FNAC… Autant d’entreprises qui peuvent avoir recours aux fonctions FaaS. En effet, ils en ont un besoin massif pour les micro services et l’intégration.
  • Big Data et Analytics : Cela se passe de commentaires. Au vu de nombre de données, l’automatisation et le recours à un outil comme Microsoft Azure Functions relève de l’évidence.

A votre échelle, même sans être Facebook ou Amazon, de nombreux usages sont possibles pour le développement de micro services, les tâches planifiées ou encore le traitement de requêtes web, unitaire ou en bloc. Des usages sont aussi possibles dans l’Internet des Objet (IoT).

Microsoft Azure Functions, un avantage financier non négligeable

Une facture basée sur la durée d’exécution qui permet de faire des économies.

Un avantage évident pour les entreprises utilisant Microsoft Azure Functions repose bien entendu du côté des économies. En effet, vous n’avez pas besoin de gérer en interne ce domaine et donc de devoir payer des coûts de développement et de gestion. Par ailleurs, Microsoft propose des modèles de paiement (voir ci-dessous), qui ne sont pas liés à une sorte d’abonnement mensuel pour l’ensemble des instances de calcul et des ressources dont vous pourriez avoir besoin. Le calcul de la facturation est directement basé sur la durée d’exécution sur un cycle donné et est donc proportionné à vos besoins et usages concrets.

Quel coût pour Microsoft Azure Functions ?

12 mois de test gratuit puis des tarifs à l’utilisation.

Concrètement, on trouve plusieurs types d’offres pour Microsoft Azure Functions. La première est liée à la consommation, l’autre est Azure App Service. Pour la consommation, comme nous le précisions plus haut, les prix sont donc liés au temps d’exécution réel de chaque fonction.

En revanche, si vous utilisez déjà Azure App Service pour vos applications Web et mobiles basées sur API, alors il n’y a pas de surcoût à prévoir. C’est une offre complémentaire et gratuite que fait l’entreprise à ses clients afin de les inciter à utiliser une part plus importante de leurs services. L’idée est bien sûr de permettre la réalisation d’économies d’échelles.

Par ailleurs, vous pouvez aussi déterminer, si vos besoins le justifient, d’avoir accès à un service premium. Pour cette version d’Azure Functions, vous déterminez le nombre d’instances qui sont toujours et immédiatement prêtes. En supplément, Microsoft permet une montée en puissance qui vous sera alors facturée si nécessaire.

De base Microsoft Azure propose une offre de test avec la gratuité pendant 12 mois ce qui permet de bénéficier de nombreux services. De façon permanente, l’entreprise offre ensuite 1 million de requêtes gratuites par mois pour Azure Functions. Au-delà de l’offre gratuite, le prix est de 0,169 € par millions d’exécutions et de 0,000014 €/secondes par Go.

Quels concurrents pour Microsoft Azure Functions ?

La qualité d’un service se juge toujours plus facilement à l’aune de ses concurrents. Dans ce domaine, on trouve deux alternatives majeures pour l’informatique sans serveur.

La concurrence de Amazon Web Services Lambda

Amazon Web Services Lambda offre un service similaire et une tarification légèrement différente.

D’un côté, il y a Amazon Web Services Lambda. L’offre est similaire. Il s’agit d’une plateforme informatique sans serveur qui est fournie par l’entreprise de Jeff Bezos dans le cadre d’Amazon Web Services. La logique est la même, un code est exécuté en réponse aux événements et l’entreprise gère aussi de façon automatisée les ressources requises. Amazon propose aussi une tarification en fonction de l’utilisation, selon le nombre de requêtes pour vos fonctions et la durée d’exécution nécessaire. De base, l’entreprise offre 1 million de requêtes offertes, ainsi que 400 000 Go-secondes de temps de calcul par mois.

L’offre Google Cloud Functions

Google Cloud Functions propose un système de tarification différent de Microsoft Azure Functions.

Par ailleurs, on trouve Google Cloud Functions. Là encore, l’idée de l’entreprise de Mountain View est de proposer un service d’exécution du code sans avoir besoin d’une gestion de serveur. La filiale du géant américain propose aussi une tarification liée à la durée d’exécution d’une fonction, mesurée aux 100 millisecondes près. La capacité de charge s’adapte aussi aux événements. Si Google propose un essai gratuit avec 300 dollars de crédit offert à dépenser en 90 jours, les 2 premiers millions de requêtes par mois sont gratuites. Ensuite, c’est 0,40 dollars par mois. Par ailleurs, vous bénéficiez aussi de 400 000 Go-seconde et de 200 000 GHz-seconde de temps de calcul, ainsi que de 5 Go de trafic de sortie Internet gratuitement, chaque mois.