Open Application Model : un standard ouvert pour le développement et l'exploitation d'applications sur Kubernetes et autres plateformes
ven, 18/10/2019 - 13:06
Microsoft et Alibaba ont créé Open Application Model (AOM), une spécification permettant de décrire les applications afin que la description de l'application soit séparée des détails de la manière dont l'application est déployée et gérée par l'infrastructure.
Microsoft et Alibaba soulignent que cette séparation des préoccupations est utile pour plusieurs raisons. Dans le monde réel, chaque cluster Kubernetes est différent, de l'entrée au réseau CNI en passant par le maillage de service. En séparant la définition d'application des détails opérationnels du cluster, les développeurs d'applications peuvent se concentrer sur les éléments clés de leur application plutôt que sur les détails opérationnels de leur déploiement. En outre, la séparation des préoccupations permet également aux architectes de plates-formes de développer des composants réutilisables et aux développeurs d'applications de se concentrer sur l'intégration de ces composants à leur code afin de créer rapidement et facilement des applications fiables.
Avec OAM, une application est constituée de plusieurs concepts. Le premier est les composants qui constituent une application. Ces composants peuvent être des services tels qu'une base de données MySQL ou un serveur PHP répliqué avec un équilibreur de charge correspondant. Les développeurs peuvent créer du code qu'ils empaquettent en tant que composant, puis des manifestes d'auteur décrivant les relations entre ce composant et d'autres microservices. Les composants permettent aux architectes de plates-formes et à d’autres de créer des modules réutilisables. Ils permettent également de séparer la mise en œuvre du composant de la description de la manière dont ces composants sont combinés dans une architecture d'application distribuée complète.
Pour transformer ces composants en une application concrète, les opérateurs d'application utilisent une configuration de ces composants pour former une instance spécifique d'une application à déployer. La ressource de configuration est ce qui permet à un opérateur d’application d’exécuter une application réelle à partir des composants fournis par les développeurs et les plates-formes.
Le concept final est un ensemble de caractéristiques décrivant les caractéristiques de l'environnement d'application, y compris des fonctionnalités telles que la mise à l'échelle automatique et l'entrée qui sont importantes pour le fonctionnement des applications, mais qui peuvent être implémentées de différentes manières dans différents environnements.
Les spécifications Open Application Model sont disponibles sur GitHub.