
Lors de l’AWS Summit Paris,Thomas Barandon, Senior Technical Account Manager AWS, et Fouad Maach, Head of Group MoveToCloud Veolia, nous ont partagé les bénéfices de la mise en place d’une démarche FinOps pour réaliser une bascule de toute ou partie de votre infrastructure vers le cloud. Retour en quelques lignes sur leurs bonnes pratiques d’optimisation des coûts grâce au FinOps.
AWS et la démarche DevOps en quelques chiffres
Revenons tout d’abord sur quelques chiffres. En 2017 AWS lançait 1430 nouveaux services ou fonctionnalités, et 1950 autres en 2018. DevOps pose de nombreux challenges avec des milliers d’équipes « pizza team », la livraison continue, des milliers de micro services, un nombre d’environnements important, plusieurs types de déploiement, des millions de déploiements par an pour Amazon. Mais DevOps, c’est aussi 30 fois plus de déploiements réalisés pour 60 fois moins d’incidents, 440 fois moins de temps pour délivrer, 21% de tâches non prévues éliminées et 44% de tâches en moins, bref on comprend rapidement à la lumière de ces données que DevOps apporte de nombreux bénéfices aux entreprises qui décident de passer le cap.
Mais dans ce cadre, un enjeu majeur émerge, celui de rapprocher la finance et l’ingénierie au travers d’une approche qui devient clé au sein de la DSI pour optimiser les coûts : il s’agit de FinOps.
Les principes de coût d’AWS
Reprenons les principes de coût d’AWS :
- Paiement à la demande, les dépenses suivent la croissance
- Pas d’investissement upfront
- On profite de l’expansion de AWS
- On paye moins quand on s’engage
De fait, il existe plusieurs types de paiements sur AWS : à la demande, instances réservées ou instances spot. C’est le mix des 3 types de paiements en fonction des besoins qui permet d’optimiser le coût, la maîtrise de ce mix devient donc un levier important pour piloter le budget de la DSI.
Comment optimiser les coûts en passant sur le cloud AWS ?
Pour AWS, le passage du On premise au Cloud, appelé aussi « lift and shift », ne représente pas un gain significatif. À ce stade, le premier axe d’optimisation des coûts va consister à redimensionner les machines en fonction de la puissance réelle constatée, tout en jouant sur l’élasticité des machines sur lesquelles les applications sont installées. L’objet est de prendre en compte la charge réelle sur les machines et de ne pas les dimensionner uniquement en fonction des pics de charge dans l’année. De la même manière il faut travailler sur l’optimisation du stockage pour l’adapter à la réalité du besoin applicatif. AWS a par ailleurs implémenté une nouvelle fonctionnalité intéressante dans ce cadre puisqu’ils font maintenant du predictive scaling en fonction du modèle de Machine Learning, ce qui permet de scaler l’infrastructure par anticipation des pics de charge plutôt que d’autoscaler au moment où cela arrive.
Le deuxième axe d’optimisation passe par la mise en place de KPI et de mesures sur les environnements pour permettre de nouvelles poches d’optimisation non visibles en première instance. Passer sur des services managés permet également de ne plus avoir besoin d’Ops pour assurer l’exploitation.
Le dernier axe d’optimisation, et il ne s’agit pas des moindres, consiste à refactorer ses applications pour passer sur des applications serverless et bénéficier à 100% des capacités de la plateforme AWS en ne payant qu’à l’exécution, et uniquement à l’exécution, et non plus pour des machines disponibles toute l’année, y compris lorsque nous n’en n’avons pas l’utilité. Ici on considère que l’optimisation réalisée est complète suite à une bascule dans le Cloud.
Attention tout de même car lorsque vous avez atteint ce dernier palier, vous avez optimisé vos coûts au maximum mais vous êtes aussi pieds et mains liés (vendre locking) avec AWS. Il ne vous est plus possible d’opérer une réversibilité sur d’autres Cloud Provider, à moins de redévelopper complètement vos applications.
La démarche Finops chez Veolia
Veolia de son côté estime qu’en 2025 le secteur de l’IT consommera 20% de l’électricité produite et, de leur point de vue, 2 leviers d’actions sont à activer :
- Les infrastructure, il faut savoir que le PUE (indicateur d’efficacité énergétique en anglais Power Usage Effectiveness) d’Amazon est de 1,2 quand sur des datacenters traditionnels est plutôt de 2,
- L’architecture, il faut repenser la façon dont les applications sont construites en passant au maximum au serverless et en ne payant les factures qu’à la transaction.
Pour Veolia, la migration vers le Cloud public s’est faite avec un changement d’organisation important et la mise en place d’une démarche DevOps associée à la constitution de squads basées sur de l’agile. L’objectif est de limiter l’intervention humaine. En effet si l’on répète dix fois la même tâche, statistiquement, on commettra une erreur ou voire deux fois. Dans ce cadre, la meilleure façon de responsabiliser les équipes est de donner des objectifs qui impactent directement les primes de fin d’année, mais en donnant des conditions favorables pour responsabiliser. Les équipes sont responsabilisées sur 5 critères, qui sont en réalité basés sur les critères du framework AWS Well Architected : sécurité, résilience, performances, coûts et opérations.
En savoir plus sur le rôle d’une équipe FinOps selon Veolia : FinOps dans un monde DevOps : l’optimisation des coûts en pratique
Accès au replay de cette conférence : FinOps dans un monde DevOps – L’optimisation des coûts en pratique