Microsoft a annoncé aujourd’hui le lancement de Radius, une nouvelle plate-forme d’applications open source indépendante du langage pour créer et exécuter des applications cloud natives. Le projet est issu de l’équipe Microsoft Azure Incubation, le même groupe qui a précédemment lancé des projets open source tels que Dapr pour la création de microservices, la solution de mise à l’échelle automatique basée sur les événements KEDA et Copacetic, un outil de sécurité pour corriger les vulnérabilités des images de conteneurs. Dapr et KEDA font déjà partie de la série de projets de la Cloud Native Computing Foundation (CNCF) et Microsoft a récemment soumis Copacetic. Il n’est donc pas surprenant que la société envisage également de soumettre Radius pour inclusion dans le CNCF dans les six prochains mois.
Avec Radius, les développeurs pourront déployer des applications sur des cloud privés, Azure de Microsoft et AWS d’Amazon, avec une prise en charge prochaine de Google Cloud. L’idée générale ici est que si Kubernetes a facilité la création d’applications pouvant – du moins en théorie – s’exécuter n’importe où, ces applications sont devenues de plus en plus complexes, ce qui rend leur gestion plus difficile. Idéalement, une plate-forme d’application résume tout cela et permet aux développeurs de se concentrer sur l’écriture de leurs applications.
Nous avons vu par le passé d’autres plates-formes d’applications tenter de soustraire toute l’infrastructure aux développeurs, notamment le projet Cloud Foundry et les services commerciaux construits autour de celui-ci, comme le service d’application Tanzu de VMware. Mais comme me l’a dit Mark Russinovich, CTO d’Azure et collaborateur technique de Microsoft, Radius adopte une approche résolument différente pour résoudre ce problème.
« L’une des choses que nous faisons et qui est différente est que nous voulons que Radius prenne en charge tous les types d’applications, et ne se contente pas d’avoir une opinion verticale sur l’architecture d’une application ou ne prenne en charge qu’un certain modèle d’applications, comme 12 facteurs. – ou exiger que les applications elles-mêmes soient écrites d’une certaine manière. Radius lui-même n’a aucune opinion sur la façon dont l’application est écrite et est suffisamment flexible pour prendre en charge vos applications à deux et trois niveaux, dont une tonne est encore en cours de construction dans l’entreprise. Ils sont désormais conteneurisés, mais ils restent cette architecture. Et il est également capable de prendre en charge des applications complexes basées sur des microservices avec une douzaine ou deux douzaines de microservices.
Il a également noté que les plates-formes concurrentes sont très axées sur la description de la relation entre les niveaux de calcul de l’application ou des microservices, mais qu’elles laissent souvent les autres ressources cloud qui composent les applications modernes comme une préoccupation externe. « L’objectif avec Radius était qu’en tant que développeur, je puisse simplement décrire complètement mon application – pas seulement les parties de calcul mais les ressources qu’elles utilisent, comme, hé, il y a PubSub entre ce front-end et ce back-end. Et il y a un magasin d’État ici à côté de ce microservice – et n’importe quelle ressource parmi toutes les ressources cloud peut être décrite de cette façon. Ainsi, vous obtenez finalement un graphique d’application complet. Et vous êtes motivé en tant que développeur à utiliser Radius pour décrire ces relations, car cela fait beaucoup de travail pour vous sous le capot.
Microsoft note qu’il a conçu Radius pour rencontrer les développeurs là où ils se trouvent. Il n’essaie pas de réinventer complètement le concept d’infrastructure en tant que code, par exemple, mais exploite plutôt des outils existants comme Terraform (ou peut-être OpenTofu tant qu’il reste compatible) et Bicep. Il s’intègre également aux services CI/CD comme GitHub Actions.
Au cœur de Radius se trouve également un plan de contrôle universel, qui s’avère basé sur le moteur de déploiement Azure Resource Manager – le même orchestrateur de déploiement que l’entreprise utilise dans Azure pour y gérer les déploiements d’applications. La société ouvrira ce gestionnaire de ressources dans les six prochains mois, me dit Russinovich. Il a également noté que Bicep, le langage d’infrastructure en tant que code spécifique au domaine qui se trouve au-dessus du moteur de déploiement, est déjà open source.
Microsoft s’est également déjà associé à Comcast et à la banque portugaise Millennium BCP pour permettre à Radius de fonctionner sur n’importe quel cloud.
À bien des égards, Microsoft utilise le même playbook global pour Radius que pour le runtime d’application distribuée Dapr. Elle lance le service en tant que projet open source et le place sous la gouvernance de la CNCF. Dapr a ensuite également donné naissance à une certaine activité commerciale autour du projet, notamment de la part de sociétés comme Diagrid. Nous verrons probablement une trajectoire similaire pour Radius – en supposant qu’il gagne suffisamment de terrain – et peut-être qu’Azure lui-même pourrait un jour proposer également une plate-forme d’applications basée sur Radius.