Publié le 10 novembre 2022, mis à jour le 1 février 2023.
Depuis sa création en 2018, Padok a accompagné plus d’une centaine de clients dans leurs différents projets d'infrastructures Cloud en les conseillant à chaque fois sur le fournisseur de Cloud (privé / public) qui répondait au mieux à leurs critères.
Dans cet article, on vous propose de lister les 3 étapes à suivre pour choisir le type d'hébergement d’applications le plus adapté à vos besoins.
1ère étape : quelles sont mes contraintes “business” ?
Dans un premier temps, il est essentiel d’identifier toutes les contraintes “business” auxquelles vous êtes confronté. Cela vous permettra d’éliminer rapidement certains acteurs et de se concentrer sur ceux qui restent.
Vous pouvez commencer par vous poser les questions suivantes :
- Quel est mon budget ?
- Est-ce que je dois héberger des données dans certains pays en particulier ?
Typiquement, si votre activité est considérée comme stratégique à l’échelle nationale (par exemple les secteurs de l’armement ou de l’énergie). Vous aurez l'obligation d’héberger vos données en France. Tous les Cloud Providers n’ont pas de datacenters en France.
- Est-ce que je gère des données sensibles ? Si oui, est-ce que je dois par exemple héberger mon application chez un Cloud Provider certifié Hébergeurs de Données de Santé (HDS) et ISO 27001 ?
Seuls Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure et OVHcloud sont aujourd’hui certifiés HDS.
- Est-ce que mon domaine d’activité entre en conflit avec un Cloud Provider ?
Par exemple, si vous vous lancez dans le e-commerce ou la logistique, vous n’aurez peut-être pas envie de partir sur AWS pour des raisons évidentes : votre business étant en concurrence directe avec Amazon.
2ème étape : quelle est ma stratégie Cloud ?
Dans un second temps, il s’agit de choisir la stratégie Cloud que vous souhaitez adopter pour votre entreprise. Il est possible d’opter pour deux approches différentes :
- Dans le cas où je n’ai pas de DevOps en interne, je vais avoir tendance à me tourner vers l’utilisation de services managés. Cela va me permettre de simplifier et surtout d’accélérer le déploiement et la gestion de mes applications. C’est crucial notamment lorsque je démarre un business ! La contrainte : les services managés sont très souvent des services propriétaires. Autrement dit, je serais contraint de réaliser un “rework” de mes applications le jour où je devrais migrer vers un autre Cloud Provider pour x ou y raisons.
- À l’inverse, si j’ai les bonnes compétences techniques, je vais plutôt privilégier une stratégie “Cloud Agnostic” avec le recours à des services open source. C’est une approche qui sera certainement plus exigeante au début mais qui aura par la suite l’avantage de réduire considérablement le coût de migration.
Avec le recul, ces 2 stratégies se valent l’une comme l’autre : votre choix doit donc se faire en fonction de votre contexte.
Contrairement à ce que l’on pourrait croire, vous comprenez maintenant que le choix d’un Cloud Provider est d’abord fortement orienté par des considérations avant tout business, réglementaires et aussi organisationnelles. Ce sont vos contraintes techniques qui vous aideront ensuite à finaliser votre décision.
3ème étape : comment vais-je héberger mes applications ?
Premièrement, chez Padok, on va souvent conseiller à nos clients de conteneuriser leurs applications. C’est une bonne pratique qui, selon nous, présente de nombreux avantages quel que soit votre cas d’usage. Pourquoi ? La conteneurisation permet de rendre un logiciel modulaire, portable et standardisé afin qu’il puisse être facilement déployé sur n’importe quel environnement informatique. C’est donc un gain de temps considérable pour les développeurs !
Ensuite, une fois que vous avez conteneurisé vos applications, vous aurez le choix entre plusieurs types d’hébergement qui vont chacun répondre à certains cas d’usages plus qu’à d’autres :
Héberger vos applications sur du bare metal
Le bare metal consiste à héberger vos applications directement sur des serveurs physiques. L’avantage ? Une performance et une sécurité élevées puisque les serveurs physiques allouent toutes les ressources à un locataire unique.
En revanche, la contrepartie de ce choix est qu’il demande une maintenance compliquée. Si cette dernière est à votre charge, elle peut devenir vite coûteuse à la fois en argent et en temps.
Ce type d’hébergement est recommandé si vous évoluez dans des secteurs d'activité très spécifiques (comme l’industrie du jeu ou par exemple le trading haute fréquence) qui nécessitent un très fort besoin en performance et en sécurité.
Héberger vos applications sur des Machines Virtuelles (VMs)
Les VMs découlent de la technologie de virtualisation qui permet à plusieurs applications, fonctionnant initialement sur des machines physiques différentes, de s'exécuter et de cohabiter sur une seule et même machine grâce à une couche logicielle appelée hyperviseur. Vous pouvez tout à fait héberger vos conteneurs sur des VMs.
Maintenant, si les VMs sont un peu moins performantes que le bare metal en raison de la couche d’abstraction supplémentaire entre le hardware et le software elles vont, par contre, faciliter la vie des développeurs. En effet, en isolant les machines virtuelles les unes des autres, chaque développeur a son environnement dédié avec ses propres bibliothèques. Elles vont aussi permettre de réduire les impacts en cas de défaillances de sorte que si l’une des VMs échoue ou est compromise, les autres continuent à fonctionner.
Les meilleurs Cloud Providers pour héberger vos applications sur des VMs sont : AWS, GCP puis Microsoft Azure. En France, OVHcloud et Scaleway proposent également des offres attractives.
Héberger vos applications en serverless :
Le serverless est une troisième alternative qui vous permet de déployer votre code très facilement : une fois que le code que vous avez écrit fonctionne, vous avez seulement à le donner au Cloud Provider qui va ensuite se charger de le déployer sur des serveurs. Vous n’avez pas à vous occuper de leur configuration : c’est lui qui assure la haute disponibilité, le scaling et la sécurité de l'infrastructure. En tant que client, vous pouvez donc vous concentrer exclusivement sur la conception de votre application.
Le serverless se démarque des autres types d'hébergements grâce à son modèle de facturation à la requête qui vous permet d'optimiser vos coûts : si le trafic sur vos applications est faible, vous n’aurez quasiment rien à payer.
Donc si vous avez un petit budget, que vous n’avez pas d’Ops en interne ou que vous avez un trafic très variable avec de gros pics de charge, le serverless est un choix très pertinent : GCP avec son service Cloud Run est clairement l’une des meilleures options. AWS avec son service équivalent Fargate et même Heroku sont également de très bons choix.
Maintenant si l’une de vos priorités est d’être Cloud Agnostic, on vous déconseillera certains services de type Lambda (AWS) par exemple. En effet, ces services serverless impliquent l'utilisation de services managés qui, comme expliqué précédemment, rendra très compliquée la migration de vos applications vers un autre Cloud Provider sans avoir à réécrire potentiellement une grande partie de votre code.
Héberger vos applications sur Kubernetes :
Enfin, vous pouvez héberger vos applications conteneurisées sur Kubernetes. Né initialement d’un projet lancé au sein de Google, Kubernetes est un système aujourd’hui open source qui permet d'automatiser le déploiement, la scalabilité et la gestion de vos applications conteneurisées.
On vous conseillera de partir sur du K8s dans les cas suivants :
- Vous avez beaucoup d’applications à héberger
- Vous voulez être Cloud Agnostic
- Vous voulez faire des environnements à la volée
- Surtout quand vous avez en interne un ou plusieurs Ops qui savent utiliser la techno K8s
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.
Conclusion
Finalement, vous l’aurez compris, le choix du type d’hébergement pour vos applications passe avant tout par une étape de réflexion sur vos priorités business, les contraintes techniques n’arrivant que dans un second temps. Après la lecture de cet article, si vous vous posez encore des questions quant à la meilleure stratégie Cloud à adopter pour votre entreprise, vous pouvez contacter nos équipes qui se feront un plaisir de vous conseiller.