API Cloud : ne sous-estimez pas les risques de dépendance vis-à-vis des fournisseurs
Les API des services Cloud jouent un rôle de plus en plus important dans de nombreux services informatiques. Mais sans une gouvernance appropriée, elles favorisent la dépendance et peuvent rendre captif d’un fournisseur.
Les entreprises qui migrent vers le Cloud comprennent probablement l'importance des interfaces de programmation applicative (API). Celles-ci sont généralement fournies par des services Web RESTful qui proposent des services d'infrastructure, de stockage et/ou de traitement, ou des services applicatifs, tels que les solutions analytiques métier.
Mais alors que de plus en plus d'entreprises adoptent ces API, certaines craignent de devenir captives. Les processus métier et les applications sont en effet désormais étroitement couplés avec ces « passerelles » vers le Cloud. Elles en deviennent de fait dépendantes sur le plan fonctionnel, ce qui entraîne au final une dépendance vis-à-vis du fournisseur.
La plupart de ces craintes sont-elles fondées ?
Oui. Le développement d'applications via des API qui sont spécifiques à un fournisseur Cloud ou à une plateforme particulière est le mécanisme même qui engendre une dépendance.
« Alors faut-il continuer à utiliser des services Cloud ? Et des API ? », me direz-vous.
D'abord, n’oublions pas que le Cloud et ses APIs permettent de tirer parti simplement de fonctionnalités avancées. Par exemple le provisioning et l'évolutivité automatiques. Ensuite, ils offrent des fonctions intéressantes aux applications, comme l'accès à des bases de données hébergées, gérées par le fournisseur de Cloud.
En outre, les API et le Cloud améliorent sensiblement les performances. Les interfaces Cloud n'ont pas besoin de s'exécuter à travers des couches d'abstraction ou de traduire des appels propres à une plateforme, comme l'accès aux services de stockage et de traitement.
Enfin, elles offrent une sécurité, une gestion et une gouvernance en natif.
Mais en faisant ce choix, les entreprises doivent adhérer à la manière dont le fournisseur de Cloud rend ces services disponibles. Cette manière peut ne pas cadrer avec leurs propres services internes ou avec ceux proposés par d'autres fournisseurs Cloud.
Par conséquent, même si les API apportent un certain nombre d'avantages, elles présentent quand même le risque d'entraîner une position captive vis-à-vis d'un fournisseur spécifique.
Rassurez-vous, il existe trois moyens d'éviter cette dépendance. Ou du moins d'en réduire le risque.
Utiliser un système de gouvernance des services du Cloud
La gouvernance des API se focalise sur l'automatisation et la gouvernance au niveau de la couche des services du Cloud. La gouvernance des services du Cloud est un terme générique qui recouvre le processus consistant à appliquer des règles ou des principes spécifiques à l'utilisation des API ou des services de Cloud computing.
L'objectif de la gouvernance des services Cloud, ainsi que des outils qui la prennent en charge, est de placer une couche d'abstraction entre les services Cloud et les équipes qui les gèrent.
Les applications peuvent également utiliser cette couche d'abstraction, ce qui permet aux entreprises de faire appel à d'autres services Cloud avec la même couche de gouvernance des services et de réduire les risques de dépendance.
Apigee et Mashery sont des exemples de technologies de gouvernance des API de Cloud.
Utiliser un système de gouvernance des ressources du Cloud
De la même manière qu'elles le font pour les API et les services de Cloud computing, les entreprises doivent assurer la gouvernance des ressources du Cloud.
Bien que les plateformes de gestion de Cloud offrent des fonctionnalités de gouvernance, elles appliquent une autre approche que celle des outils de gouvernance des services. Elles se focalisent sur les ressources hébergées elles-mêmes, telles que le stockage, le compute ou lese bases de données, au lieu d'assurer simplement l'interface avec ces ressources.
Parmi les exemples de plateformes de gestion du Cloud, citons ServiceMesh, qui a été racheté par CSC, et RightScale Inc.
Là encore, les couches d'abstraction du Cloud sont des API placées entre les ressources natives du Cloud et l'interface. Il en résulte que les entreprises peuvent utiliser les mêmes outils pour plusieurs plateformes de fournisseurs Cloud et réduire les risques de dépendance.
La couche d'abstraction peut permettre une meilleure portabilité, ainsi que la capacité de gérer différentes plateformes Cloud à l'aide d'un tableau de bord unique ou d'un seul jeu d'API.
Utiliser un standard ouvert
L'utilisation d'une plateforme Cloud open source- telle qu'OpenStack - présente des avantages… et des inconvénients. Mais les API seront cohérentes d'une distribution à l'autre. Par conséquent, les API seront probablement compatibles, ce qui élimine le risque de dépendance captive.
Dans la réalité, l'utilisation des API Cloud entraîne de toute façon une certaine dépendance. Et même si cette dépendance peut être évitée, ou si le risque peut au moins être réduit à l'aide des trois approches ci-dessus, elle est coûteuse en termes de temps et d'argent. Un investissement que certaines entreprises préfèreraient ne pas faire. Mais au final le plus important est de savoir que le problème de dépendance vis-à-vis des API existe et de le gérer du mieux possible.