Aller au contenu
Administration Linux medium

Gestion des capacités : Anticiper la croissance de vos serveurs

18 min de lecture

Votre disque sera plein dans combien de temps ? Si vous ne savez pas répondre à cette question, vous risquez une panne à 3h du matin. Le capacity planning vous permet d’anticiper les besoins en ressources avant d’atteindre la saturation — et d’éviter le gaspillage en ne surdimensionnant pas inutilement.

Ce guide vous apprend à :

  • Mesurer votre consommation actuelle de CPU, RAM, disque et réseau
  • Calculer le runway (temps avant saturation) pour chaque ressource
  • Prévoir la croissance sur 3, 6 et 12 mois
  • Définir des seuils d’alerte pour agir au bon moment

Imaginez que vous gérez un parking. Chaque jour, vous comptez les places occupées. Si le parking se remplit de 10 places supplémentaires chaque semaine, vous savez exactement quand il sera complet — et quand il faudra construire un étage supplémentaire.

La planification des capacités (capacity planning), c’est exactement ça pour vos serveurs : mesurer ce qui est utilisé, observer la tendance, et prévoir quand ajouter des ressources.

Sans capacity planning, vous subissez les événements :

SituationCe qui se passeConséquence
Pas de mesuresOn découvre que le disque est pleinPanne à 3h du matin
Réaction en urgenceOn provisionne dans la paniqueMauvais choix, surcoût
Surdimensionnement “au cas où”On paie 10 serveurs pour en utiliser 3Budget gaspillé
Sous-dimensionnementLe site rame pendant les soldesClients mécontents, perte de CA

Avec le capacity planning, vous anticipez :

ActionRésultat
Mesurer régulièrementOn sait où on en est
Calculer le runwayOn sait quand agir
Définir des seuilsOn est alerté à temps
Prévoir la croissanceOn budgète correctement

Le runway (littéralement “piste d’atterrissage”) est le temps qu’il vous reste avant qu’une ressource soit saturée, au rythme actuel de croissance.

La formule est simple :

Runway = (Capacité totale - Utilisation actuelle) / Taux de croissance

Le runway transforme une métrique technique (“700 Go utilisés”) en une information actionnable (“il nous reste 6 mois”). C’est ce qui permet de :

  • Planifier : budgéter l’achat de disques ou l’upgrade cloud
  • Prioriser : un runway de 2 semaines est plus urgent qu’un runway de 2 ans
  • Communiquer : “il faut commander avant mars” plutôt que “le disque est à 70%”

Le capacity planning s’applique à toutes les ressources de votre infrastructure. Voici les principales et leurs spécificités.

Le CPU est la ressource la plus “élastique” : si vous manquez de puissance de calcul, les traitements ralentissent mais continuent généralement de fonctionner.

MétriqueCe qu’elle mesureComment l’obtenir
Utilisation moyenne% du temps où le CPU travaillempstat, Prometheus
Utilisation P95Pic d’utilisation (95ème percentile)Grafana, CloudWatch
Load averageProcessus en attente du CPUuptime

Runway CPU : Moins critique car l’auto-scaling peut souvent résoudre le problème. Surveillez surtout les pics (P95 > 80%).

La RAM est plus critique que le CPU : quand elle est pleine, Linux utilise le swap (très lent) ou tue des processus (OOM-Killer).

MétriqueCe qu’elle mesureComment l’obtenir
Mémoire disponibleRAM réellement utilisablefree -h (colonne “available”)
Swap utiliséMémoire débordant sur le disquefree -h (ligne “Swap”)
Croissance mémoireTendance d’utilisationPrometheus/Grafana

Runway RAM : Critique si le swap est actif. Un runway < 1 mois nécessite une action immédiate.

Le disque est souvent la ressource la plus prévisible (croissance linéaire des logs, données, etc.) mais aussi la plus dangereuse : un disque plein = panne totale.

MétriqueCe qu’elle mesureComment l’obtenir
Espace utilisé% du disque occupédf -h
Croissance quotidienneGo ajoutés par jourPrometheus, scripts
Inodes utilisésNombre de fichiersdf -i

