Azure API Management

L’API, élément clé de la transformation digitale

Depuis de nombreuses années se multiplient les API publiques permettant de bâtir de nouvelles applications grâce à internet. Ainsi Microsoft propose des API REST pour des services aussi variés qu’Azure Service Management, Bing Maps, ou Xbox Music Service.

Aujourd’hui, la mise à disposition d’une API n’est plus réservée aux seuls grands acteurs du Web mais tend à se généraliser, non seulement dans les startups, mais aussi dans les entreprises, pour lesquelles ces API constituent un réel accélérateur d’innovation. En effet, pour accompagner leur évolution vers le numérique, les entreprises se doivent de déployer de nouvelles stratégies d’accès à leurs données, en exposant les sources correspondantes sur des protocoles standards, afin de gagner en agilité pour délivrer de nouveaux services en interne, mais aussi pour les exposer dans un écosystème en constante évolution. Cette démarche fondée sur les API est donc l’une des composantes essentielles de ce changement.

Cette transformation digitale se manifeste également dans les typologies d’applications que les entreprises proposent à leurs clients, employés et partenaires : avec la prolifération des périphériques mobiles, les entreprises doivent proposer des API permettant aux développeurs d'applications internes ou non, d’offrir de nouvelles expériences spécifiquement conçues pour les tablettes ou smartphones.

Elle s’inscrit dans le contexte d’un changement de paradigme, de la SOA à la WOA (Web Oriented Architecture) facilité par la généralisation de l’adoption du style d’architecture REST, des standards liés (HTML, JSON, ….) et des composantes technologiques associées en termes d’implémentation, de sécurité et d’infrastructure.

Azure API Management

La généralisation du développement, du déploiement et de l’exposition d’API, indépendamment de la technologie sous-jacente, requiert la mise en œuvre de bonnes pratiques de gouvernance recouvrant plusieurs dimensions connexes, comme l’implication des métiers, la maîtrise des flux de données, la publication de ces API et leur exposition en mode « self-service », leur supervision unifiée, leur déploiement sur une infrastructure élastique, la sécurisation des échanges correspondants, la gestion de l’authentification des services ainsi que des identités, les quotas et les données liées à leur utilisation.

Cette démarche peut être accélérée par la mise en place d’une plateforme d’API Management permettant aux entreprises de publier, sécuriser et héberger ces API.

C’est l’objectif du nouveau service Azure API Management issu du rachat par Microsoft de la société Apiphany. Cette solution cible la création d’API exposant un ensemble diversifié de services (qu’ils soient bâtis sur des services mobiles, des services IaaS, PaaS Azure ou non). Elle permet d’accélérer la progression de l’utilisation des API exposées par les développeurs en offrant des services permettant :

  • d’appliquer des transformations de format
  • de configurer la description du mode de consommation exposé
  • de définir des rôles pour les développeurs, des plans d'utilisation et des quotas
  • de mettre en place un suivi analytique pour protéger les APIs d’un usage abusif
  • de contrôler et configurer des alertes.

L’ensemble de ces fonctions est intégré dans un portail convivial proposant documentation et exemples.

Le portail Azure API Management

Le portail Azure permet de créer une ou plusieurs instances de service de management d’API. Une fois cette instance en ligne, il devient alors possible de définir une façade pour un service backend existant pouvant être invoqué par une application cliente. A l’appel, les opérations exposées sur l’API façade sont relayées vers les services existants.

Afin d’accélérer la découverte de cette solution, chaque instance de management d’API est construite avec un exemple de service d’API (https://echoapi.cloudapp.net/api) qui renvoie l’information communiquée en entrée.

clip_image002

Une fois créée l’API façade, il faut alors la configurer via des stratégies (règles de cache, accès cross- domain, quotas et taux d’utilisation, paramètres d’authentification vis-à-vis du service backend), puis la publier sur le portail proposé aux développeurs internes ou externes, avec des mécanismes permettant de garantir sa protection en terme d’usage.

Les développeurs doivent au préalable s’abonner à un « produit » dans le portail avant de pouvoir faire appels aux services de l’API.

clip_image004

Un produit permet d'accéder à une ou plusieurs API sur lesquelles sont définies des restrictions d'accès comme les quotas et les limites de fréquence d'utilisation.

clip_image006

Le portail propose nativement des mécanismes de génération automatique permettant d’accélérer la création des pages de documentation des API. Il intègre des outils de visualisation et de test interactif des opérations d'une API (API Inspector) pour tracer et collecter les données des requêtes.

clip_image008

Une fois l’API publiée, le portail permet de la superviser en proposant de multiples graphes de suivi de son comportement technique (disponibilité, temps de réponse, latence, efficacité du cache), de son usage (exploration détaillée des appels de l’API et de la bande passante, incluant une représentation géographique), ainsi qu’une analyse de l’activité (« top developers », « top products », « top APIs », « top operations »,…).

clip_image010

Son interface utilisateur peut-être personnalisée afin de s’aligner sur la charte associée à la marque de la société proposant l’API, comme l'illustre cette copie d'écran du portail des API que proposent les mutuelles Wellmark et qui exploite Azure API Management.

clip_image012

Stratégie de définition d’API et modèle économique

Les API proposent une nouvelle chaîne de distribution pour les produits et services, via de multiples applications Desktop, Web ou Mobiles.

Dans ce contexte, Azure API Management simplifie grandement l’exposition d’une API en offrant, en libre-service, des fonctions de publication sécurisée, de médiation, de gestion des identités, des rôles et des quotas et de supervision de l’usage d’une API. Ce nouveau service Azure apparaît donc comme un accélérateur de la mise en place d’une stratégie de définition d’API.

Son utilisation doit s’accompagner d’une réflexion amont sur les objectifs ciblés par ce nouveau canal, sur le ou les retours sur investissement souhaités. Il est tout aussi primordial d’avoir défini le ou les modèles économiques associés (gratuit ou payant avec plusieurs options : à la consommation, par pallier, en mode freemium, au pourcentage de la transaction commerciale,….).

Cette démarche doit naturellement prendre en compte les coûts associés à l’usage du service Azure API Management. Celui-ci est actuellement disponible en pré-version avec deux niveaux de tarification : offre Développeur et offre Standard (ce qui influe sur le nombre d’appels, le volume de données transférées, le cache et les capacités de scaleout).

L’utilisation d’Azure API Management est très intuitive. Si vous souhaitez tester ce nouveau service et que vous ne disposez pas encore de souscription Windows Azure, ni d’abonnement MSDN, n’hésitez pas à ouvrir un compte de test gratuit, vous obtiendrez 150 € de ressources pendant 1 mois.