Formation KCNA

View the Project on GitHub

Cloud Native Architecture

Retour

Observability

Le therme est très près de control theory qui stipule qu’on peut changer le comportement d’un système selon des métriques externes (exemple cruise control). En faisant cela, on veut pouvoir continuer d’observer notre cluster et les intéractions entre les pods.

Telemetry

Mesure et collecte des données et les transfère à un autre système. C’est pratique pour avoir des logs, des métriques et des traces centraliser au même endroit. Dans un système où il y a plusieurs services, vérifier des logs directements dans les fichiers respectifs peut être fastidieux.

Logging

docker, kubectl et podman fournissent une commande pour visualiser les logs des processus des conteneurs dans /dev/stdout et /dev/stderr

le paramètre -f permet de stream les logs en temp réel.

Pour un interraction directe

Voici quelques exemples de lignes de commande:

Pour gérer beaucoup de données

Node-level logging : Efficace, un admin configure un outil qui va centraliser les logs

Logging via sidecar container : L’application a un sidecar container qui collecte les données, puis les envoies à un dépôt centralisé.

Application-level logging : L’application s’occupe d’envoyer les logs dans le dépôt centralisé, cependant, pour se faire, il faut configurer un adaptateur de logging dans CHAQUE application.

Pour une liste d’outil c’est par ici

Chez Devolutions, on utilise datadog.

Prometheus

Un outil open source pour faire du monitoring, il s’intègre bien avec Kubernetes. Il utilise 4 métriques différentes :

Tracing

Une trace est le chemin que va emprunter une requête, elle va laisser des informations.

chrootdirectories

Cost Management

Pour bien gérer les coûts, il est important d’analyser ce qui est réellement nécessaire et, si possible, automatiser certaines ressources.

Optimisation

Additional resources

Cliquez ici