Architecture systèmeArchitecte système

Comment organiser un SLA (Service Level Agreement) au niveau de l'architecture des systèmes informatiques et quelles métriques est-il important de prendre en compte ?

Réussissez les entretiens avec l'assistant IA Hintsage

Réponse.

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 code (surveillance du SLA avec Prometheus et Alertmanager) :

# 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)

Caractéristiques clés :

  • Il est nécessaire d'identifier les chemins de code critiques pour l'entreprise et d'y appliquer les indicateurs SLA.
  • L'architecture doit prévoir un système de collecte et de stockage des métriques, un mécanisme d'alerte et de redondance.
  • Des outils de surveillance automatisée et un journal centralisé (journalisation) sont mis en œuvre.

Questions pièges.

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 ?

  • SLA — accord sur la qualité entre le client et le service.
  • SLO — objectifs ou seuils spécifiques (le SLA peut inclure plusieurs SLO).
  • SLI — mesure réelle du paramètre (par exemple, % de requêtes réussies par heure).

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.