Aborder la stratégie multi-cloud par le prisme des applications
En tant qu’architecte des grandes transformations, nous accompagnons les entreprises dans leur stratégie de cloud computing. Dans cette optique, nous avons créé un prototype applicatif permettant d’optimiser les stratégies multi-cloud.
Ce prototype apporte de la haute disponibilité, permet une gestion beaucoup plus simplifiée du cloud, faisant alors gagner un temps précieux pour la DSI.
Pour faire face aux nouveaux défis du multi-cloud, la capacité à développer des applications nativement multi-cloud apparaît comme une solution efficiente. Dominique Clairac, Leader Architecte Cloud chez onepoint à Toulouse, nous en dit plus.
Qu’est-ce que le cloud computing ?
En quelques années seulement, le cloud a totalement bouleversé les systèmes d’informations des entreprises en leur offrant une performance technique novatrice, sans limite de taille, de frontière ou de nombre d’usagers. De manière générale, “le cloud computing est un ensemble de solutions permettant de fournir différents services à la demande, au moyen d’Internet” nous explique Dominique Clairac. Les principaux domaines ayant été révolutionnés par l’utilisation du cloud sont la communication, avec notamment les applications de messagerie, d’appels audio et vidéo mais aussi le stockage de données accessibles sur n’importe quel support, le développement et l’utilisation d’applications et la création de jeux vidéo. Il existe trois types de cloud ; le public, le privé et l’hybride et chaque cloud peut être instancié de différentes manières (on premise, Cloud Services Provider, …). L’utilisation de plusieurs instances en simultané, appelée multi-cloud, s’est rapidement imposée aux entreprises désireuses d’obtenir de meilleures performances et une disponibilité plus importante. Une infrastructure multi-cloud comprend donc au moins deux instances de cloud différentes. Il peut par exemple s’agir d’un cloud privé et d’un cloud public ou bien de plusieurs clouds du même type. Ce système, quand il est bien géré, s’avère très efficace puisqu’il permet d’être flexible quant au choix des prestataires les plus performants, de sécuriser les données et de diminuer les ruptures de services.Pourquoi faire le choix d’une stratégie multi-cloud ?
Pour Dominique, “La volonté de disposer d’une capacité de débordement est souvent la première raison citée, elle implique une hybridation entre le cloud privé de l’entreprise et un cloud provider externe. Il est aussi fréquent de retenir plusieurs clouds providers car chacun présente des avantages sur des services spécifiques (un cloud provider pour la data, un autre pour l’IA…). De manière moins fréquente, on trouve la volonté de disposer d’un PRA (Plan de Reprise d’Activité) à l’échelle d’un fournisseur, car, même si les clouds providers proposent aujourd’hui des zones de disponibilités, une panne totale d’un service n’est pas à écarter.” Dans tous les cas, la mise en place d’une stratégie multi-cloud représente un investissement potentiellement important pour les entreprises. La gestion de plusieurs cloud providers, l’outillage nécessaire pour leur gestion, leur supervision et les différentes approches de déploiement imposent à l’entreprise une gymnastique souvent coûteuse. Cet investissement visant à maintenir plusieurs plateformes cloud pour faire « atterrir » les applications n’a pas de sens si les applications elles-mêmes ne sont pas prévues pour passer rapidement d’un provider à un autre sans surcoût ni délai. On retombe alors dans le vieux paradigme des serveurs d’applications, où les coûts de migration d’une application étaient souvent supérieurs aux économies de licence du serveur concurrent. Pour toutes ces raisons, la stratégie multi-cloud doit être réfléchie de manière globale, en identifiant les bénéfices attendus (sécurité, PRA, services, usages, coûts, …) afin de pouvoir valider qu’ils seront suffisants pour compenser les coûts de mise en œuvre et de gestion. Une stratégie multi-cloud ne doit pas devenir une réponse « passe partout » censée éliminer tous les problèmes. Son ROI doit être soigneusement évalué.Le rôle des applications dans une stratégie multi-cloud
Aussi paradoxal que cela puisse paraître, les applications jouent un rôle très important dans les stratégies Cloud, et à plus forte raison dans celles multi-cloud. “Vous pouvez automatiser tout ce que vous souhaitez et disposer des plus grandes ressources au monde, si votre application ne sait pas les gérer, cela ne servira à rien.” explique Dominique. Pour permettre l’absorption de la charge, l’amélioration de la performance ou encore la résilience d’une application, il existe de nombreuses méthodes, mais chacune de ces méthodes repose invariablement sur les deux mêmes prérequis :- Un sous-jacent fiable, élastique et automatisable
- Une architecture applicative adaptée à ce sous-jacent
Les principaux écueils rencontrés
Tout est histoire d’équilibre entre les équipes, et comme souvent dans ce cas, il existe de nombreuses façons d’échouer à la mise en œuvre d’une stratégie cloud / multi-cloud. Dominique rencontre le plus souvent :-
L’absence d’accompagnement à la conduite du changement
-
Déséquilibre côté OPS
-
Déséquilibre côté DEV
-
Absence de gouvernance
-
Perte de vue des objectifs
Les différentes catégories d’applications cloud
Les différentes catégories sont propres à chaque entreprise, en fonction de leurs contraintes et de leurs attentes. Mais Dominique explique qu’on retrouve généralement les catégories suivantes :- No cloud : Ne pouvant être déployées dans un cloud
- Cloud Ready : Compatible avec le cloud mais n’en tirant pas de bénéfice particulier
- Cloud Native : Conçue pour le cloud (scalable, automatisable, métriques adaptés…)
- MultiCloud : Conçue pour un déploiement à cheval sur plusieurs clouds
Les applications multi-cloud
Le principe fondamental d’une application multi-cloud est sa capacité à gérer la perte d’un cluster/cloud complet. Le système est en fait déployé sur plusieurs clouds, sans que cela ait un impact ou soit perceptible par l’utilisateur final. Concrètement, l’application peut être installée à cheval sur Google Cloud Platform et Amazon Web Services mais les utilisateurs ne voient qu’une simple application. Au-delà de répondre parfaitement aux questions de débordement cloud, cette application multi-cloud présente un réel intérêt côté coûts. En étant installée sur plusieurs providers, il devient alors possible d’augmenter le nombre d’instances sur chaque provider en ayant la capacité de passer d’un provider à un autre. Elle offre aussi une capacité de gestion des débordements totalement invisible pour l’utilisateur final. En outre, cette approche apporte plusieurs bénéfices à l’entreprise. Tout d’abord, le fait de posséder une capacité de panne plus importante augmente la résilience du produit et donc sa qualité. Puis, grâce à une gestion du multi-cloud simplifiée, le débordement d’un cloud à l’autre se fait automatiquement et participe à introduire plus de souplesse. Enfin, le pilotage par les coûts devient possible, il permet de définir le pourcentage de requête judicieux à diriger vers tel ou tel provider, ouvrant ainsi grand la voie vers le FinOps. Bien entendu, tout cela à un coût. Un coût applicatif puisqu’il est nécessaire de répondre aux trois principaux enjeux du multi cloud (le routage global, l’architecture et les données), mais aussi au niveau de l’infrastructure puisqu’il sera nécessaire de maintenir des composants sur plusieurs cloud, utilisant potentiellement des technologies différentes.Dominique nous partage sa vision sur ces sujets
”Onepoint m’a rapidement permis de travailler sur des sujets autour du cloud et/ou de la conteneurisation. En 2017, j’ai pu remarquer que les plateformes d’orchestration de conteneurs étaient souvent sous utilisées (peu d’utilisation des capacités de self–service, pas ou peu de cloud Hybride) et présentaient une complexité d’utilisation pour un public non technique. J’ai alors pu travailler, avec d’autres collègues et Red Hat, sur un démonstrateur MultiPaaS, qui proposait de déployer de manière simple les projets à base de conteneurs, sur plusieurs plateformes PaaS. Les équipes pouvaient créer des templates de projet, avec par exemple un front angular et un back java. Le démonstrateur offrait une interface qui permettait de saisir :- Le nom du projet.
- Le template du projet (type de projet)
- Le pipeline CI/CD (nombre d’environnements et règles de promotion)
- Pour chaque environnement du pipeline : La plateforme K8S à utiliser
Les questions à se poser pour définir une stratégie multi-cloud efficace
Analyser son aptitude au multi-cloud :
La première chose à savoir est si l’on souhaite se doter d’une capacité à faire du multi-cloud. Si oui, il sera alors important de définir le meilleur niveau de cloud, IAAS, PAAS ou SAAS. Dans le cas d’un cloud privé, le fournisseur et le consommateur étant souvent la même entreprise, cette différenciation est moins souvent utilisée. Elle existe parfois tout de même, notamment dans le cas de services différents, ou lorsque le cloud privé est externalisé de l’entreprise. Du point de vue de la sécurité, de la performance et des coûts, la DSI doit se poser trois questions essentielles :- Est-ce que je suis capable de gérer plusieurs plateformes de cloud ?
- Est-ce que je peux migrer d’un provider à un autre ?
- Est-ce que je maîtrise la sécurité informatique ?
- Accompagner les équipes au changement
- Mettre en place une gouvernance et lui donner les moyens d’appliquer sa politique
- Créer des synergies de travail entre les équipes en s’assurant que chacune trouve sa place et sa nouvelle posture
- Vérifier régulièrement que l’on ne s’éloigne pas des objectifs
En accompagnant les entreprises dans la bonne résolution de ces étapes, tant au niveau technique qu’humain, onepoint se positionne comme un partenaire proactif des stratégies multi-cloud. Pour les collaborateurs du groupe, il est important de participer à la bonne intégration du passage à ce modèle par l’ensemble des équipes car c’est le secret d’une transformation réussie.