Finops : les meilleures pratiques pour optimiser les coûts du cloud public

Finops : les meilleures pratiques pour optimiser les coûts du cloud public Recours à l'IA, monitoring, design d'infrastructure... Le finops recouvre un large panel de bonnes pratiques. Le point sur les principales d'entre-elles.

Le DevOps a eu pour conséquence d'ouvrir les vannes du cloud aux équipes de développeurs, la plupart du temps sans garde-fou. Principale conséquence : une explosion de la consommation en ressources IT et donc un accroissement significatif des coûts. Des tarifs qu'il faut désormais apprendre à maîtriser. Voici un aperçu des meilleures pratiques, allant des méthodes de base aux techniques les plus avancées.

Travailler en amont

Dans une approche de migration vers le cloud, il est conseillé de plancher sur le finops en amont du chantier. "Ce qui permet dès le départ de se rendre compte des bénéfices comparé au coût du projet", justifie Gilles Dutertre, leader finops & agile@scale chez Devoteam. Dans le cas d'une migration brute (ou lift & shift), on se contentera d'optimiser la puissance de calcul et de stockage, en retenant finement les types d'instance adaptés. "Dans ce cas de figure, on constate en général 30% de gain sur la facture en moyenne", indique Jérôme Loridan, head of marketing professional services chez Orange Business.

Activer et réactiver les applications

Typiquement, une équipe de développeurs ne travaille pas la nuit ni le week-end. Son environnement cloud pourra donc être désactivé sur ces plages horaires. Idem pour beaucoup d'autres applications d'entreprise. "Cela aboutit à une optimisation des coûts d'environ 50%, toujours en termes de consommation de ressources", estime Gilles Dutertre. De même pour les sauvegardes qui ne sont pas régulièrement purgées. "En prenant en compte en plus cet aspect, on peut parvenir à des coûts en baisse de 70%", note Jérôme Loridan.

Redimensionner les ressources

Il est possible par ailleurs de paramétrer les infrastructures pour les redimensionner en fonction des besoins. "On configure un seuil qui n'a pas d'impact sur l'application. Si l'on observe que ce seuil est atteint, on peut générer un redimensionnement à la volée ou modifier le choix des VM", explique Thomas Sarrazin, cloud advisor, finops certified practitioner et chief architect chez Capgemini. "Dans cette optique, il est important d'instaurer un dialogue entre les responsables du finops et les responsables d'applications car au final ce sont ces derniers qui possèdent la meilleure vision sur le trafic à venir."

Monitorer les systèmes

Le finops passe par une surveillance des dépenses cloud en temps réel. "Dans ce cadre, il est primordial d'étiqueter les applications et ressources associées pour savoir à quoi elles correspondent et qui les consomment. Le mieux étant de réaliser ce taggage dès la phase de développement", précise Gilles Dutertre.

Recourir au machine learning

Utilisant les données des distributeurs pour proposer des activations personnalisées aux marchants sur les canaux de commerce et applications, la martech française Lucky Cart a recours au machine learning pour détecter le coût de chacune de ses opérations cloud. "Cette technique nous a permis de cerner à quoi chaque opération faisait référence", précise Lamia Benaouali, senior ML engineer pour Lucky Cart. Chez Capgemini, on analyse déjà l'impact de l'IA générative sur le finops, à la fois en termes de reporting et de prise de décision. "Dans le futur, la GenAI pourrait permettre de prédire la consommation de ressources machine, voire directement de prendre des décisions en termes d'optimisation", espère Thomas Sarrazin.

Choisir un environnement adapté à chaque workload

Plutôt que de s'orienter vers la migration d'une application en l'état qui se limitera à l'optimisation des machines virtuelles, il sera évidemment plus intéressant en termes de coûts de réécrire le code pour bénéficier de toutes les ressources du cloud ciblées en termes de finops. "Cette approche sera réservée aux entreprises prêtes à utiliser le Kubernetes as a Service ou le Fonction as a Service. Des architectures qui sont bien mieux optimisées en termes de consommation et de dimensionnement automatique que les VM", constate Jérôme Loridan, avant de prévenir : "Ce type de démarche nécessite néanmoins un investissement substantiel."

Découper les données en tranche

