BLOG | BUREAU DU CTO

À l'avenir, le A d'API signifiera automatisation

Miniature de Lori MacVittie
Lori MacVittie
Publié le 21 janvier 2020

API signifie Application Programming Interface. Au fil des années, il est passé d’une spécification impérative étroitement couplée à un modèle déclaratif faiblement couplé. Les API les plus courantes aujourd’hui sont RESTful et utilisées pour permettre l’intégration. Quelle que soit la mise en œuvre et le mode d’invocation, les API ont tendance à être associées au développement d’applications. 

Mais une autre économie API est en constante expansion. Cela fait partie des opérations. Et dans ce domaine, le « A » d’API signifie automatisation.

Ce que représentent les API dans le domaine opérationnel, c'est la capacité d'automatiser l'intégration, la configuration et le fonctionnement des services d'infrastructure et application . Ainsi, les interfaces (les API) nécessaires pour prendre en charge les opérations doivent se concentrer sur la simplification de l’automatisation.

Cette focalisation est importante à l’heure où les organisations entrent pleinement dans la deuxième phase de la transformation numérique et commencent à étendre l’automatisation à l’ensemble des pipelines de livraison et de déploiement. Pour faire évoluer l’automatisation, il faut pouvoir développer des processus cohérents, répétables et prévisibles qui incarnent le pipeline de déploiement d’une application. 

Un rapport de Kentik sur l'état de l'automatisation en 2019 indiquait que plus de la moitié des organisations (53 %) utilisaient déjà l'automatisation pour la configuration du réseau et 40 % automatisaient la gestion des politiques. Nos propres recherches montrent que ce pourcentage est bien plus élevé : une super majorité de 86 % automatisent le réseau. La même étude, State of Application Services 2020, a également constaté une cohérence croissante dans l’état de l’automatisation dans l’ensemble du pipeline de déploiement.

Les outils utilisés par les organisations évoluent également. Bien que Python soit toujours l’une des options les plus populaires, nous constatons l’influence de DevOps et des applications cloud natives sur l’informatique. Le pipeline de déploiement est de plus en plus piloté par des outils comme Jenkins et Ansible et déclenché par des référentiels comme GitHub et GitLab Enterprise. À l’avenir, les services d’infrastructure et d’application seront pilotés par des informations exploitables produites par des analyses avancées.

Ce sont les systèmes, et non les personnes, qui invoqueront les API tout au long du pipeline de déploiement. Il est donc impératif de concevoir des API opérationnelles spécifiquement axées sur l’automatisation. Cela implique plusieurs considérations.

Tout d’abord, il peut être nécessaire de considérer le système à partir duquel une API opérationnelle pourrait être invoquée. Les données disponibles depuis Jenkins ou un référentiel seront sans aucun doute très différentes de celles provenant des outils et services d’automatisation de réseau traditionnels. Cela peut impliquer d'obtenir des données d'ailleurs ou de recourir à des valeurs standardisées lorsque cela est possible. 

Deuxièmement, il est essentiel que nous abordions la nécessité d’invoquer les API par des « machines authentifiées » de manière distincte de l’invocation par des « utilisateurs authentifiés ». La plupart de nos systèmes d’authentification actuels supposent que l’« utilisateur » est un humain. Les clés API peuvent être une bonne option, mais elles nécessiteront un certain apprentissage du côté opérationnel de l’informatique pour déployer, exploiter et gérer un système conçu pour conserver les informations d’identification de la machine uniquement. Cela reste néanmoins essentiel à l’heure où nous avançons vers la troisième et dernière phase de la transformation numérique, où les services application et les opérations assistés par l’IA assumeront une part plus importante des charges opérationnelles.

C’est formidable que nous puissions utiliser des outils pour créer des scripts à partir desquels les opérations peuvent être automatisées aujourd’hui. Mais il est important de reconnaître qu’à l’avenir, le A dans API fera presque exclusivement référence à l’automatisation – du moins dans le contexte des opérations – en raison de l’impact qu’il aura sur les interactions et les invocations entre les machines plutôt qu’entre les personnes.