Multi-cloud : à la recherche de la cohérence perdue (et pourquoi c'est difficile)

La cohérence fonctionnelle est particulièrement difficile à atteindre
lors du déploiement de services applicatifs provenant de différents
fournisseurs.

« Cohérence ». Dans le domaine technologique, nous utilisons ce terme pour indiquer une notion d’équivalence et de constance. Quelque chose est donc constant s’il se comporte de la même façon au fil du temps ou dans des conditions variables. Et c’est une bonne chose, car qui dit constance dit prédictibilité. Et dans le monde technologique, nous aimons la prédictibilité !

Hélas, la cohérence semble un objectif difficile à atteindre dans un monde multi-cloud. Selon le dernier rapport State of Application Services 2019, c’est d’ailleurs un problème pour 87% des entreprises engagées dans cette voie.

Mais d’où vient-il, ce problème ? Une première réponse semble évidente : les variations des déploiements entre les datacenters et le cloud apparaissent lorsque les services applicatifs ne sont pas déployés de manière… cohérente !

Bon, cela est un peu facile et il convient bien sûr d’aller plus loin. Il nous faut notamment approfondir cette notion de « cohérence » afin de mieux comprendre comment plusieurs déploiements que l’on imagine identiques peuvent diverger. Une partie du problème réside dans le fait qu’il existe deux niveaux de cohérence, et surtout qu’aucun des deux ne doit être négligé.

La différence entre services applicatifs et Application Delivery Controllers

Au cœur des discussions sur le manque de cohérence se trouve généralement un malentendu : il existe une différence entre un Application Delivery Controller (ADC) et un service applicatif.

L’ADC est une plate-forme qui fournit des services applicatifs. Finalement, l’ADC est un système en soi, à peu près comme Kubernetes est un système en soi. Kubernetes est une plate-forme de déploiement et d’exploitation de conteneurs. Un ADC est une plate-forme de déploiement et d’exploitation de services applicatifs.

C’est important, parce que les plates-formes (ou les systèmes) impliquent une notion de cohérence distincte de celle des « choses » qu’elles déploient et exploitent. Ici, donc, la cohérence se situe au niveau opérationnel, c’est-à-dire au niveau de la gestion et de l’exploitation de la plate-forme elle-même. Et il est vital pour la suite de bien comprendre ces deux niveaux : fonctionnel (le fonctionnement des services applicatifs eux-mêmes) et opérationnel (les opérations qui permettent de déployer les services) afin d’identifier correctement les sources d’incohérence potentielles.

Cohérence fonctionnelle

La cohérence fonctionnelle est attachée au fonctionnement de chaque service applicatif. C’est ce que voient les utilisateurs. Et comme c’est la plus visible, c’est généralement à elle que les gens font allusion lorsqu’ils parlent d’incohérences en environnement multi-cloud.

La cohérence fonctionnelle est particulièrement difficile à atteindre lors du déploiement de services applicatifs provenant de différents fournisseurs. Un service WAF ou anti-bot d’un fournisseur n’est pas nécessairement équivalent sur le plan fonctionnel à un service WAF ou anti-bot d’un autre fournisseur.

L’une des raisons pour lesquelles les entreprises éprouvent des difficultés avec la cohérence multi-cloud n’est donc pas parce qu’elles ne déploient pas de services applicatifs dans le cloud, mais plutôt parce qu’elles déploient différents services applicatifs avec des capacités fonctionnelles incohérentes.

Seule une standardisation basée sur l’équivalence fonctionnelle pourra aider les organisations à atteindre la cohérence qu’elles ont du mal à atteindre aujourd’hui.

Cohérence opérationnelle

La deuxième source d’incohérence, moins souvent mentionnée, se situe au niveau de la couche plate-forme (l’ADC, le plus souvent). Lors du passage au cloud public, de nombreuses entreprises choisissent (intentionnellement ou accidentellement) de s’appuyer sur des options natives du cloud choisi.

Cela introduit immédiatement une incohérence opérationnelle au niveau de la couche plate-forme. Car la manière dont l’entreprise fournit, embarque et exploite ces services applicatifs est de nature purement opérationnelle, et cela introduit donc une dette opérationnelle au moment même où l’on connecte la première API.

La plupart du temps, les entreprises n’utilisent pas les services d’applications Cloud natives sur site. Cela qui signifie qu’elles disposent de deux plates-formes de services applicatifs différentes à gérer (sur site et dans le Cloud), donc différentes méthodes de gestion, d’analyse, de suivi… Bref, tout est différent, ou presque !

C’est comme si l’entreprise disposait de deux ADC différents. Bien que certaines très grandes organisations le fassent, au fil des ans, la plupart d’entre elles standardisent sur une seule plate-forme. La cohérence opérationnelle et la capacité de répliquer les politiques de services applicatifs sur l’ensemble des applications sont généralement un facteur déterminant dans cette décision.

Mais lorsqu’ils passent au cloud, certains ont oublié pourquoi ils ont tout d’abord opté pour la standardisation sur une seule plate-forme ADC : la cohérence opérationnelle et le support.

C’est un fait : l’introduction de plates-formes supplémentaires alourdit le fardeau des opérations et nuit à la recherche de cohérence.

La cohérence a besoin de normalisation

La normalisation peut être un terme effrayant pour ceux qui pensent qu’elle étouffe l’innovation. Mais plus effrayant encore est le terrain vague qui, à première vue, encourage l’innovation, mais qui, à long terme, n’est pas viable et crée un environnement opérationnel chaotique. Après tout, ce n’est pas pour rien que le terme d’urbanisme appartient aussi au dictionnaire IT.

Les technologies de l’information étant sous pression pour apporter de la valeur ajoutée à l’entreprise, l’augmentation du personnel afin de maintenir de multiples plates-formes de déploiement et toute une ménagerie de services applicatifs semble parfaitement contre-productive par rapport à l’objectif de cohérence que l’on recherche dans le multi-cloud.

La normalisation — en particulier au niveau opérationnel — est un élément clé de l’innovation parce qu’elle allège le fardeau du personnel qui doit se concentrer sur les plateformes d’exploitation. Elle encourage plutôt la collaboration sur les politiques et l’architecture : là où se situe la véritable valeur ajoutée.

En normalisant, les entreprises parviendront à assurer la cohérence opérationnelle et fonctionnelle entre leurs différents périmètres, pour retrouver les atouts qu’elles recherchaient lorsqu’elles standardisaient sur une seule plateforme ADC dans le datacenter. Le multi-cloud ne doit pas être différent !


A découvrir