"Notre principal axe d'optimisation consiste à séparer les données en trois strates : une couche de données transactionnelles, c'est-à-dire correspondant aux informations les plus brutes, une couche de données propres et requêtables, utiles à la recherche par exemple, et, enfin, une couche de données agrégées destinées à des usages analytics", détaille Lamia Benaouali. Une méthode très utile quand, à l'instar de Lucky Cart, le volume d'informations à traiter représente 20 milliards de lignes de tickets de caisse. "Si les datas n'étaient pas découpées, il faudrait tout scanner pour récupérer le contenu recherché. Ce qui n'est pas réaliste en termes de coûts", affirme Lamia Benaouali. "En partant de notre méthode, nous divisons le tarif de lecture de la donnée au prorata."

Refacturer les ressources en interne

La refacturation interne est une autre bonne pratique du finops. "Elle permet de sensibiliser les équipes sur les coûts du cloud, et sur l'importance d'intégrer un travail d'optimisation du code dès les phases de développement des applications", constate Gilles Dutertre chez Devoteam.

"Toujours en matière d'acculturation, nous recommandons de travailler par cycle, depuis l'optimisation de la mesure de la performance jusqu'à la diffusion de la culture finops dans les équipe de développement. Plus les programmeurs seront sensibles à la démarche, mieux les scripts et les structures de données seront optimisés", affirme Lamia Benaouali.

Accompagner le finops d'une démarche de GreenIT

"Chez Orange Business, nous recommandons aux clients de s'orienter vers un éco-design de leur application, à la fois en ligne avec une démarche finops mais également de Green IT. Cette approche peut conduire à elle seule à des économies de 60%", explique Jérôme Loridan. Sans compter la sensibilité des jeunes générations de développeurs aux enjeux écologiques. Un élément qui peut servir de base pour les sensibiliser au finops dans une logique d'acculturation.

Utiliser les instances réservées

Chez Lucky Cart, une partie des calculs est prise en charge par des instances réservées. "Sachant que nous nous réservons la possibilité de réaliser une allocation dynamique de ressources par-dessus via des instances préemptives", détaille Lamia Benaouali. De son côté, Jérôme Loridan relativise : "Les instances réservées sont certes moins chères, mais par définition elles impliquent d'être payées sur la durée. Ce qui peut devenir pénalisant financièrement si elles ne sont pas utilisées. C'est une démarche qui est également contraire aux pratiques du Green IT."

Thomas Sarrazin insiste : "Les instances réservées vont permettre de bénéficier de coûts en baisse jusqu'à 75% via des engagements d'un an à trois ans. La réservation de ces instances sera par définition centralisée et décidée par l'équipe finops ce qui implique d'avoir une vision globale sur les besoins en termes de ressources à moyen terme."

Détecter les variations inhabituelles de coûts

Autre bonne pratique : être attentif aux variations inhabituelles de coûts. Ces écarts peuvent signaler des inefficacités ou des ressources non-autorisées. "Cela passe par l'intégration dans un outil de monitoring de prévisions mensuelles ou trimestrielles avec des mécanismes d'alertes en fonction de seuil de consommation de ressources prédéfinis qui arrivent à échéance. Et ce en vue d'éviter des dérives qui peuvent avoir des conséquences profondes sur la facturation", indique Gilles Dutertre. "Côté technique, ce reporting va permettre d'optimiser la puissance des processeurs et le volume de l'espace disque, en vue d'éviter des dépassements, notamment dans le cas où une transaction unitaire sur des volumes massifs de trafic peut faire passer la tarification à un palier supérieur, avec un impact non-négligeable sur la facture."

Utiliser des niveaux de stockage moins coûteux

Pour les données rarement consultées, il est conseillé d'opter pour des niveaux de stockage froids, par définition moins chers. Le cloud offre des disques SSD très rapides, mais chers, versus des disques plus classiques avec un coûts plus raisonnable. "On aura tendance à stocker les données chaudes très utilisées sur les premiers, et les données froides moins régulièrement requêtées sur les seconds", souligne Gilles Dutertre.

Instaurer une logique d'amélioration continue

Une démarche de finops s'inscrit dans une logique d'amélioration continue. Le travail de monitoring et d'observabilité se pratique au quotidien. "Au fur et à mesure de la réécriture et du développement de code, les responsables applicatifs auront à suivre les usages au fil de l'eau et proposer en permanence de nouvelles améliorations", pointe Thomas Sarrazin. "L'équipe finops devra quant à elle analyser les nouveaux services des fournisseurs de cloud et mesurer leurs impacts potentiels en termes de coûts." Elle pourra proposer dans la foulée au responsable applicatif de nouvelles bonnes pratiques pour optimiser l'usage de ces services.