Poursuivant son adhésion à l'open source, Microsoft a annoncé la création de deux nouveaux projets open source. Le premier est Open Application Model (OAM), un nouveau standard pour le développement et l'exploitation d'applications sur Kubernetes et d'autres plateformes. Le second projet est Dapr (Distributed Application Runtime), conçu pour faciliter la création de microservice d'applications. Open Application Model
Kubernetes est devenu le principal environnement d’orchestration de conteneurs. Son succès a entraîné la croissance remarquable des services Kubernetes sur tous les clouds publics. Cependant, les ressources de base de Kubernetes telles que Services et Déploiements représentent des éléments disparates d’une application globale. Ils ne représentent pas l'application elle-même. De même, des objets tels que les graphiques de Helm représentent une application potentiellement déployable, mais une fois déployée, il n’existe aucun modèle centré sur l'application en cours. C’est pourquoi Microsoft et Alibaba Cloud ont créé le projet Open Application Model (OAM) sous Open Web Foundation.
OAM est 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. 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 CNI (Container Network Interface) au 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 plateformes 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. Dans tout cela, l'objectif d'Open Application Model est de rendre les applications simples faciles et les applications complexes gérables.
En 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 plateformes et à d’autres de créer des modules réutilisables qui sont connus pour encapsuler les meilleures pratiques en matière de sécurité et de déploiement évolutif. 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 plateformes.
Concept final
Le concept final est un ensemble de Traits (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. Un exemple simple de telles différences pourrait être un équilibreur de charge hyperscale fourni par le cloud par rapport à un équilibreur de charge matérielle sur site. Du point de vue du développeur d’applications, ils sont totalement identiques, alors que du point de vue de l’opérateur, ils sont complètement différents. Les Traits permettent cette séparation des problèmes, de sorte que l'application peut s'exécuter partout où ses caractéristiques nécessaires sont déployées. Ces Traits peuvent ensuite être configurés par les opérateurs d’infrastructure pour répondre aux exigences de fonctionnement uniques de leur environnement (conformité et sécurité, par exemple).
Contrairement à un modèle d'application PaaS plus traditionnel, l'OAM présente des caractéristiques uniques. Plus important encore, il est agnostique de plateforme. Microsoft note que bien que son initiale d'OAM, nommée Rudr, repose sur Kubernetes, OAM lui-même n'est pas étroitement lié à Kubernetes. Il est...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.