Par Harry Perks, Principal Product Manager
Il faut comprendre que la surveillance n’est pas une finalité, mais un cheminement. Les organisations étant de plus en plus nombreuses à migrer dans le cloud, elles doivent apprendre à se protéger et à détecter où elles se situent et la maturité de leurs équipes qui gèrent des projets dans le cloud.
Des machines virtuelles classiques aux grands clusters Kubernetes ou même aux architectures sans serveur, les entreprises ont adopté le cloud comme un moyen courant de fournir leurs services en ligne. Dans le cadre de leur stratégie, la surveillance du cloud aide ces entreprises à garantir la qualité de service (QoS), à résoudre les problèmes et, au final, atteindre leurs objectif en termes de rentabilité.
Cependant, le grand nombre d’entreprises qui mettent en œuvre la surveillance dans le cloud offre un large éventail d’approches. Le degré d’approfondissement de la surveillance du cloud dépend à la fois du service fourni par chaque entreprise et de l’expérience et de la maturité de leurs départements techniques.
En fonction de la maturité d’un projet, il peut être étiqueté dans l’une de ces six étapes du parcours de surveillance du cloud. En lisant attentivement ces étapes et en identifiant où votre projet / votre entreprise se situe, vous pourrez identifier des axes de progression.
Pour rendre ces six étapes plus immersives et ludiques, nous leur avons donné un nom de métier qui parle à tout le monde, que l’on soit professionnel de l’IT ou non.
Pompier : aucune surveillance, juste en réaction aux problèmes
Lors de la migration vers le cloud, de nombreuses entreprises commencent sans aucune surveillance du cloud. C’est la première étape où il n’y a pas de stratégie de surveillance claire et où les incidents de disponibilité, les temps d’arrêt et la qualité des services sont les principaux moteurs des actions du département d’ingénierie. Au cours de cette phase, l’entreprise adopte de nouvelles technologies, acquiert de l’expérience et a la possibilité de planifier la prochaine étape et les outils qu’elle utilisera pour la surveillance du cloud.
Quelques bonnes pratiques à adopter à ce niveau :
- Investir dans une solide stratégie de sauvegarde et de reprise après sinistre pour minimiser les temps d’arrêt.
- Disposer d’environnements de staging pour tester les nouvelles versions ou applications dans des environnements de quasi-production afin de minimiser les éventuelles interruptions de services.
- Automatiser les tests et augmenter la couverture des tests et les tests d’intégration pour éviter les dysfonctionnements ou les erreurs dans les nouvelles versions.
Réceptionniste : surveillance des applications en boîte noire
Il s’agit du premier niveau où une certaine surveillance du cloud est en place. À ce stade, la surveillance adopte une approche de boîte noire, en observant l’infrastructure, les services et les applications de l’extérieur. L’objectif est d’alerter sur les temps d’arrêt, les pannes et les problèmes qui affectent directement la disponibilité de l’entreprise.
Parmi les meilleures pratiques de cette étape, citons la mise en place de services de surveillance pour suivre la disponibilité des machines virtuelles, les ports ouverts, le temps de réponse ou les erreurs de connexion. Grâce à ces informations, le service d’ingénierie reçoit désormais des alertes lorsqu’il y a un problème. De plus, l’équipe d’ingénierie essaie d’utiliser le cadre des Golden Signals pour définir ce qu’il faut rechercher dans le système de surveillance du cloud qu’elle met en place.
L’entreprise peut maintenant organiser le département informatique et le faire évoluer vers quelque chose de plus proche de la philosophie DevOps. Les équipes peuvent coordonner les cycles de rotation des astreintes, et même s’il s’agit encore d’une stratégie réactive, la disponibilité et la fiabilité des services offerts par l’entreprise s’améliorent grandement.
La nouvelle surveillance du cloud permet aux ingénieurs de développement et aux ingénieurs de fiabilité des sites (SRE) de mettre en œuvre des cycles de développement plus rapides, avec des versions canari pour tester les nouvelles fonctionnalités sans affecter la disponibilité globale du service. Cela a un impact commercial sur l’ensemble de l’entreprise qui peut désormais fournir de nouvelles fonctionnalités plus rapidement et de manière plus sûre.
Jardinier : surveillance des ressources comme le processeur, la mémoire ou le disque
Cette phase est une évolution naturelle de la précédente. L’équipe d’ingénieurs qui doit résoudre les problèmes de disponibilité des machines, services et applications commence à les voir comme des plantes : “S’ils ont assez de ressources, ils devraient être OK”.
Dans le cas des plantes, les ressources sont la lumière, l’eau et le sol, tandis que dans le cas des déploiements en cloud, les ressources sont généralement le processeur, la mémoire, le disque et le réseau.
Même si les applications et les services sont encore considérés comme des boîtes noires à ce stade, la surveillance non seulement des sorties mais aussi des entrées qu’ils reçoivent permet de résoudre les problèmes qui peuvent apparaître mieux et plus rapidement, et même d’anticiper et de prévenir les problèmes potentiels, comme le manque d’espace sur les disques, la faible capacité des machines ou la dimension correcte des services.
Les rôles d’architecte du cloud ou d’architecte de solutions apparaissent, et il y a deux meilleures pratiques que les nouvelles capacités de surveillance du cloud débloquent :
- La première est la planification de la capacité, utilisée pour dimensionner correctement et prévoir la capacité nécessaire à l’avenir en fonction du nombre d’utilisateurs, de l’utilisation ou d’autres paramètres.
- La deuxième est le dimensionnement dynamique des ressources. Cette pratique est disponible dans différentes couches de technologies du cloud, depuis les groupes de machines virtuelles qui créent ou détruisent des instances en fonction de l’utilisation, jusqu’aux stratégies de pod autoscaling horizontal (HPA) dans les clusters Kubernetes.
Docteur : voir à l’intérieur des applications tierces pour les régler et prévoir les problèmes
Cette phase représente un changement fondamental dans la philosophie de la surveillance du cloud. Les applications et les services ne sont plus des boîtes noires et l’équipe d’ingénieurs commence à collecter des métriques personnalisées à partir d’eux, de la même manière que les médecins utilisent des rayons X pour voir l’intérieur du corps.
Les mesures personnalisées des applications permettent la spécialisation de l’équipe SRE, qui peut désormais régler des services tels que les bases de données, les caches ou les serveurs Web afin d’améliorer leurs performances et d’éviter les pannes.
Les solutions de surveillance du cloud qui essayaient de deviner la saturation d’un service peuvent désormais regarder à l’intérieur de celui-ci et vérifier le taux de réussite d’un cache ou d’un tampon, les connexions disponibles ou toute autre mesure interne qui peut alerter les SRE avant que le problème n’affecte les clients et l’entreprise.
Ingénieur : concevoir vos propres métriques dans les applications commerciales et internes.
Après un certain temps d’utilisation des métriques personnalisées d’applications tierces, l’équipe d’ingénieurs commence à regretter cette transparence dans leurs propres applications. Dans cette phase, les ingénieurs sont en mesure d’instrumenter leurs applications internes avec des métriques personnalisées, profitant des métriques “do-it-yourself ” pour affiner, régler et dépanner leurs propres applications.
Ils obtiennent une vue d’ensemble de l’état de santé de leurs environnements et applications, ce qui leur permet de mieux identifier les causes profondes, de surveiller l’efficacité de l’ensemble du système et de prendre des mesures. Pour ce faire, ils exploitent les différentes bibliothèques d’instrumentation du code dans différentes technologies, comme Prometheus, OpenTelemetry, ou autres.
La meilleure pratique à adopter dans cette phase est l’adoption de l’instrumentation des métriques dans le cadre de la conception de nouvelles fonctionnalités et de nouveaux modules, en impliquant les SRE qui assureront la maintenance et le dépannage des applications dans la définition des métriques que les applications exposeront. De cette façon, les équipes de conception et de produits font également partie de la stratégie d’observabilité de l’entreprise.
Stratège : les métriques sont utilisés par d’autres départements, comme les finances ou le juridique
La possibilité d’obtenir une vue d’ensemble de l’infrastructure et des applications peut se transformer en un avantage pour l’ensemble de l’entreprise. De plus, si cette visibilité s’accompagne d’une visibilité des coûts et de leur corrélation, la magie opère. Dans la phase du stratège, l’infrastructure technique se transforme en une machine d’efficacité FinOps avec des impacts sur tous les niveaux organisationnels.
Les équipes FinOps peuvent voir comment une meilleure surveillance apporte une optimisation des coûts : le manque de visibilité sur l’infrastructure et les applications ne leur permet pas de prendre des décisions éclairées. À long terme, cela signifie ne pas vraiment savoir quels domaines peuvent être améliorés, les processus qui génèrent des problèmes et l’efficacité des applications connectées.
Le service juridique, de son côté, peut également créer des accords de niveau de service et suivre leur réalisation, avec un impact sur le niveau de satisfaction des clients. Les accords de niveau de service ne sont possibles qu’avec un système de suivi mature qui donne de la transparence aux clients et aux utilisateurs.
Comme nous pouvons le voir dans cette dernière étape, davantage de départements, comme les finances et le juridique, utilisent et exploitent activement le monitoring. Cela signifie qu’ils doivent être impliqués dans la stratégie de surveillance de l’entreprise et participer aux décisions sur ce qu’il faut surveiller et comment.
En conclusion, l’adoption accrue d’infrastructures et d’applications natives du cloud a fait apparaître la nécessité d’obtenir une visibilité sur les infrastructures et les applications. Une surveillance plus approfondie et une approche stratégique soutenue par les bons outils peuvent apporter des avantages à l’ensemble de l’entreprise, tels que l’optimisation des coûts et la capacité de transformer les mesures en informations exploitables pour améliorer l’efficacité.