Intégrer l'observabilité dans votre infrastructure et vos applications

Last reviewed 2023-08-21 UTC

Ce document du framework d'architecture Google Cloud présente les bonnes pratiques à suivre pour ajouter l'observabilité à vos services afin de mieux comprendre les performances de vos services et d'identifier rapidement les problèmes. L'observabilité inclut la surveillance, la journalisation, le traçage, le profilage, le débogage et d'autres systèmes semblables.

La surveillance est à la base de la hiérarchie de la fiabilité du service dans le manuel SRE de Google. Sans système de surveillance approprié, vous ne pouvez pas savoir si une application fonctionne correctement.

Optimiser l'observabilité en instrumentant votre code

Un système bien conçu vise à garantir un bon niveau d'observabilité dès le début de sa phase de développement. N'attendez pas qu'une application soit en production pour commencer à la surveiller. Instrumentez votre code et suivez les instructions suivantes :

  • Pour déboguer et résoudre les problèmes efficacement, réfléchissez aux entrées de journal et de trace à écrire, et aux métriques à surveiller et à exporter. Hiérarchisez les modes de défaillance les plus probables ou les plus fréquents du système.
  • Auditez et éliminez régulièrement votre système de surveillance. Supprimez les tableaux de bord, les graphiques, les alertes, le traçage et la journalisation inutilisés ou inutiles afin d'éliminer tout encombrement.

Google Cloud Observability fournit une surveillance en temps réel, une surveillance et une journalisation hybrides multicloud (par exemple, pour AWS et Azure), ainsi que le traçage, le profilage et le débogage. Google Cloud Observability peut également détecter et surveiller automatiquement les microservices exécutés sur App Engine ou dans un maillage de services tel qu'Istio.

Si vous générez de nombreuses données d'application, vous pouvez optimiser l'ingestion à grande échelle de journaux d'événements d'analyse avec BigQuery. BigQuery convient également pour la persistance et l'analyse des données de séries temporelles à cardinalité élevée de votre framework de surveillance. Cette approche est utile, car elle vous permet d'exécuter des requêtes arbitraires à moindre coût plutôt que d'essayer de concevoir votre surveillance parfaitement dès le début, et de dissocier les rapports de la surveillance. Vous pouvez créer des rapports à partir des données à l'aide de Looker Studio ou de Looker.

Recommandations

Pour appliquer les instructions du framework d'architecture à votre propre environnement, suivez les recommandations ci-dessous :

  • Mettez en œuvre la surveillance de manière anticipée, par exemple avant de lancer une migration ou avant de déployer une nouvelle application dans un environnement de production.
  • Faites la distinction entre les problèmes d'application et les problèmes liés au cloud sous-jacents. Utiliser l'API Monitoring ou d'autres produits Cloud Monitoring et Google Cloud Status Dashboard.
  • Définissez une stratégie d'observabilité au-delà de la surveillance incluant le traçage, le profilage et le débogage.
  • Nettoyez régulièrement les artefacts d'observabilité que vous n'utilisez pas ou qui ne fournissent pas de valeur, tels que les alertes non exploitables.
  • Si vous générez de grandes quantités de données d'observabilité, envoyez des événements d'application à un système d'entrepôt de données tel que BigQuery.

Étape suivante

Découvrez d'autres catégories du framework d'architecture, telles que la conception du système, l'excellence opérationnelle, la sécurité, la confidentialité et la conformité.