Découvrir Azure Functions
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.