Azure Functions s'améliore pour les développeurs Python et JavaScript

Publié le 4 décembre, 2018

Principal PM Manager, Azure Functions

Les technologies serverless permettent aux développeurs de se concentrer sur la logique métier de différenciation de leurs applications, par opposition à la gestion d'infrastructure. Suite à l'annonce de disponibilité générale d'Azure Functions 2.0, nous avons optimisé le nouvel hôte du runtime Azure Functions multiplateforme pour poursuivre nos efforts visant à rencontrer plus de développeurs, là où ils se trouvent, avec prise en charge de nouvelles langues et options d'hébergement pour Azure Functions.

Aujourd'hui, nous sommes ravis d'annoncer la prise en charge de Python dans la préversion publique d'Azure Functions. Vous pouvez publier des applications de fonction dans notre nouveau plan de consommation Linux pour une option d'hébergement avec paiement à l'exécution et serverless. L'option d'hébergement de consommation Linux est également disponible pour les applications de fonction JavaScript. Pour permettre aux développeurs JavaScript d’orchestrer par programmation des workflows serverless, nous annonçons également la disponibilité générale de l’extension JavaScript Durable Functions destinée au runtime Azure Functions et prête à être utilisée sur les charges de travail de production. Si vous utilisez une API serverless, optimisez la prise en charge de la plateforme en termes de conception d'API et de modèles de gestion avec le nouveau niveau Consommation de Gestion des API. En présence de fonctionnalités Azure Functions toujours plus nombreuses, réutiliser le code au sein de la communauté peut s'avérer intéressant à des fins de productivité. Nous avons donc créé Serverless Community Library afin d'héberger des composants open source préintégrés. Poursuivez votre lecture pour en savoir plus sur ces nouvelles fonctionnalités.

Héberger des fonctions sur le nouveau plan de consommation Linux (préversion publique)

Azure Functions prend désormais en charge l’hébergement serverless Linux sur un plan de consommation, alors qu'avant, le déploiement sur Linux n’était pris en charge que lorsqu’il s’exécutait sur un plan App Service. Cette dernière version permet de déployer des fonctions ciblant le système d'exploitation Linux avec une échelle dynamique basée sur une connaissance approfondie de l'activité des événements, et présentant l'avantage du modèle serverless avec paiement par exécution. Les clients qui développent sur des plates-formes Mac et Linux peuvent facilement migrer vers un hébergement Linux dans le cloud afin d'éviter une traduction spécifique à la plateforme. Grâce à l'hébergement sur Linux, les bibliothèques uniquement disponibles sur Linux peuvent désormais être exploitées à partir de votre code de fonction.

Cette nouvelle option d'hébergement ouvre également la voie à de futurs concepts d'infrastructure, en plaçant les applications de fonction sur la plateforme présentant la plus grande affinité en termes de langage de développement. À titre d'exemple, nous hébergeons Python sur le plan de consommation Linux par défaut. Consultez notre documentation pour en savoir plus sur l'hébergement de consommation Linux.

Commencer à développer des fonctions Python (préversion publique)

Azure Functions fonctionne désormais dans Python ! À compter d’aujourd’hui, vous pouvez créer vos fonctions à l’aide de Python 3.6 (CPython) sur la base du runtime Fonctions 2.0 et d’une plateforme d’hébergement basée sur Linux. Cela permet de nombreux scénarios, parmi lesquels le traitement des données, les charges de travail Machine Learning et les scripts d'automatisation, scénarios précédemment difficiles à mettre en œuvre dans le cadre de solutions serverless ou FaaS.

Le nouveau runtime Python partage le modèle de programmation unique Functions, ce qui vous permet d'importer facilement vos scripts Python et de gérer toutes vos dépendances à l'aide du format d'exigences standard. Comme toujours, les nombreux déclencheurs et liaisons vous permettront de vous connecter en toute transparence à des sources de données et services de messagerie comme Stockage Azure, Cosmos DB, Service Bus, Event Hubs et Event Grid à l'aide de simples attributs de méthode.

Exemple de code Python

En tant que développeur Python, vous pouvez créer, déboguer et tester vos fonctions localement avec une machine Mac, Linux ou Windows. Les Azure Functions Core Tools (CLI) vous permettront de rapidement utiliser les modèles de déclencheurs et de publier directement dans Azure, tout en gérant automatiquement la création et la configuration à votre place.

