Découvrir Azure Functions

Effectué

Azure Functions est une solution serverless qui vous permet d’écrire moins de code, de maintenir une infrastructure plus légère et de réduire les coûts. Au lieu de vous préoccuper du déploiement et de la maintenance des serveurs, l’infrastructure cloud met à votre disposition tous les serveurs à jour nécessaires pour assurer l’exécution de vos applications.

Nous élaborons souvent des systèmes pour réagir à une série d’événements critiques. Que ce soit pour générer une API web, répondre à des modifications de base de données, traiter des flux de données IoT ou même gérer des files d’attente de messages, chaque application a besoin d’un moyen d’exécuter du code à mesure que ces événements se produisent.

Azure Functions prend en charge les déclencheurs, qui permettent de démarrer l’exécution de votre code, et les liaisons, qui permettent de simplifier le codage des données d’entrée et de sortie. Il existe d’autres services d’intégration et d’automatisation dans Azure. Tous ces services peuvent résoudre les problèmes d’intégration et automatiser les processus métier. Ils peuvent tous définir des entrées, des actions, des conditions et des sorties.

Comparer Azure Functions et Azure Logic Apps

Functions et Logic Apps sont des services Azure qui permettent d’avoir des charges de travail serverless. Azure Functions est un service de calcul serverless, tandis qu’Azure Logic Apps est une plateforme d’intégration de workflow serverless. Les deux services peuvent créer des orchestrations complexes. Une orchestration est une collection de fonctions ou d’étapes, appelées actions dans Logic Apps, qui sont exécutées pour accomplir une tâche complexe.

Pour Azure Functions, vous développez des orchestrations en écrivant du code et en utilisant l’extension Durable Functions. Pour Logic Apps, vous créez des orchestrations en utilisant une interface graphique utilisateur ou en modifiant des fichiers config.

Le tableau suivant liste quelques-unes des principales différences entre Functions et Logic Apps :

Rubrique Azure Functions Logic Apps
Développement Orienté code (impératif) Orienté concepteur (déclaratif)
Connectivité Environ une douzaine de types de liaison intégrés, écriture de code pour les liaisons personnalisées Grande collection de connecteurs, Enterprise Integration Pack pour les scénarios B2B, intégration de connecteurs personnalisés
Actions Chaque activité est une fonction Azure ; écriture de code pour les fonctions de l’activité Grande collection d’actions prédéfinies
Surveillance Azure Application Insights Portail Azure, journaux Azure Monitor
Gestion API REST, Visual Studio Portail Azure, API REST, PowerShell, Visual Studio
Contexte d’exécution S’exécute dans Azure ou localement S’exécute dans Azure ou localement

Comparer Functions et WebJobs

Comme Azure Functions, Azure App Service WebJobs avec le Kit de développement logiciel (SDK) WebJobs est un service d’intégration orienté code conçu pour les développeurs. Les deux reposent sur Azure App Service et prennent en charge des fonctionnalités telles que l’intégration du contrôle de code source, l’authentification et la surveillance avec l’intégration Application Insights.

Azure Functions repose sur le Kit de développement logiciel (SDK) WebJobs, donc il partage beaucoup de déclencheurs d’événements et de connexions à d’autres services Azure. Voici quelques facteurs à prendre en compte quand vous devez choisir entre Azure Functions et WebJobs avec le SDK WebJobs :

Facteur Functions WebJobs avec le SDK WebJobs
Modèle d’application serverless avec mise à l’échelle automatique Oui Non
Développement et test dans un navigateur Oui Non
Paiement à l’utilisation Oui Non
Intégration avec Logic Apps Oui Non
Événements déclencheurs Minuteur
Objets blob et files d’attente Stockage Azure
Files d’attente et rubriques Azure Service Bus
Azure Cosmos DB
Hubs d'événements Azure
HTTP/WebHook (GitHub
Slack)
Azure Event Grid
Minuteur
Objets blob et files d’attente Stockage Azure
Files d’attente et rubriques Azure Service Bus
Azure Cosmos DB
Hubs d'événements Azure
Système de fichiers

Azure Functions apporte aux développeurs un gain de productivité supérieur par rapport à Azure App Service WebJobs. Il leur offre également davantage d’options pour les langages de programmation, les environnements de développement, l’intégration des services Azure et la tarification. Pour la plupart des scénarios, Azure Functions est le meilleur choix.