Le FinOps, c’est quoi

Le FinOps (Financial Operations) est la pratique de gestion financière du cloud. L’objectif : maximiser la valeur business de chaque euro dépensé sur AWS.

Lueur Externe accompagne ses clients dans l’optimisation de leurs coûts AWS, souvent avec des réductions de 30 à 50 %.

Comprendre sa facture

AWS Cost Explorer

Cost Explorer est votre premier outil. Analysez :

  • Les coûts par service (EC2, RDS, S3, Lambda…)
  • L’évolution mensuelle
  • Les coûts par tag (projet, environnement, équipe)
  • Les prévisions de dépenses

Les postes principaux

ServicePart typiqueLevier d’optimisation
EC230-40 %Right-sizing, Reserved, Spot
RDS15-25 %Right-sizing, Aurora Serverless
S35-10 %Classes de stockage, lifecycle
Data Transfer10-15 %CloudFront, VPC endpoints
Lambda2-5 %Mémoire, durée, architecture

Stratégies d’optimisation

1. Right-sizing

80 % des instances EC2 sont surdimensionnées. Utilisez AWS Compute Optimizer :

# Récupérer les recommandations
aws compute-optimizer get-ec2-instance-recommendations \
  --region eu-west-3 \
  --output json | jq '.instanceRecommendations[] | {
    instanceId: .instanceArn,
    current: .currentInstanceType,
    recommended: .recommendationOptions[0].instanceType,
    savings: .recommendationOptions[0].estimatedMonthlySavings
  }'

2. Reserved Instances et Savings Plans

Pour les workloads stables, les réservations offrent jusqu’à 72 % de réduction :

  • Savings Plans Compute : flexibles, s’appliquent à EC2, Fargate, Lambda
  • Reserved Instances : spécifiques à un type d’instance
  • Engagement : 1 an (-40 %) ou 3 ans (-60 %)

3. Spot Instances

Pour les workloads tolérants aux interruptions (CI/CD, batch, tests) :

// CDK — Auto Scaling Group avec Spot
const asg = new autoscaling.AutoScalingGroup(this, 'ASG', {
  mixedInstancesPolicy: {
    instancesDistribution: {
      onDemandPercentageAboveBaseCapacity: 20,
      spotAllocationStrategy: 'capacity-optimized',
    },
    launchTemplate: {
      launchTemplateSpecification: { launchTemplate },
      overrides: [
        { instanceType: new ec2.InstanceType('m5.large') },
        { instanceType: new ec2.InstanceType('m5a.large') },
        { instanceType: new ec2.InstanceType('m6i.large') },
      ],
    },
  },
});

4. Serverless

Remplacez les serveurs sous-utilisés par du serverless :

  • EC2 peu chargé → Lambda + API Gateway
  • RDS sous-utilisé → Aurora Serverless v2
  • ECS toujours actif → Fargate avec scaling à zéro

5. Stockage

# Lifecycle rule S3 — archiver automatiquement
aws s3api put-bucket-lifecycle-configuration \
  --bucket mon-bucket \
  --lifecycle-configuration '{
    "Rules": [{
      "ID": "ArchiveOldData",
      "Status": "Enabled",
      "Transitions": [
        {"Days": 90, "StorageClass": "STANDARD_IA"},
        {"Days": 365, "StorageClass": "GLACIER_IR"}
      ]
    }]
  }'

Gouvernance

  • Taguer toutes les ressources (projet, environnement, propriétaire)
  • Configurer des budgets et alertes dans AWS Budgets
  • Revue mensuelle des coûts avec l’équipe
  • Automatiser l’extinction des environnements de dev la nuit

Conclusion

L’optimisation des coûts AWS est un processus continu, pas un projet ponctuel. Lueur Externe met en place des pratiques FinOps durables pour ses clients, avec un suivi mensuel et des recommandations actionnables.