Open Application Model : une spécification ouverte pour le développement cloud

Microsoft et Alibaba Cloud poussent une spécification ouverte fondée sur la séparation des rôles Dev et Ops pour favoriser le développement d’applications cloud natives.

Ne pas se soucier de l’infrastructure, mais pouvoir en exploiter les capacités propres : Microsoft et Alibaba Cloud en font la promesse aux développeurs d’applications orientées services.

Leur solution : l’Open Application Model (OAM).

Élaborée sous l’égide de l’Open Web Foundation, cette spécification ouverte se fonde sur des « rôles » pour séparer les problématiques Dev et Ops.

open-application-model

Pour les développeurs, la tâche consiste à créer des « composants ».
Chacun de ces composants décrit une « unité fonctionnelle » exécutable en tant que partie d’une application. On modélise typiquement, par ce biais, des microservices.

component-schematic

Les Ops en font alors l’assemblage sous la forme de « scopes ». Il s’agit de typologies d’applications qui exploitent ces composants, éventuellement de manière simultanée.
Un système d’attributs (« traits ») permet de spécifier les conditions de mise en œuvre des instances de ces composants (autodimensionnement, routage du trafic, stratégie de mise à jour…), sans solliciter le développeur.

oam-scopes

Les « traits » permettent aux opérateurs des plates-formes d’infrastructure d’en exposer les caractéristiques.
Les composants, indépendants du code qu’ils définissent, sont réutilisables.

L’implémentation initiale, appelée Rudr, est construite sur Kubernetes. La spécification n’en est qu’au premier stade : aucun élément n’est pour le moment considéré comme stable.

Photo d’illustration © Negative Space via Pexels