Le passage au Cloud est devenu une nécessité pour de nombreuses entreprises. Le Cloud apporte une flexibilité cruciale pour la productivité, la collaboration et l'innovation.
Mais cette flexibilité crée de nouveaux problèmes. Selon une étude de RightScale, les entreprises dépensent dans le Cloud 35% de trop.
Mais c'est une situation qui peut être évitée avec le FinOps. Avec ce guide, vous allez comprendre tout ce qu'il faut pour le mettre en place dans votre entreprise.
Sans plus attendre, on commence avec ce guide !
FinOps est la pratique de la gestion financière efficient du Cloud.
A la manière du terme DevOps (mix entre développement et opérations), le FinOps lie les aspects financiers et opérationnels. (finance et ops)
Avec le FinOps, une collaboration étroite est mise en place avec des professionnels business, financiers et technologiques pour gérer les coûts du Cloud.
De nombreux défis émanent des coûts du Cloud, qu'on passera en revue plus tard dans l'article et le FinOps permet de les résoudre. Pour mettre en place les bonnes pratiques, nous vous recommandons de suivre ces 4 étapes :
Le passage au Cloud peut s'accompagner d'une augmentation des coûts par rapport à un système on-premise.
Mais ce n'est pas toujours le cas et il est nécessaire de comprendre pourquoi les coûts peuvent exploser pour pouvoir être dans les meilleures conditions pour les maîtriser.
Avec une solution on-premise, vous devez payer les serveurs, l'équipement réseau (câble, routeurs, etc), l'électricité, la main d'oeuvre, l'espace loué dans un data center et le coût de dépréciation du hardware.
A l'opposé, les serveurs dans le Cloud sont régulièrement mis à jour et il est facile de migrer d'un serveur à un autre plus performant ou alors de rester sur le même à un moindre coût.
De ce fait, le Cloud est une solution qui sera plus économique. Pour mieux comprendre ces coûts, nous vous conseillons la lecture de l'article suivant : Does Amazon Web Services Pricing Follow Moore's Law?
Well-run cloud services with a dedication to ever-better operations and customer price reductions, not only reduce prices as quickly as Moore's Law for core components; they reduce prices for everything else too.
Mais alors d'où vient l'augmentation des coûts si cela ne vient pas de l'infrastructure ?
Avec le on-premise, il est nécessaire de planifier les besoins d'un projet avec précision.
Au vu de tout ce qui doit être acheté, mis en place et configuré, faire une erreur sur les besoins d'un projet aurait de lourdes conséquences.
Et il en va de même sur la validation d'un projet. Avec le on-premise, mieux vaut être sûr de la solidité du projet avant de le valider, car une erreur ici causerait de gros problèmes de budget pour les autres projets.
Mais avec le Cloud, valider un projet a un impact sur le budget bien moins important. On peut donc prendre plus de risques et donner le feu vert pour des projets qui n'auraient pas été validés avant le passage au Cloud.
Des coûts d'infrastructure et de main d’œuvre moins important mais plus de projets et c'est pourquoi le budget IT peut facilement dérailler.
Surtout que la planification des coûts du Cloud est plus difficile !
Avec le paiement à la consommation pour tous les services que l'on doit utiliser pour chaque projet, c'est d'une magnitude plus compliquée de prédire les coûts qu'avec des serveurs ou autre équipement ou service que l'on achète à un prix fixe.
Entre la validation de plus de projets et la planification des coûts qui est plus difficile, de nombreuses entreprises ont donc des problèmes avec leurs dépenses IT.
Et cela a un impact sur la transformation numérique des entreprises qui vont devoir passer au Cloud. Ces coûts sont vus comme imprévisibles et font peur retardant cette transformation.
Bien sûr, ce n'est pas imprévisible mais plus difficile à calculer qu'avant. Et c'est pour cela que le FinOps est essentiel.
Maintenant que vous avez bien en tête les enjeux du FinOps, reprenons les 4 étapes définies dans la définition et explorons-les plus en détails.
Dans cette partie, vous allez lister tous les projets et les ressources qui sont utilisées pour chaque projet.
Une optimisation possible à ce moment-là est de comparer les objectifs business avec chaque projet pour savoir si certains ne devraient pas être arrêtés.
Comme dit dans la section précédente, le Cloud a permis de donner le feu vert à plus de projets mais ce n'est pas une raison pour les garder en vie quand l'échec est inéluctable.
Une fois que tous les projets et les ressources ont été cartographié, il est important d'avoir de la visibilité sur ce qui se passe.
Etre en capacité de facilement savoir ce qui est sous-utilisé et ce qui coûte trop cher permettra d'optimiser plus rapidement.
Pour cela, plusieurs moyens peuvent être mis en place :
Les 2 premières étapes vous donneront toutes les informations pour commencer à optimiser vos dépenses. Voici les principales optimisations que vous pouvez faire.
Optimiser les serveurs
Vous pouvez par exemple éteindre les serveurs non-utilisés.
Avec le contrôle mis en place à l'étape précédente, vous pouvez aussi facilement savoir si un serveur est sous-utilisé et peut donc être redimensionné.
Pour les serveurs de développement et de test, une optimisation possible est de les éteindre quand ils ne sont pas utilisés, typiquement le week-end quand personne ne travaille.
Serverless
Au lieu d'utiliser une solution IaaS, un PaaS vous permet d'économiser de la main d'oeuvre et peut créer des économies dans de nombreux cas.
Avec une solution FaaS, les serveurs ne sont pas toujours allumés ce qui peut créer des économies. C'est une solution de plus en plus utilisée dans des cas tels que :
Scalingo est une solution serverless et nous avons récemment publié un guide sur le sujet si vous voulez mieux comprendre les économies liées au serverless.
Optimiser le stockage
Le stockage des données dans une base de données coûtera plus cher que dans un service de stockage résilient.
Optimiser le stockage en base de données et migrer les données qui n'y ont plus leur place dans un système moins cher vous permettra de faire des économies.
Optimiser le traffic
Le traffic venant de vos visiteurs, utilisateurs et clients peut coûter très cher. Une optimisation au niveau du code peut être faite pour réduire les requêtes à la base de données ou pour ajouter du cache aux bons endroits.
Une solution comme Cloudflare, que Scalingo recommende, vous permettra encore d'autres optimisations :
Promotions
Plusieurs plateformes de Cloud ont une offre gratuite, limitée dans les ressources pouvant être utilisées mais aussi dans le temps où cette offre est disponible.
Si vous êtes une startup, les incubateurs et autres programmes pour startups incluent souvent des promotions et des crédits pour différents services.
Par exemple, Scalingo a des partenariats avec le Wagon, Belle de Mai et bien d'autres incubateurs. Vous pourrez bénéficier de remise si vous êtes membre.
Bien documenter tout ce qui a été fait dans les étapes précédentes est crucial pour que les pratiques FinOps puissent être répétées dans la durée et vous donnera l'assurance dans vos dépenses Cloud.
Avec une base de connaissances des ressources de chaque projet, les différentes méthodes d'optimisation et les données du monitoring, toutes les informations sont facilement partagées avec toutes les personnes concernées.
Une culture du FinOps se développera en continuant les efforts d'optimisation à long terme.
Enfin, en désignant des responsables pour la gestion des ressources Cloud, vous saurez vers qui vous tourner quand vous avez des questions.
Cela vous permettra aussi de restreindre l'accès à la gestion des ressources ce qui évitera de possibles incidents.
Pour résumer, mettre en place une gouvernance pour les pratiques FinOps vous permettra de :
Studo est une application qui permet aux étudiants autrichiens de gérer leurs études en ligne. Avec une croissance rapide, le traitement des données a rapidement pris plus de temps et l'architecture pour ce traitement devait changer.
Toutes les tâches récurrentes et de traitement de données étaient exécutées sur un seul serveur et exécuter chaque tâche dans un serveur différent aurait coûté très cher.
En effet avec des serveurs normaux, ils ne s'éteignent pas quand la tâche est terminée. Ce qui veut dire qu'il faut payer pour un serveur tout le mois pour une tâche qui ne s'exécute que tous les jours ou même toutes les heures.
Mais avec Scalingo, Studo a été capable d'utiliser des serveurs éphémères, que nous appelons conteneurs one-offs.
Grâce à cette fonctionnalité, un conteneur est créé pour exécuter chaque tâche et il s'éteint quand la tâche est terminée.
Que la tâche ait duré 15 secondes ou 30 minutes, Scalingo facture uniquement le temps d'exécution du conteneur one-off, à la minute près (toute minute commencée est due).
Il est extrêmement simple d'utiliser des conteneurs one-offs. Cela fonctionne très, très bien ! – Zoltan Sasvari, développeur backend chez Studo
Retrouvez les détails de cet exemple dans notre étude de cas Studo.
HomeCinéSolutions est un site d'e-commerce dans la hi-fi et le home cinéma. Le Black Friday est donc bien sûr une période extrêmement importante avec un pic de traffic vertigineux pendant juste quelques jours.
Ils avaient auparavant des serveurs dédiés qui étaient dimensionnés pour pouvoir tenir le choc du Black Friday. Ils payaient donc pour des ressources sous-utilisées la plus grande partie de l'année.
Avec Scalingo, aucune ressource n'est sous-utilisée et le scaling automatique permet de gérer les pics de traffic sans dépense superflue.
Par rapport à nos serveurs dédiés et malgré Docker et toute l’infrastructure mise en place chez Scalingo la perte de performance a été imperceptible ! Entre la scalabilité, l’isolation, la souplesse de la plateforme, et l’orchestration très bien faite, bravo ! – Clément Joubert, CTO de HomeCinéSolutions
Retrouvez les détails de cet exemple dans notre étude de cas HomeCinéSolutions.
Dernier Cri est une agence web basée à Paris, Lille et Bordeaux. Ils gèrent plusieurs dizaines de projets chaque année.
Cela pourrait paraître beaucoup de travail d'administration système. Et pourtant, une seule personne s'occupe du DevOps, et ce n'est que 20% de son temps.
Mais la situation n'a pas toujours été comme ça. Avant Scalingo, la gestion de VPS avait ses limites. Entre l'oubli occasionnel de la gestion de backups ou le manque de plan de reprise d’activité, le coût additionnel en main d'oeuvre que représenter cette gestion les a poussés à utiliser Scalingo.
Avec Scalingo, l'économie vient aussi grâce à un support performant et très réactif.
Quand on a un buildpack qui ne passe pas. Quand tu peux avoir des projets un peu complexes. On a déjà eu des gars de votre équipe pour nous aider à regarder ce qu’on pouvait faire pour améliorer le buildpack et faire en sorte que notre architecture particulière puisse passer. Ça c’est différenciant. – Robin Komiwes, co-fondateur de Dernier Cri
Retrouvez les détails de cet exemple dans notre étude de cas Dernier Cri.
Les entreprises de toute taille peuvent bénéficier du FinOps.
Après tout, les économies sont les bienvenues que l'on soit tout petit ou que l'on pèse plusieurs millions d'euros.
Voici les 3 conseils qui sont pour nous les plus importants pour la réussite du FinOps dans votre entreprise.
Et c'est même essentiel de commencer le plus tôt possible. Parce que plus on attend, plus il sera difficile de créer une culture FinOps.
Le processus d'optimisation peut être très long quand il y a beaucoup de ressources Cloud utilisées et qu'il faut tout comprendre, contrôler et optimiser.
En commençant plus tôt et en veillant à ce qu'une gouvernance se fasse sur le sujet, les pratiques FinOps seront bien plus facilement suivies.
Si vous commencez à implémenter le FinOps quand les choses ne vont plus, cela va paralyser toute l'entreprise.
Si les dépenses explosent et qu'il faut pouvoir récupérer le contrôle, cela amènera un gel des projets et donc de l'innovation.
Et comme optimiser les dépenses Cloud n'est pas un exercice simple et prendra du temps, la situation pourrait avantager votre concurrence.
Il ne faut pas non plus se décourager devant le travail à effectuer. Le bénéfice est considérable et le FinOps peut être implémenté de manière graduelle.
Commencez par exemple par des petits projets pas très critique. Une fois que le succès est au rendez-vous pour ces projets, prenez-les en exemple pour faire accepter le FinOps sur des projets plus importants.
Avec le FinOps, vous pourrez optimiser les dépenses liées au Cloud et être à même de mieux planifier et contrôler les budgets de chaque projet.
Bien comprendre et contrôler les ressources Cloud utilisées avant de les optimiser vous permettra d'avancer avec confiance.
De plus, certaines optimisations peuvent aussi vous rendre la gestion du Cloud plus facile, ce qui vous permettra de vous concentrer sur la valeur de vos projets au lieu de vous soucier de la maintenance.
Créer une culture du FinOps vous assurera des bénéfices sur le long terme et plus tôt cette culture est en place, moins la transition sera difficile.
Image Micheile Henderson sur Unsplash.
Chez Scalingo (avec nos partenaires), nous utilisons des traceurs sur notre site.
Certains, essentiels et fonctionnels, sont nécessaires au bon fonctionnement du site et ne peuvent pas être refusés.
D'autres sont utilisés pour mesurer notre audience, entretenir notre relation avec vous et vous adresser de temps à autre du contenu qualitatif ainsi que de la publicité.