Exercice : créer une nouvelle API dans la gestion des API à partir d'une application de fonction

Effectué

Le service Gestion des API Azure vous permet de construire une API à partir d’un ensemble de microservices disparates.

Dans votre magasin en ligne, chaque partie de l’application est implémentée comme un microservice : une pour les détails du produit, une pour les détails de la commande, etc. Une équipe distincte gère chaque microservice, et chaque équipe utilise le développement et la livraison continus pour mettre à jour et déployer régulièrement son code. Vous recherchez un moyen d'assembler ces microservices en un seul produit et de gérer ce produit de manière centralisée.

Dans cette leçon, vous allez apprendre à utiliser Gestion des API Azure dans une architecture serverless en construisant des API uniques à partir de microservices individuels.

Architecture sans serveur et microservices

Les microservices offrent une approche populaire à l’architecture des applications distribuées. Lorsque vous créez une application sous la forme d'une collection de microservices, vous créez de nombreux petits services différents. Chaque service possède un domaine de responsabilité défini, et il est développé, déployé et mis à l'échelle indépendamment. Cette architecture modulaire permet d'obtenir une application plus facile à comprendre, à améliorer et à tester. Elle facilite également la livraison continue car vous ne changez qu'une petite partie de l'ensemble de l'application lorsque vous déployez un microservice.

Une autre tendance complémentaire dans le développement de logiciels distribués est l’architecture serverless. Dans cette approche, une organisation hôte publie un ensemble de services que les développeurs peuvent utiliser pour exécuter leur code. Les développeurs n’ont pas à se soucier du matériel, des systèmes d’exploitation, des logiciels sous-jacents et autres infrastructures. En effet, le code est exécuté sans état dans des ressources informatiques déclenchées par des requêtes. Les coûts ne sont facturés que lorsque les services sont exécutés, de sorte que vous pouvez limiter les frais pour les services rarement utilisés.

Azure Functions

Azure Functions est un service permettant de bâtir des architectures sans serveur dans Azure. Vous pouvez écrire des fonctions, sans vous soucier de l'infrastructure sous-jacente, dans de nombreux langages différents, dont C#, Java, JavaScript, PowerShell et Python. Vous pouvez également utiliser des bibliothèques NuGet et npm (Node Package Manager), mais aussi authentifier les utilisateurs avec le protocole OAuth de fournisseurs comme Active Directory, Facebook, Google et Compte Microsoft.

Lorsque vous écrivez une fonction, vous choisissez un modèle à utiliser, selon la façon dont vous voulez déclencher votre code. Par exemple, si vous voulez exécuter la fonction en réponse à une requête HTTP, utilisez le modèle HTTPTrigger. Vous pouvez utiliser d'autres modèles à exécuter pour les nouveaux messages d’une file d'attente, un conteneur de stockage Blob ou selon un calendrier prédéfini.

Quand vous utilisez Azure Functions dans un plan de consommation, vous êtes facturé seulement quand votre code est exécuté.

Gestion des API Azure

Gestion des API Azure est un service cloud complètement managé que vous pouvez utiliser pour publier, sécuriser, transformer, maintenir et monitorer des API. Gestion des API aide les organisations à publier des API pour des développeurs externes, partenaires et internes, afin de libérer le potentiel de leurs données et services. Gestion des API prend en charge toutes les tâches impliquées dans la médiation des appels API. Cela comprend 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 consignation et le suivi, ainsi que la gestion des versions des API. Gestion des API vous permet de créer et gérer des passerelles d’API modernes pour des services de back-end existants, où qu’ils soient hébergés.

Comme il est possible de publier Azure Functions via Gestion des API, vous pouvez l’utiliser pour implémenter une architecture de microservices : chaque fonction implémente un microservice. En ajoutant plusieurs fonctions à un même produit Gestion des API, vous pouvez incorporer ces microservices dans une application distribuée intégrée. Une fois l'application créée, vous pouvez utiliser les stratégies Gestion des API pour implémenter la mise en cache ou garantir l’application des exigences de sécurité.

Niveau de consommation de Gestion des API

Lorsque vous choisissez un plan d’utilisation pour Gestion des API, vous pouvez choisir le niveau consommation. Le niveau de consommation est particulièrement adapté aux architectures basées sur les microservices et aux systèmes pilotés par les événements. Par exemple, cette solution convient tout particulièrement à l'API Web de notre magasin en ligne.

Le niveau de consommation utilise les mêmes composants de service sous-jacents que les niveaux précédents, mais en utilisant une architecture entièrement différente basée sur des ressources partagées et allouées de façon dynamique. Ce niveau de consommation s’adapte parfaitement aux modèles informatiques serverless. Il n’existe aucune infrastructure à gérer et aucune capacité inactive. Il fournit une haute disponibilité, une mise à l’échelle automatique et une tarification basée sur l’utilisation. Tout cela fait du niveau de consommation une option particulièrement judicieuse pour les solutions impliquant l’exposition de ressources serverless en tant qu’API.

Dans l'unité suivante, nous allons créer une instance Gestion des API et y ajouter une fonction.