//MS Build 2018 – Annonces et nouveautés Serverless dans Azure
Depuis deux ans, Microsoft travaille et met à disposition des services Serverless dans Azure notamment Azure Logic Apps, Azure Function et Azure Event Grid. Ce blog post fait un tour d’horizon des annonces qui ont été faites sur ces services lors de la Build 2018 !
Azure Function
Runtime and langages supportés
Il existe aujourd’hui deux versions de la runtime Azure Function :
- V1: Basée sur le Framework .net, elle fonctionne uniquement sur Windows
- V2: Basée sur .net core, elle est “cross-platform” (actuellement en preview)
Le langage Python est maintenant utilisable avec la runtime V2. Il permet d’adresser les scénarios de machine learning plus simplement qu’avec les langages tel que C# ou JavaScript. Les fonctions hébergeant du code Python peuvent d’ailleurs s’exécuter au sein d’un conteneur Docker et être facilement portables sur des devices IOT (intéressant pour les scénarios IOT Edge !)
Durable Azure Function
Durable Azure Function est une extension de la runtime Azure Function qui permet de créer des fonctions statefull. Cette extension est maintenant en « General Availibity » et peut être utilisée avec la runtime V1. Le support de JavaScript est en preview pour les fonctions « durables ».
Monitoring
Intégration avec Application Insight
Lors de la création d’un Azure Function App, une instance d’Application Insight est automatiquement créée et les télémétries de chaque fonction y sont envoyées. Pour les fonctions existantes il est maintenant possible d’associer une instance d’application insight.
Le menu « monitor » des fonctions récupère maintenant les données stockées dans AI :
Une fonctionnalité comme le “Live streaming” est donc utilisable pour monitorer la mise à l’échelle en temps réel des fonctions Azure. De plus, le portail AI est utilisable pour requêter en SQL-like les données stockées dans AI :
Disponibilité d’Azure App Service Diagnostics
Il y a quelques semaines, Microsoft dévoilait « Gennie », un bot permettant d’analyser les performances des instances Azure App Service. Cette fonctionnalité est maintenant disponible pour analyser les fonctions Azure.
Le bot est utilisable depuis le menu « platform features » de l’Azure Function App :
Azure Event Grid
Disponibilités dans deux nouvelles régions
Event Grid est maintenant utilisable dans les régions suivantes :
- Australie (Est and Sud Est)
- Japon (Est and Ouest)
Support des schémas customisés (input mapping)
Certaines applications peuvent publier des évènements dont le schéma ne correspond pas à un des schéma json attendu par Event. Il est maintenant possible de faire correspondre un schéma customisé avec un schéma Event Grid. Le mapping s’effectue de champs à champs en utilisant l’extension « eventgrid » pour Az cli 2.0. Cette fonctionnalité est actuellement en Preview.
URL de validation manuelle
Pour des raisons de sécurité, chaque abonnement Event Grid doit être validé en effectuant une requête POST contenant vers un endpoint Azure. Cette requête doit contenir un code de validation, cependant pour certains services, il peut s’avérer compliquer d’effectuer cette requête POST, un endpoint de validation manuel est maintenant disponible. Cette URL de validation fait partie des métadonnées de l’évènement au même titre que le code de validation. Comme les « input binding », cette fonctionnalité est en Preview et l’extension « enventgrid » pour Az CLI 2.0 doit être utilisée.
Nouveaux producteurs et consommateurs d’évènements
Azure Media Service peut maintenant lever un évènement « JobState » lorsque le statut d’un job est mis à jour, de plus de nouveaux consommateurs d’évènement sont disponibles :
- Azure Storage Queue
- Azure Relay Hybrid Connection : Permet d’ouvrir un Web socket pour recevoir l’évènement. Peut être particulièrement utile pour les applications protégées par un par feu et ne pouvant pas exposer un endpoint public.
Java SDKs
Une librairie de management et une librairie cliente en JAVA sont disponibles (en beta!).
Support du standard CloudEvents
Pour améliorer l’interopérabilité entre les fournisseurs de Cloud, Event Grid supporte maintenant CloudEvents. CloudEvents est une spécification qui définit des standards pour décrire les données des évènements. Event Grid peut donc consommer et publier des messages respectant ces standards. CloudEvents est une initiative de la CNCF (Cloud Native Computing Foundation).
Integration des services Serverless
Microsoft veut rendre l’usage de ses services Serverless le plus simple possible, dans cette optique ils améliorent leur utilisabilité avec les autres services Azure. L’idée est de pouvoir lier des services Azure existants avec les services serverless avec le moins de configuration possible. La première intégration a été faite dans le service Azure Storage, il est maintenant possible de créer un abonnement Event Grid ou de relier un compte de stockage avec une Azure Function ou Logic App en quelques clics.
Happy coding :)
Commentaires