Architecture API Management

Objectif(s)
  1. Proposer une vision simplifié des référentiels métiers
  2. En prise directe des utilisateurs Web et Mobiles
  3. Valorisation du SI par une facturation des API
Cible(s) 

Principes

L'architecture API Management prend racine dans les enjeux de la digitalisation des Systèmes d'Information:

  • Valoriser le cœur
  • Simplifier les cas d’usages
  • Réduire les coûts d’interconnexion des partenaires et des fournisseurs
  • Approche multi devices

Les utilisateurs ciblées ne sont pas uniquement internes dans les DSI mais aussi chez les partenaires et le grand public. 

Les "utilisateurs" sont des développeurs.

Pour prendre en main ces API, ils ont besoins de services transverses tels que:

  • une documentation d'utilisation
  • une déclaration d'usage avec un compte et des tokens d'usage
  • la possibilité de tester dans des environnements hors production

Pour proposer des API et les adapter aux usages, les responsables doivent:

  • suivre le succès des API
  • communiquer vers les utilisateurs
  • s'assurer de l'adéquation entre les usages et les offres.
  • vendre ces usages afin de rentabiliser les investissements logiciels, matériels et support.

Pour s'assurer que ces usages sont respectueux du Système d'Information, la DSI:

  • définit des contraintes et des seuils d'utilisation
  • identifie la fraîcheur des données mises à disposition.

Technologies

Pour cela, les mécanismes mis en oeuvre mettent à profit les techniques les plus récentes ayant démontrées un ROI:

  • Protocole HTTP
  • URL REST
  • Format des messages au format JSON
  • Sécurité OAuth 2

La restriction à ces points permet de proposer des services manipulables dans:

  • les périphériques mobiles
  • tous les OS mobiles: Androis, iOS et Windows Mobile
  • les applications natives ou web
  • les frameworks JavaScripts évolués comme Angular

Enfin la sécurité est orienté web et permet des usages simples:

  • Délégation par utilisateur
  • Accès par token
  • Formulaire
  • Serveur à serveur

Architecture typique

Une architecture API Management est composée de 2 modules:

  1. Une API Gateway pour exposer, sécuriser, cacher, etc les points d'entrée
  2. Un Portail API pour communiquer, administrer et suivre les usages.

 

Architecture classique API Management


Les grandes particularités de ces solutions sont:

  • leur élasticité
  • leur cache intégré.

L'élasticité est nécessaire pour répondre à des fortes pics de demandes. L'exposition en API et d'un 

Adhérences


Avantages
Inconvénients
Interconnexion (lib, protocole, etc)Adapté aux échanges WEBLimité au protocole HTTP
Propagation des changements (format et version)Organisation des API par version.
Run (processus)Point d'accès unique à une API.Scalabilité de la solution.
Exploitation



Synthèse


Avantages
Inconvénients
GouvernanceApproche fonctionnelle.

Grain trop fin au niveau service.

Classifier les services pour abstraire la complexité.

Développement

Périmètre fonctionnel clair et contraint.

Testabilité forte.

Conception logicielle indispensable.

Compétences pluridisciplinaires des développeurs.

ExploitabilitéLes services sont interchangeables et évolutifs.

Très nombreux éléments à surveiller.

Pré-requis:

  • Automatisation: déploiement lourd.
  • Collecte centralisée des logs.
Infrastructure

Infra résiliente aux pannes.

Scalabilité au niveau service.

Nombreux processus.