Cloud : a quelles questions répondre avant d'héberger ses applications ?
La crise sanitaire a accéléré la transformation numérique des entreprises de 10 ans selon le Boston Consulting Group. Bon nombre d'entre elles ont fait le choix, ou s'y préparent, de faire le grand saut vers le cloud. A l'heure du "move to the cloud", il ne faut pas confondre vitesse et précipitation. Adopter le cloud suppose de se poser les bonnes questions, notamment en termes d'hébergement.
Si le cloud a de nombreux avantages, il traîne aussi une mauvaise réputation, notamment sur les modes de facturation obscurs, les dépenses cloud incontrôlées. Une récente étude Veritas révèle que 94% des répondants déclarent des dépenses cloud supérieures à celles qui étaient prévues. Pour ceux qui ont dépassé leurs estimations, ils affirment que le surcoût est de 43%. La maîtrise des coûts associés au cloud doit être votre priorité.
Cela sous-tend une vision exhaustive des ressources et applications que vous hébergez dans le cloud. Trop d'entreprises font le choix de migrer dans le cloud sans préparer réellement cette migration. Une erreur qui peut coûter très cher. Cela peut créer des problèmes de trésorerie, de maintenance et sécurité, avoir un impact négatif sur vos développeurs, vos clients et donc vos affaires.
Il y a de nombreuses questions à se poser avant d'héberger ses applications dans le cloud. Quel budget ? évidemment, mais aussi quelle technologie ? Quelles priorités ? quelles sont mes applications critiques et celles qui ne nécessitent pas de glisser vers le cloud ?
Voici comment procéder pour faire les bons choix en matière d'hébergement d'applications dans le cloud.
Hébergement cloud : faut-il opter pour un AirBnB ou un hôtel de luxe ?
L'hébergement cloud c'est comme dans la vie. Il ne faut pas vivre au-dessus de ses moyens.
Si l'hébergement en hôtel 5 étoiles fait souvent rêver, un AirBnB peut tout à fait convenir et répondre à nos attentes. L'adoption du cloud répond à la même logique. Il ne faut pas avoir les yeux plus gros que le ventre, sinon le "nuage" peut devenir tempête.
Il vous faut donc clairement identifier vos besoins, vos usages en fonction de vos contraintes budgétaires. Quel budget puis-je allouer ? Suis-je uniquement sur une problématique locale/nationale ou multi-pays ? Quelle est la sensibilité des données à gérer ?
En faisant appel à ces questions de bon sens, vous pourrez ainsi éliminer de votre benchmark les acteurs qui ne correspondent pas à vos besoins et contraintes. Par exemple, si votre activité est dite "critique" (armement, énergie, santé), vous avez l'obligation d'héberger vos données en France.
Ce qui réduit drastiquement la liste des cloud providers pouvant vous aider car tous n'ont pas de datacenters en France ou ne sont pas certifiés HDS (Hébergeurs de données de santé/ISO 27001. Seuls Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure et OVHcloud sont aujourd'hui certifiés HDS.
Autre exemple, si vous vous lancez dans l'e-commerce, est-il vraiment judicieux d'héberger ses données et applications sur Amazon Web Services (AWS) ? Amazon étant directement en concurrence avec vous.
Quelle est ma stratégie Cloud ?
En matière de cloud, établir en amont sa stratégie est indispensable. C'est comme votre parachute en chute libre, mieux vaut l'avoir préparé avant de faire le grand saut, sinon la chute sera rude. 2 approches s'offrent à vous.
Vous ne disposez pas de DevOps en interne : dès lors vous pouvez vous orienter vers l'utilisation de services managés. Ainsi vous simplifiez et surtout accélérez le déploiement et la gestion de vos applications. Seule contrainte : les services managés sont pour la plupart des services dits "propriétaires", ce qui vous contraindra à réaliser un "rework" de vos applications au moment où vous devrez migrer vers un autre Cloud Provider pour telle ou telle raison.
Vous disposez de toutes les compétences techniques en interne : dans ce cas, privilégiez la stratégie "Cloud Agnostic" avec le recours à des services open source. Si cette approche est plus complexe au démarrage, elle a l'avantage par la suite de réduire drastiquement le coût de migration.
Il n'y a pas de bonne ou mauvaise approche, votre choix doit se faire en fonction de votre contexte. Le choix d'un Cloud Provider est avant tout déterminé par des contraintes business, réglementaires mais aussi organisationnelles. Ce sont vos contraintes techniques qui vous aideront ensuite à finaliser votre décision.
Hébergement de vos applications : comment vais-je procéder ?
Tout d'abord, conteneuriser ses applications est un pré-requis. Cela vous permettra de rendre votre logiciel modulaire, portable et standardisé. Ainsi, il peut être déployé sur n'importe quel environnement informatique et permet de gagner du temps. Vos développeurs vous remercieront. Après cette étape, vient celle du choix du type d'hébergement.
Vous êtes dans l'univers du gaming, du trading haut fréquence, vous pouvez opter pour l'hébergement de vos applications sur du bare metal, c'est-à-dire des serveurs physiques. Performance et sécurité sont au rendez-vous mais attention tout de même : la maintenance, qui peut être à votre charge, est assez complexe et peut devenir très coûteuse et chronophage.
Autre option, héberger vos applications et conteneurs sur des Machines Virtuelles (VMs). Grâce à la technologie de virtualisation et à leur hyperviseur, vous pourrez exécuter plusieurs applications et les faire cohabiter sur une seule et même VM. L'avantage de cette approche est qu'elle est très simple à mettre en place et pratique pour les applications pour lesquelles on veut faire du lift&shift car proche de ce que l'on retrouve on premise. En revanche, toutes les forces du cloud (et notamment les services managés) ne sont pas utilisées.
Le serverless est aussi une alternative à considérer. Elle vous permet de déployer votre code très facilement. Dès qu'il est prêt à l'emploi, vous pouvez le confier au Cloud Provider qui se chargera de le déployer sur des serveurs, sans avoir à vous soucier de leur configuration, du scaling ou de la sécurité, qui sont à sa charge. Un gain de temps non négligeable et des gains de productivité accrus puisque vous n'avez qu'à vous consacrer à la conception de votre application.
Autre avantage du serverless : sa facturation. Il se fait à la requête, en fonction du niveau de trafic de vos applications. Pour les structures disposant d'un budget faible, n'ayant pas d'Ops et dont le trafic des applications est aléatoire (pics saisonniers), le serverless est l'approche à adopter. Cloud Run de Google Cloud Platform (GCP), Fargate d'AWS et Heroku sont sont à regarder de près.
Dernière option : l'hébergement de vos applications conteneurisées sur le système open source Kubernetes (K8) qui permet de faire du sur mesure pour son équipe (stack de logging, monitoring, CI/CD) d'automatiser le déploiement, la scalabilité et la gestion de vos applications conteneurisées.
Cette option est à privilégier lorsque vous avez les compétences et de fins connaisseurs de cette technologie en interne, de nombreuses applications à héberger, que vous souhaitez être Cloud Agnostic ou bien encore quand vous voulez faire des environnements à la volée.
Les meilleurs Cloud Providers pour héberger des clusters Kubernetes sont : en premier GCP (ils ont inventé la technologie !) puis AWS et Microsoft Azure. Vous pouvez également faire le choix de partir sur Scaleway, Alibaba Cloud ou encore Oracle Cloud qui proposent également ce type d'hébergement.
Après avoir répondu à ces questions ci-dessous, classifiez vos applications en fonction de leur criticité, celles qui sont core business ou non. Faites un état des lieux et triez les en 3 catégories pour savoir si elles doivent migrer dans le cloud on non :
> Celles que vous voulez laisser dans leur datacenter, parce que vous prévoyez de les abandonner, ou de les rendre cloud native. Ce serait perdre votre temps car ceci est chronophage et demande beaucoup de formation.
> Celles que vous ne comptez pas faire évoluer, ces applications dont vous voulez vous épargner la maintenance. Mieux vaut faire du lift & shift et les migrer en l'état sur des VMs.
> Celles qui occasionnent un fort trafic, sur lesquelles le déploiement de nouvelles fonctionnalités est important. Ici, il est recommandé de les migrer pour gagner en optimisation, maintenance, productivité et agilité.
Vous l'avez compris, le choix d'hébergement dépend de votre budget, de votre contexte/marché, des compétences dont vous disposez. Rien ne sert de vouloir tout mettre dans le cloud. Vous perdrez un temps précieux, de l'argent, voire vos développeurs qui vous taxeront d'amateurisme ou d'un manque d'ambition technique, en vous voyant faire le soi-disant choix de la facilité, plutôt que de chercher à simplifier leur quotidien et améliorer leur quotidien professionnel.
Sur le même thème
Voir tous les articles Cloud