Plus intéressant encore, vous pouvez utiliser l'extension Azure Functions pour Visual Studio Code pour une expérience d'interface graphique étroitement intégrée vous permettant de créer, déboguer, gérer et déployer vos fonctions à partir de l'éditeur de code. Combiné à l’extension de création Python pour VS Code, ce service offre une expérience de développement serverless optimale, quelle que soit la plateforme utilisée.

Extension de création Python pour VScode

Pour bien démarrer, suivez ce didacticiel afin de créer et de publier votre première fonction serverless Python. Nous organisons également un webinaire sur l'expérience de développement d'Azure Functions à l'aide de Python et les scénarios désormais possibles. Pensez à vous y inscrire dès aujourd'hui.

Cette fonctionnalité est actuellement en préversion et nous vous invitons à suivre la conversation GitHub pour nous faire de vos commentaires et obtenir davantage d'informations sur les améliorations et fonctionnalités à venir.

Orchestrer des workflows serverless JavaScript Durable Functions (disponibilité générale)

Orchestrez vos workflows serverless par programme à l’aide de l’extension Durable Functions du runtime Azure Functions, avec la nouvelle prise en charge pour JavaScript en disponibilité générale, à utiliser dès à présent pour les charges de travail de production. Avec Durable Functions, les développeurs peuvent simplifier les problèmes complexes de coordination avec état dans les applications serverless, en définissant les workflows dans le code plutôt que d’utiliser des schémas JSON ou un concepteur visuel. Avec cette version, nous activons de nouveaux scénarios pour les développeurs Node.js et JavaScript représentant certains modèles de développement, tels que l’enchaînement de fonctions, le fan-out/fan-in (exemple ci-dessous) ou l’interaction humaine. Suivez ce guide de démarrage rapide et créez vos charges de travail avec état à l'aide de JavaScript avec Durable Functions.

Charges de travail avec état à l'aide de JavaScript avec Durable Functions

Gérer des API serverless avec Gestion des API

Nos clients créent régulièrement des API serverless avec Azure Functions pour alimenter leurs points de terminaison, tirer parti des déclencheurs HTTP ou pilotés par les événements et d'une intégration simplifiée avec données et services de messagerie via des liaisons. Lors de la création d'API, il convient de prendre en compte différents points, notamment l'authentification et l'autorisation des requêtes, l'application des limites de débit et des quotas, la transformation des requêtes et des réponses, la journalisation et le traçage, ainsi que la gestion des versions.

Le service Gestion des API Azure peut gérer toutes les tâches associées à la médiation des appels d'API, mais jusqu'ici, il était proposé avec des coûts fixes qui ne correspondaient pas au modèle de paiement par exécution que les clients Azure Functions apprécient.

Désormais, vous pouvez choisir un nouveau niveau Consommation lorsque vous créez une instance de Gestion des API. Ce nouveau niveau est une variante du service Gestion des API conçu et implémenté autour des principes serverless du paiement à la demande et de la mise à l'échelle automatique. Apprenez-en davantage sur le nouveau niveau Consommation dans ce billet de blog et tirez parti de la gestion des API pour votre backend serverless optimisé par Azure Functions.

Développer avec Serverless Community Library

Serverless Community Library est un ensemble de composants préconfigurés open source et basés sur des cas d’utilisation courants utilisant Azure Functions et Logic Apps. Ces exemples sont déjà créés et prêts à être déployés sur l’abonnement Azure souhaité. Les développeurs peuvent donc utiliser ces composants intégrés plug-and-play afin de gagner du temps lors du codage et d’augmenter la productivité. Consultez les exemples disponibles, gestion des paiements avec Stripe ou ajout d'intelligence avec Cognitive Services notamment, dans Serverless Community Library, et contribuez avec vos propres composants sur GitHub.

Bibliothèque serverless

Résumé

Essayez ces nouvelles fonctionnalités et donnez-nous votre avis. Faites-nous part de vos idées concernant de nouvelles fonctionnalités Azure Functions sur Functions UserVoice. Nous serons ravis de nous pencher sur les problèmes Azure Functions consignés dans le référentiel GitHud Azure Functions et l'équipe Azure Functions est à votre disposition sur Twitter @AzureFunctions .