Lightbend a été fondée par Martin Odersky (inventeur du langage Scala), Jonas Bonér, le créateur du middleware Akka, et Paul Phillips en 2011. Elle a acquis la technologie Cloudstate qui sert d’infrastructure à Akka Serverless, sa nouvelle plateforme. Présentation.
Cloudstate une « brique technique » essentielle
La technologie de Cloudstate offre la possibilité de créer des services « stateful » en mode Serverless (pas de gestion d’infrastructure pour le développeur). De plus, elle est compatibles avec les principales architectures réactives. Le stateful, permet d’adresser certains cas d’utilisation très particuliers où l’on a besoin de conserver cette notion de « state » (état) dans un service. Cette technologie s’oppose au « stateless », née il a un peu plus de dix ans. Celle-ci dicte que le service ne maîtrise et ne sauvegarde aucune donnée et qu’il ne fait qu’exécuter une commande. Par analogie avec le monde de l’industrie, c’est : je dois créer un produit, je reçois la commande et je le fabrique. Pour gérer un panier sur un site marchand, par exemple, on va vouloir conserver l’état du panier à l’intérieur du service.
Pour son côté Serverless, Cloudstate utilise Knative (couche logicielle superposée sur Kubernetes) pour faciliter le déploiement, entre autres. Il utilise Grpc de Google, une technologie de communication plus rapide que le HTTP. Évidemment, il s’appuie aussi sur les outils Akka comme Akka Cluster et Akka Persistence pour réussir à faire fonctionner des services stateful en mode Serverless. Enfin, la gestion des données (stockées dans le service et non dans une base traditionnelle) utilise le système d’Event sourcing. En effet, c’est une technologie essentielle dans les architectures réactives.
Akka Serverless offre l’accès à Cloudstate
Akka Serverless est une plateforme SaaS qui met à disposition Cloudstate. Comme principaux avantages, on remarque notamment l’absence de gestion de l’infrastructure Serverless (Knative et Kubernetes) typique des solutions Saas et surtout, le déploiement des services simplifié. Plus encore, l’exposition de services à l’extérieur se trouve grandement facilitée. Tout comme le choix de la persistance du côté Kubernetes. Le but est de simplifier le travail des développeurs. Déployer un service sur Akka Serverless se résume alors à une ligne de commande. Dans le même ordre d’idée, il propose une documentation riche et un utilitaire en ligne de commande pour automatiser les tâches.
Quels sont les avantages concrets
Développer avec Cloudstate (à travers Akka Serverless) fonctionne selon un schéma « protobuff ». Notamment avec la modélisation des échanges et de la persistance des données et modélisations des fonctions exposées par le service. Le code est très orienté du côté business et peut être rédigé dans de nombreux langages (autres que Java et Scala). Akka Serverless exploite toute la puissance des technologies cloud et Serverless. Le service est packagé et livré sous forme d’une image Docker. L’accès aux commandes d’Akka Serverless se fait via une interface Web avec une console d’administration graphique.
Des cas d’usage typiques
Akka Serverless excelle dans tous les services qui demandent un latence très faible proche du temps réel. Comme par exemple la prédiction, la détection de fraude ou d’anomalie. De manière générale, il aide au développement du machine learning. Il permet également de garder la donnée en mémoire et dans le temps pour des besoins comme les sessions utilisateur ou des paniers d’e-commerce. De plus, Akka serverless se montre très utile pour gérer les workflows de transactions. Enfin, il assure également une meilleure gestion du travail collaboratif (documents partagés, chat rooms…). L’outil se montre aussi efficace pour toutes sortes de services distribués comme les calculs complexes. Si ses fonctions ne sont pas inédites, elles gagnent en performance grâce à Akka Serverless. Il permet à n’importe quel site d’atteindre les résultats des leaders comme Amazon.
Merci à Cédric d’avoir co-écrit cet article !
Les sujets qui m’intéressent le plus sont Data, Organisation et Temps Réel !
N’hésitez pas à me faire un retour sur cet article ou à me contacter sur LinkedIn pour partager nos actualités!
Andrea