Module 110 - Analyser et représenter des données avec des outils

Bonnes pratiques et fiabilité  

partie 2

De quoi avons-nous parlé la semaine dernière ?

Temps à disposition : 5 minutes

Connectez-vous à : https://app.wooclap.com/EBFBDA

De quoi avons-nous parlé la semaine dernière ?

Objectifs du cours

  • Expliquer les termes SRE, SLI, SLO, SLA
  • Citez les bonnes pratiques du principe du moindre privilège

Concepts d’ingénierie de la fiabilité des sites (SRE)

L'ingénierie de la fiabilité des sites, ou SRE (Site Reliability Engineering), est une approche d'ingénierie logicielle pour l'exploitation informatique. Les équipes de SRE utilisent des logiciels, comme les logiciel de monitoring pour gérer des systèmes, résoudre des problèmes et automatiser des tâches liées à l'exploitation

Concepts d’ingénierie de la fiabilité des sites (SRE)

Le Site Reliability Engineering (SRE) vise à garantir la fiabilité des systèmes en mesurant leur performance à travers des indicateurs (SLI), en fixant des objectifs internes de qualité de service (SLO), et en s’assurant du respect des engagements contractuels envers les clients (SLA). Rôle de l’ingénieur SRE :

  • Travailler au croisement du développement logiciel et des opérations système.
  • Écrire du code pour automatiser l’infrastructure (IaC, pipelines CI/CD).
  • Mettre en place des systèmes d’alerte, de logs et de métriques.
  • Participer à la gestion d’incidents, à l’analyse post-mortem, et à l’amélioration continue.

Concepts SLI

Un SLI (Service Level Indicator) est une mesure quantitative précise du comportement d’un système. Il est conçu pour refléter l’expérience réelle des utilisateurs.
 

 

 

SLI Description
Taux d’erreur % des requêtes retournant un code ≠ 200
Latence Temps de réponse pour 95e percentile
Disponibilité % du temps où le service répond correctement
Frais de saturation Nombre de requêtes refusées ou limitées

Concepts SLA

Le SLA (Service Level Agreement) est un contrat formel (souvent légal) entre un fournisseur de service et un client, fondé sur un ou plusieurs SLOs.

 

Exemple : Le service sera disponible à 99.9% sur un mois, sinon le client recevra un crédit de 20%.

Concepts SLO

Le SLO (Service Level Objective) fixe la cible de performance ou fiabilité attendue pour un SLI.
C’est une base de contrat interne qui permet aux équipes de mesurer objectivement la santé d’un service. Exemple :
Autres exemples :

  • 99.95% de disponibilité sur 30 jours
  • Moins de 0.1% d’erreurs 500
  • 99% de requêtes réussies dans les 300ms

 

Budget d'erreur

Le budget d’erreur est une approche pragmatique pour équilibrer fiabilité et innovation.


SLO = 99.9% → Erreur tolérée = 0.1%


Sur un mois (30 jours = 43 200 minutes) → 43 minutes d’indisponibilité permises.

 

SRE intégré aux monitoring

Intégration En pratique
Choix des SLI pertinents Utiliser des métriques comme le taux d’erreur HTTP, la latence 95e percentile, ou le succès des transactions.
Définition des SLO Fixer des objectifs clairs, mesurables et réalistes.
Alerting intelligent Déclencher une alerte seulement si le SLO est menacé (ex : taux d’erreurs > 0.1% pendant 10 minutes).
Dashboards centrés sur les utilisateurs Visualiser la santé du service à travers les SLO.

Respect du principe du moindre privilège (Least Information Principle)

Les outils de monitoring collectent, stockent et visualisent des données sensibles :

  • Logs d'accès utilisateurs
  • Données d'applications (requêtes, erreurs, payloads)
  • Traces réseau, etc.

Si mal configurés, ces outils peuvent devenir une source majeure de fuite de données.

Respect du principe du moindre privilège (Least Information Principle)

Bonnes pratiques :

  • Donner aux utilisateurs (analystes, développeurs, SRE) accès uniquement aux dashboards ou données nécessaires.
  • Filtrer les données sensibles avant de les exposer dans les logs ou dashboards (ex : masquer les emails, tokens, numéros de carte).
  • Utiliser des outils de monitoring qui supportent le contrôle d'accès granulaire (RBAC)

 

Exemple : Un développeur front n’a pas besoin de voir les logs de requêtes contenant des données personnelles, il devrait voir uniquement les erreurs applicatives.

Maintien de la conformité

Bonnes pratiques:

  • Mettre en place une classification automatique des données dans les logs.
  • Appliquer des politiques de rétention (ex : purger les logs contenant des identifiants utilisateurs au bout de 30 jours).
  • Chiffrer les données de monitoring, au repos et en transit (surtout si elles passent par des systèmes tiers : Datadog, Sentry...).
  • S’assurer que les logs d’audit sont immuables et bien conservés pour les obligations réglementaires.

 

Evaluation continue des processus

Les pipelines de monitoring évoluent : ajout de métriques, nouveaux microservices, migration cloud, les données collectées changent, il faut s’assurer qu’elles ne violent pas les principes de sécurité ou de conformité.

Evaluation continue des processus

Bonnes pratiques:

  • Mettre en place une revue périodique des données collectées: collecte-t-on des données inutiles, trop sensibles, non masquées ?
  • Faire des audits réguliers des accès aux outils de monitoring
  • Utiliser des alertes de sécurité sur les anomalies dans les systèmes de logs (ex : afflux de logs contenant des tokens, ou détection de données personnelles non conformes)
  • Valider que les données monitorées sont utiles et exploitables (éviter les métriques mortes ou obsolètes)

Exemple concret : L’équipe remarque qu’un volume inhabituel de logs contenant des données géographiques précises (coordonnées GPS) est collecté et stocké sans anonymisation.

Cas pratique

Effectuez le Cas pratique 7 - Rapport des visites

 

Temps: 45 minutes

 

 

 

 

 

 

 

 

 

 

Wooflash

Répondez aux différentes questions liées à la matière enseignée

 

 

 

 

 

 

 

 

 

 

 

Connectez-vous à : https://app.wooflash.com/join/1G69UJX7

110-6 Bonnes pratiques et fiabilité - partie 2

By Myriam Fallet

110-6 Bonnes pratiques et fiabilité - partie 2

  • 29