Runway disque : Calculable précisément. C’est souvent la ressource la plus facile à prévoir.

Le réseau est rarement le goulot d’étranglement, mais quand il l’est, c’est brutal : connexions refusées, timeouts en cascade.

MétriqueCe qu’elle mesureComment l’obtenir
Bande passante utiliséeMbit/s entrant et sortantiftop, CloudWatch
Connexions activesNombre de connexions TCPss -s
Erreurs/droppedPaquets perdusip -s link

Runway réseau : Difficile à prévoir car très variable. Surveillez surtout les pics et les erreurs.

Les seuils d’alerte vous permettent d’être prévenu avant la saturation. Mais comment les choisir ?

Utilisez deux niveaux d’alerte pour chaque ressource :

SeuilSignificationAction
Seuil d’alerte (warning)On approche de la limitePlanifier l’ajout de ressources
Seuil critique (action)On est proche de la saturationAgir immédiatement
RessourceSeuil d’alerteSeuil critiquePourquoi ces valeurs ?
CPU> 70% (P95)> 85%Le CPU peut absorber des pics courts
RAM> 75%> 85%Laisser de la marge avant le swap
Disque> 75%> 85%Les écritures ralentissent quand c’est plein
Connexions> 60% max> 80% maxLes nouvelles connexions seront refusées

Visualisation des seuils d'alerte : zone de confort, seuil d'alerte à 75%, seuil critique à 85%, saturation à 100%

Voici comment mettre en place le capacity planning pour votre infrastructure.

  1. Établir une baseline (état actuel)

    Avant de prévoir l’avenir, mesurez le présent. Pour chaque ressource :

    Fenêtre de terminal
    # CPU : utilisation moyenne
    mpstat 1 10 | tail -1
    # RAM : mémoire disponible
    free -h
    # Disque : espace utilisé
    df -h
    # Réseau : connexions actives
    ss -s

    Notez ces valeurs et leur date. C’est votre point de référence.

  2. Collecter l’historique

    Pour calculer le runway, vous avez besoin de la tendance. Idéalement, 30 jours de données minimum.

    Si vous utilisez Prometheus, une requête comme celle-ci donne la croissance :

    rate(node_filesystem_size_bytes{mountpoint="/"}[30d])

    Sans outil, notez manuellement les valeurs chaque semaine pendant un mois.

  3. Calculer le runway pour chaque ressource

    Appliquez la formule pour chaque ressource critique :

    RessourceCapacité totaleUtiliséCroissance/moisRunway
    Disque /500 Go350 Go30 Go5 mois
    Disque /data2 To1.8 To100 Go2 mois ⚠️
    RAM16 Go12 Go0.5 Go8 mois

    Priorisez : le disque /data avec 2 mois de runway nécessite une action urgente.

  4. Configurer les alertes

    Dans Prometheus/Alertmanager, créez des alertes sur les seuils :

    groups:
    - name: capacity
    rules:
    - alert: DiskSpaceWarning
    expr: (node_filesystem_avail_bytes / node_filesystem_size_bytes) * 100 < 25
    for: 5m
    labels:
    severity: warning
    annotations:
    summary: "Disque {{ $labels.mountpoint }} à plus de 75%"
    - alert: DiskSpaceCritical
    expr: (node_filesystem_avail_bytes / node_filesystem_size_bytes) * 100 < 15
    for: 5m
    labels:
    severity: critical
    annotations:
    summary: "URGENT: Disque {{ $labels.mountpoint }} à plus de 85%"
  5. Planifier les actions

    Pour chaque ressource avec un runway court :

    • Cloud : planifier l’upgrade ou l’auto-scaling
    • On-premise : commander le matériel (délai de livraison !)
    • Budget : demander la validation financière
  6. Réviser mensuellement

    Chaque mois, vérifiez :

    • Les prévisions étaient-elles justes ?
    • Y a-t-il eu des événements imprévus ?
    • Faut-il ajuster les modèles ?

    Documentez les écarts pour améliorer vos prévisions.

