Lorsque l’on parle aujourd’hui d’applications faites pour le cloud, qu’il soit privé, public ou souverain, le réflexe quasi instantané est de se tourner vers une plateforme moderne de gestion de conteneur telle que Kubernetes, avec tout son écosystème et des méthodologies DevSecOps.
Dans ce contexte et ces usages, la capacité à déplacer les applications et les données est un enjeu majeur pour les entreprises qui s’appuient sur Kubernetes ; et la recherche d’une solution de gestion et de protection des données pour ces environnements est devenue une quête stratégique, avec des critères bien précis à intégrer.
Une tribune de Christophe Fontaine, Senior Regional Technical Sales Director Southern Europe and Africa de Veeam, publiée en primeur sur Goodtech.info
Des secteurs comme celui de la finance, des assurances ou du secteur public, ont décidé d’opérer cette nouvelle forme d’application, considérée comme « Coud Native » en production, ce qui constitue une véritable étape. Il faut toutefois différencier les applications qui ne stockent pas de données persistantes (dites « Stateless ») et celles qui consomment des services de données sous toutes ses formes (dites « Stateful ») dans les environnements Kubernetes.
Depuis sa création, le projet Kubernetes n’a cessé d’évoluer dans la gestion et la prise en charge des volumes de données persistantes, sous l’effet notamment de l’apparition du composant CSI driver (Container Storage Interface) en 2017, puis du standard homonyme en 2018 et enfin des snapshots et des clones en 2019. Depuis trois ans, on constate une croissance exponentielle des applications dites « Stateful » en production – ces deux termes étant clés. La CNCF (Cloud Native Computing Foundation) réalise chaque année une étude auprès des utilisateurs de Kubernetes pour comprendre et analyser son adoption sur le marché. Parmi les 11 technologies les plus déployées en environnement Kubernetes, 9 correspondent à des moteurs de base de données ou application stockant de la donnée persistante sous différentes formes, d’après une étude réalisée par Datadog.
Le critère principal porte sur la portabilité des données et des applications
Lors de la mise en production des nouvelles applications, les décideurs techniques doivent respecter certaines règlementations et obligations, nécessitant des services de plan de reprise d’activité, de sauvegarde et de restauration. Un autre défi qui apparaît est le débordement dans le cloud public ou le cloud souverain en fonction de la nature des données et des activités concernées. Le sujet de la mobilité des applications constitue une préoccupation majeure qui doit être adressée.
Les décideurs métiers doivent être capables d’aller capter de nouveaux marchés de plus en plus rapidement. La portabilité des applications devient un enjeu fondamental tout en préservant l’intégrité de la donnée. La capacité à déplacer les applications ainsi que les données qui y sont associées constitue un facteur de compétitivité important. Cette problématique est déjà bien connue dans le monde du Edge Computing, et notamment des opérateurs de télécommunications, mais c’est également le cas du secteur de la finance, aussi bien les banques que les assurances. Ces acteurs cherchent constamment à se rapprocher du marché qu’ils tentent de conquérir, que ce soit pour améliorer une expérience utilisateur ou avoir la possibilité de se déployer dans une nouvelle zone géographique pour satisfaire des contraintes règlementaires. Ce besoin de mobilité des applications se retrouve également dans certains secteurs verticaux et dans le retail et sera de plus en plus présent pour les secteurs d’activité où l’agilité est essentielle pour rester compétitif.
Bien gérer les données en production dans Kubernetes
C’est la raison pour laquelle l’ensemble des décideurs doivent se pencher sur la question de la gestion de la donnée en production dans le cadre de cette nouvelle plateforme cloud qu’est Kubernetes. C’est probablement la première fois sur le marché de l’IT qu’il existe une plateforme commune et complètement standardisée, capable d’unifier l’ensemble des Clouds. Que l’environnement Kubernetes soit déployé dans un cloud privé, public, souverain ou dans des scenarios de Edge Computing, l’API Kubernetes reste la même, quel que soit le fournisseur retenu (Red Hat, Suse, VMware, AWS, Azure, GCP ou encore OVH). Ce dénominateur commun vient accélérer et faciliter tous les enjeux autour du cloud hybride.
Parmi les diverses bonnes pratiques existantes pour s’assurer une adoption de Kubernetes réussie, dans un contexte hybride et multicloud, la mobilité est clé. La portabilité des applications permet de se rendre agnostique du cloud, de l’infrastructure et de la distribution Kubernetes qui peut être retenue à un instant du cycle de décision.
L’API Kubernetes, élément commun à tous les Clouds disponibles aujourd’hui, permet une standardisation des services proposé par la plateforme. Il s’agit d’abord de recourir à une méthode de sauvegarde de nouvelle génération garantissant la consistance de la donnée de bout en bout. La consistance au niveau applicatif est liée à la présence importante de bases de données dans ces applications dites cloud native.
Dans un deuxième temps, un plan global de reprise d’activité doit être mis en place pour répondre aux SLAs (Service Level Agreements) des environnements de production, avec la mise en place d’une automatisation afin d’éviter l’erreur humaine. Puis, dans un troisième temps, lors de la restauration de ces applications sur le site de destination, un mécanisme de transformation doit être enclenché pour rendre les applications compatibles avec l’environnement de destination. Une transformation qui s’avère parfois nécessaire car elle intègre les spécificités des services d’infrastructures source dans l’environnement de destination (nouveau type de stockage, réseau).
Quels critères fondamentaux pour le choix d’une plateforme ?
Le choix d’un service de stockage pour gérer les données sur ce type d’application doit faire l’objet de la plus grande attention. Afin de pouvoir supporter tout type de donnée et tout type d’application, le principal critère est de disposer de fonctionnalités de snapshot et de clone sur les volumes de données consommés par ces applications s’exécutant au sein d’une plateforme Kubernetes.
L’important est que la donnée soit au plus près de l’application, autrement dit à l’intérieur du cluster Kubernetes, afin de jouir de ces atouts sur la gestion du stockage. Cela permet de traiter l’ensemble des composants applicatifs et les données comme un tout, une unité opérationnelle qui simplifie les scénarios de mobilité. Dans le cas où la donnée se trouve à l’extérieur du cluster Kubernetes, il faut démultiplier les process et les efforts pour capturer d’un côté l’application, et de l’autre le service de données. Ce type de schéma est souvent hérité des équipes IT, encore bien trop souvent organisées en silos. Séparer les compétences stockage, DevOps et bases de données au sein d’une équipe se reflète inévitablement sur les choix d’architectures des applications.
Réussir sa transition vers le cloud native nécessité de dépasser les silos organisationnels afin de concentrer les compétences dans une équipe unique, tout en gardant la donnée à proximité de l’application. En effet, Kubernetes et son écosystème sont désormais prêts et matures pour cela. Cela consiste à réunir et unifier la donnée et l’application, seul moyen de bénéficier de la mobilité des applications dans les scénarios de cloud hybride. Cette unification de la donnée avec l’application constitue le sésame pour bénéficier de la mobilité des applications dans des scénarios de cloud hybride.
Tribune de Christophe Fontaine, Senior Regional Technical Sales Director Southern Europe and Africa de Veeam.

