Quelle plateforme pour les applications « Share Nothing Architecture » ?

Les entreprises cherchent de l’agilité pour aller de plus en plus vite dans leur croissance. Lorsqu’elles développent des applications à destination de l’interne ou de l’externe c’est pour accompagner cette croissance de manière à avoir un impact direct ou indirect. Il faut donc tout faire pour que les développeurs puissent développer ces applications en ayant eux aussi l’agilité attendue. D’où l’attrait des services du cloud public, en effet tout est déjà prêt à être consommé, il déploie simplement un service de données (type base de données ou objet) et interconnecte l’application avec, ils se focalisent sur leur développement. Avoir cette souplesse dans son datacenter permettrait d’allier agilité et sécurité maîtrisée.

La plate-forme VMware Cloud Foundation withTanzu (anciennement vSphere with Kubernetes ou encore Projet Pacific) est une plate-forme mixte capable d’héberger simultanément des applications fonctionnant sur des machines virtuelles et des applications fonctionnant sur des PODs Kubernetes (des containers). Elle permet aussi de fournir d’ores et déjà les services réseau, les services de stockage, le service de registry et le service de sauvegarde/restauration. La plate-forme se dote désormais de services autour de la donnée. Au moment de la rédaction de cet article, deux solutions y sont déjà intégrées : Minio et Cloudian, solutions de stockage objets compatible avec l’API S3, deux autres sont en cours d’intégration : Dell EMC ObjectScale lui aussi un stockage objet compatible S3 et Datastax une base de données NoSQL à base de Cassandra. D’autres viendront rapidement.

 

En quoi est-ce révolutionnaire ?

Contrairement à la majorité des applications dites traditionnelles/classiques/monolithique, les applications dites modernes/Cloud Native/scalable, elles, ne comptent pas sur les artifices de l’infrastructure pour optimiser leur performance ou pour assurer leur résilience, elles utilisent leurs propres mécanismes de manière à être disponible, performante autant que possible et ce quelle que soit l’infrastructure. Elles ont bien sûr besoin de cette infrastructure mais brute, juste pour consommer directement les ressources telles quelles, brutes (les processeurs, de la mémoire et des axes d’IO). Ces applications sont bien souvent des applications SNA (Shared Nothing Architecture), chaque instance servant une même application utilise ses propres ressources sur un serveur distinct et répartissent les données entres ces serveurs, les lectures et  les écritures des données sont ainsi distribuées pour de meilleur performances et une meilleure résilience en prenant en compte la perte potentiel d’un serveur voire d’un site complet.

Sur une infrastructure physique (sans virtualisation), chaque instance à son propre serveur et ses propres ressources. Il n’y a donc pas de problème de placement, une instance sur chaque serveur, cependant, cela induit un problème financier car les serveurs sont dédiés à cet usage, ce n’est pas optimum à moins de consommer toutes les ressources et tout le temps, ce qui est rarement le cas.

Sur une infrastructure virtuelle, les ressources sont partagées, par conséquent celles non utilisées le sont par d’autres applications, elle permet aussi de s’affranchir des problèmes de comptabilité avec le matériel et de bénéficier de tous les autres avantages maintenant connus apportés par la virtualisation. Cependant elle apporte une contrainte pour les applications SNA, comme les instances sont virtualisées, comment s’assurer que ces instances et surtout les données générées sont bien réparties sur des serveurs de virtualisation distincts et donc pouvoir se prémunir de la perte de l’un d’entres eux ?

C’est là que la plateforme VMware Cloud Foundation with Tanzu couplée au module vSAN Data Persistence plateforme (vDPp) entre en jeux. Elle permet aux éditeurs partenaire de tirer le meilleur parti de la plateforme en fournissant leur solution « as a Service ». Cela passe par le développement d’un opérateur qui va automatiser l’installation, la configuration et simplifier le maintien en condition opérationnelle de l’application.

Il suffit de cliquer pour que le service soit opérationnel

 

vDPp connait l’infrastructure, l’application, elle, sait comment assurer sa disponibilité et obtenir ses meilleures performance. L’opérateur va ainsi répartir le nombre d’instance nécessaire sur différents serveurs de virtualisation.

Cette politique de stockage vSAN permet

de garder l’instance applicative sur le même serveur de virtualisation où sont stockées les données.

 

Lors d’opérations de maintenance, l’application est tenue informée afin qu’elle puisse prendre en compte le décommissionnement à chaud d’un serveur de virtualisation.

vDPp tient également informée l’application de manière pro-active si des disques commencent à donner des signes de défaillance.

Les développeurs quant à eux, n’ont qu’à consommer ces services via les APIs habituelles et se consacrer au développement de leur application sans se soucier de rien d’autre. Ils ont un service de données activable à la demande, résiliant, performance.

 

En résumé :

La plateforme VMware Cloud Foundation with Tanzu couplée avec vSAN Data Persistence platform offre une agilité unique pour faciliter le maintien en condition opérationnelle des services de données. Grace à cela, les développeurs se focalisent sur le développement de leur application en continuant d’utiliser leurs outils traditionnels, ils ont une plate-forme souple à l’instar de ce qui se fait sur le cloud public.

Il faut voir la plateforme Cloud Foundation with Tanzu comme une plateforme complète pour développer et héberger les applications traditionnelles comme les applications modernes avec les services intégrés disponible à la demande que cela nécessite.