Le runway vous dit où vous en êtes. La prévision (forecasting) vous dit où vous allez.

Principe : La croissance future sera comme la croissance passée.

Quand l’utiliser : Croissance régulière, pas de changements majeurs prévus.

Calcul :

Utilisation dans N mois = Utilisation actuelle + (Croissance mensuelle × N)

Exemple : 700 Go aujourd’hui, +50 Go/mois → 1000 Go dans 6 mois.

Limite : Ne capture pas les accélérations ou ralentissements.

Graphique de prévision avec 3 scénarios : optimiste, réaliste et pessimiste divergeant à partir de l'état actuel

Le capacity planning n’est pas un exercice ponctuel, c’est un cycle continu.

Le cycle du capacity planning : Mesurer, Prévoir, Planifier, Réviser en boucle continue

ActivitéFréquenceQui
Vérifier les alertesQuotidienOps/SRE
Mettre à jour les dashboardsHebdomadaireOps/SRE
Calculer les runwaysMensuelOps/SRE + Tech Lead
Réviser les prévisionsTrimestrielÉquipe + Management
Planifier le budgetAnnuelManagement + Finance

Voici les erreurs les plus courantes en capacity planning :

Anti-patternPourquoi c’est un problèmeSolution
Pas de mesuresOn ne sait pas où on en estInstaller un monitoring de base
Prévisions fixesOn ne corrige jamais les erreursRéviser mensuellement
Marge zéroLe moindre pic cause une panneToujours 20-30% de marge
Oublier les picsOn dimensionne sur la moyenneUtiliser P95, pas la moyenne
Cloud = infiniOn oublie les quotas et coûtsSurveiller les limites cloud
Silos d’équipesChacun planifie de son côtéRéunion capacity mensuelle
Le métier non informéL’IT découvre la campagne le jour JCommunication proactive
Provisionnement tardifOn commande quand c’est déjà pleinAgir au seuil d’alerte, pas critique

Calculer le runway c’est bien, mais tester la capacité réelle c’est mieux. Le load testing vérifie que vos prévisions sont justes.

Type de testObjectifQuand l’utiliser
Load testVérifier le comportement sous charge normaleRégulièrement (mensuel)
Stress testTrouver le point de ruptureAvant les événements majeurs
Spike testTester la réaction aux pics soudainsAprès des changements d’architecture
  • Métriques CPU, RAM, disque collectées
  • Dashboard de capacity visible
  • Alertes sur les seuils critiques (disque > 85%, RAM > 85%)
  • Runway calculé pour le disque principal
  • Revue mensuelle planifiée dans l’agenda
  • Historique des métriques conservé (3+ mois)
  • Runway calculé pour toutes les ressources critiques
  • Modèle de prévision formalisé (même simple)
  • Budget infra connu et suivi
  • Communication régulière avec le métier
  • Load testing annuel
  • Prévisions par service/application
  • Scénarios documentés (optimiste/réaliste/pessimiste)
  • Automatisation des rapports
  • Intégration avec le processus budgétaire
  • Simulation de pics avant événements majeurs
  • Post-mortem après chaque pic (Black Friday, etc.)
SymptômeCause probableSolution
Alertes constantesSeuils trop basAjuster les seuils à votre contexte
Prévisions toujours faussesPas assez d’historiqueAttendre 3 mois, noter les événements
Disque plein malgré les alertesCroissance soudaine (logs, attaque)Alerter aussi sur le taux de croissance
Budget dépasséPrévisions sous-estiméesUtiliser le scénario pessimiste
Équipe non réactive aux alertesAlert fatigueRéduire le nombre d’alertes, prioriser
  • Le runway transforme une métrique technique en information actionnable : “il reste X mois”.
  • Deux seuils d’alerte : warning (planifier) et critical (agir).
  • 20-30% de marge de sécurité sur toutes vos prévisions.
  • Le disque est souvent le plus prévisible mais aussi le plus dangereux (disque plein = panne).
  • Révisez mensuellement vos prévisions pour les améliorer.
  • Communiquez avec le métier : ils savent quand arrivent les pics.