SLA (Service Level Agreement) — c'est un accord formel entre le client et l'équipe IT, définissant les paramètres de qualité du service.
Au niveau de l'architecture, le respect du SLA est assuré par des moyens techniques, des processus, de la surveillance et de l'automatisation. Pour une mise en œuvre correcte, il est important d'avoir une compréhension claire des éléments critiques du système, de sa résilience et de sa scalabilité.
# Exemple de configuration d'alerte pour un délai de réponse API - alert: HighResponseLatency expr: histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service)) > 1 for: 5m labels: severity: critical annotations: summary: Le temps de réponse dépasse le SLA (99% > 1 sec)
Qu'est-ce que les métriques opérationnelles et à quoi servent-elles ?
Les métriques opérationnelles sont des indicateurs caractérisant les paramètres réels de fonctionnement du système, par exemple, la disponibilité, la latence, le nombre d'erreurs. Elles sont nécessaires pour mesurer dans quelle mesure le système respecte le SLA, ainsi que pour une réponse rapide aux écarts.
Exemple de code :
# Exemple d'exportation de métriques via le client Prometheus from prometheus_client import start_http_server, Summary REQUEST_TIME = Summary('request_processing_seconds', 'Temps de traitement de la demande')
SLA, SLO et SLI : quelle est la différence ?
Une haute disponibilité assure-t-elle seulement le respect du SLA ?
Non, le SLA inclut non seulement la disponibilité, mais aussi la performance (latence), la stabilité (taux d'erreur), la précision du fonctionnement. Une haute disponibilité à elle seule ne garantit pas le respect des autres exigences du SLA.