Sortie de Orleans 3.3 avec intégration de l'hébergement Kubernetes

Par:
fredericmazue

lun, 12/10/2020 - 16:04

Le laboratoire Microsoft Research vient de publier la version 3.3 de son framework multi plates-formes de création d'applications distribuées  en .NET.

Orleans, parfois appelé "Distributed .NET", utilise des concepts familiers aux programmeurs .NET d'applications asynchrones tels que les objets, les interfaces, les instructions async / wait et try / catch et les étend aux environnements multi-serveurs.

La pierre angulaire de toute application d'Orléans est un grain. Les grains sont des entités comprenant une identité, un comportement et un état définis par l'utilisateur. Les identités de grain sont des clés définies par l'utilisateur qui rendent les grains toujours disponible pour l'invocation. Les grains peuvent être invoqués par d'autres grains ou par des clients externes tels que des frontends Web, via des interfaces de communication fortement typées (contrats). Chaque grain est une instance d'une classe qui implémente une ou plusieurs interfaces.

Les grains peuvent avoir un état volatil et / ou persistant qui peut être stocké dans n'importe quel système de stockage. En tant que tel, les grains partitionnent implicitement l'état de l'application, ce qui permet une évolutivité automatique et simplifie la récupération en cas de panne. L'état du grain est conservé en mémoire pendant que le grain est actif, ce qui réduit la latence et la charge sur les magasins de données.

L'instanciation des grains est automatiquement effectuée à la demande par le runtime d'Orléans. Les grains qui ne sont pas utilisés pendant un certain temps sont automatiquement supprimés de la mémoire pour libérer des ressources. Ceci est possible grâce à leur identité stable, qui permet d'appeler des grains qu'ils soient déjà chargés en mémoire ou non. Les grains ont un cycle de vie géré.

Selon les créateur d'Orléans, pris ensemble, l'identité stable, l'état et le cycle de vie géré de Grains sont des facteurs clés qui rendent les systèmes construits sur Orleans évolutifs, performants et fiables sans obliger les développeurs à écrire du code de systèmes distribués complexes.

Par les améliorations apportées par cette versions 3.3, on notera particulièrement l'intégration de l'hébergement Kubernetes.

Orleans est un logiciel libre sous licence MIT, disponible sur GitHub.