Modifier

Partager via


Créer des systèmes de monitoring et observables en temps réel pour les médias

Explorateur de données Azure
Azure Functions
Azure AI Metrics Advisor
Stockage Blob Azure
Hubs d'événements Azure

Cette architecture décrit une solution qui fournit un monitoring en temps réel et une observabilité des systèmes et des données de télémétrie des appareils des utilisateurs finaux. Elle est axée sur un cas d’usage pour l’industrie des médias.

Grafana est une marque appartenant à la société à laquelle elle est associée. L’utilisation de cette marque n’implique aucune approbation de sa part.

Architecture

Diagramme montrant une architecture qui fournit un monitoring en temps réel et une observabilité des systèmes et des données de télémétrie des appareils des utilisateurs finaux.

Téléchargez un fichier Visio de cette architecture.

Dataflow

Dans le système observable illustré dans le diagramme, la télémétrie brute est diffusée en continu vers Stockage Blob Azure via HTTP et des connecteurs. La télémétrie brute est traitée, transformée, normalisée et enregistrée dans Azure Data Explorer à des fins d’analyse. Des systèmes tels que Grafana et Azure Metrics Advisor lisent les données de Data Explorer et fournissent des insights aux utilisateurs finaux.

Plus précisément, voici les éléments du système dans le diagramme :

  1. Instrumentation. L’instrumentation se produit via des sondes ou des agents qui sont installés dans les systèmes pour superviser les données. Ces agents se présentent sous différentes formes. Par exemple, dans une plateforme de streaming vidéo à la demande, une entreprise peut utiliser le format à normes ouvertes dash.js pour collecter des métriques de Qualité de l’expérience auprès des clients.
  2. Ingestion. Cette télémétrie brute peut provenir directement des clients finaux via des appels HTTP. Vous pouvez également la charger via des systèmes tiers vers des lacs de données et du stockage persistant tels que Stockage Blob. Stockage Blob prend en charge la possibilité d’appeler une fonction Azure lorsqu’un nouveau fichier est chargé. Vous pouvez utiliser ce mécanisme de déclencheur pour déplacer la télémétrie brute vers des entrepôts de données structurés.
  3. Transformation et persistance. Vous aurez peut-être besoin d’un système de transformation pour normaliser vos données. Une application Azure Functions transforme les données en fonction des besoins, puis les écrit dans Data Explorer. Data Explorer est idéal pour l’analytique du Big Data, car il est conçu pour des performances et un débit élevés sur des jeux de données volumineux.
  4. Surveillance. Azure Managed Grafana prend en charge l’intégration à Data Explorer. Vous pouvez utiliser les fonctionnalités de glisser-déplacer de Grafana pour créer rapidement des tableaux de bord et des graphiques. Grafana convient parfaitement au monitoring des médias, car il fournit une actualisation inférieure à la minute des vignettes de tableau de bord et peut également être utilisé pour la création d’alertes.
  5. Détection des anomalies. Le tableau de bord Grafana prend en charge le monitoring manuel dans le NOC. Toutefois, avec un jeu de données volumineux et une base d’utilisateurs répartis dans différentes zones géographiques et utilisant différents appareils, l’identification manuelle des problèmes via des graphiques et des règles d’alerte qui ont des seuils codés en dur devient inefficace. Vous pouvez utiliser l’IA pour résoudre ce problème. Des services tels que Metrics Advisor utilisent des algorithmes de Machine Learning pour comprendre et détecter automatiquement les anomalies en fonction de données de série chronologique. En outre, la plateforme de données Kusto dispose de fonctions intégrées de détection d’anomalie qui prennent en compte les tendances saisonnières et de base de référence dans les données.

Components

  • Data Explorer est un service d’analytique données rapide et complètement managé dédié à l’analyse en temps réel de grands volumes de données. Data Explorer est un excellent outil pour gérer les jeux de données volumineux qui nécessitent une vitesse et un débit de récupération des données élevés. Cette architecture utilise Data Explorer pour stocker et interroger des jeux de données à des fins d’analyse.
  • Stockage Blob est utilisé pour stocker la télémétrie brute. Cette télémétrie peut provenir de vos applications et services ou de fournisseurs tiers. Les données peuvent être traitées comme temporaires si vous n’avez pas besoin d’effectuer plus d’analyses ultérieurement. Les données de Stockage Blob sont ingérées dans des clusters Data Explorer.
  • Azure Event Grid est un système de remise d’événements. Il est utilisé pour écouter les événements publiés par Stockage Blob. Les événements Stockage Azure permettent aux applications de réagir à des événements tels que la création et la suppression d’objets blob. Une fonction Azure s’abonne aux événements publiés par Event Grid.
  • Azure Event Hubs est un service d’ingestion de données en temps réel que vous pouvez utiliser pour ingérer des millions d’événements par seconde à partir de n’importe quelle source. Les hubs d’événements représentent la porte d’entrée, souvent appelée ingesteur d’événements, pour un pipeline d’événements. Un ingesteur d’événements est un composant ou un service qui se trouve entre les éditeurs d’événements et les consommateurs d’événements. Il dissocie la production d’un flux d’événements de la consommation des événements.
  • Azure Functions est une solution serverless qui permet d’analyser et de transformer des données ingérées via des points de terminaison d’objets blob et HTTP, et d’écrire dans le cluster Data Explorer.
  • Azure Managed Grafana se connecte facilement à Data Explorer. Dans cette architecture, il génère des graphiques et des tableaux de bord qui permettent de visualiser les données de télémétrie. Azure Managed Grafana fournit une intégration approfondie à Microsoft Entra ID afin que vous puissiez implémenter l’accès en fonction du rôle aux tableaux de bord et aux affichages.
  • Metrics Advisor fait partie d’Azure Applied AI Services. Il utilise l’intelligence artificielle pour superviser les données et détecter les anomalies dans des données de série chronologique. Metrics Advisor automatise le processus d’application de modèles aux données, et fournit un ensemble d’API et un espace de travail web pour l’ingestion des données, la détection d’anomalie et les diagnostics. Vous pouvez l’utiliser même si vous n’avez aucune connaissance du Machine Learning.

Autres solutions

Azure Data Factory et Azure Synapse Analytics fournissent des outils et des espaces de travail pour créer des workflows ETL, et la possibilité de suivre et de réessayer les travaux à partir d’une interface graphique. Notez que Data Factory et Azure Synapse ont un décalage minimal d’environ cinq minutes entre le moment de l’ingestion et la persistance. Ce décalage peut être acceptable dans votre système de monitoring. Si c’est le cas, nous vous recommandons d’envisager ces alternatives.

Détails du scénario

Les organisations déploient souvent des technologies variées et à grande échelle pour résoudre des problèmes métier. Ces systèmes, ainsi que les appareils des utilisateurs finaux, génèrent de grands ensembles de données de télémétrie.

Cette architecture est basée sur un cas d’usage pour l’industrie des médias. La diffusion multimédia pour la lecture en direct et la vidéo à la demande nécessite une identification et une réponse en quasi-temps réel aux problèmes d’application. Pour prendre en charge ce scénario en temps réel, les organisations doivent collecter un ensemble de données de télémétrie massif, qui nécessite une architecture scalable. Une fois les données collectées, d’autres types d’analyse, comme l’IA et la détection d’anomalie, sont nécessaires pour identifier efficacement les problèmes dans un jeu de données aussi volumineux.

Lorsque des technologies à grande échelle sont déployées, les systèmes et les appareils des utilisateurs finaux qui interagissent avec eux génèrent d’énormes ensembles de données de télémétrie. Dans les scénarios traditionnels, ces données sont analysées via un système d’entrepôt de données pour générer des insights qui peuvent être utilisés afin de faciliter les décisions de gestion. Cette approche peut fonctionner dans certains scénarios, mais elle n’est pas suffisamment réactive pour les cas d’usage de streaming multimédia. Pour résoudre ce problème, des insights en temps réel sont nécessaires pour les données de télémétrie générées à partir des serveurs de monitoring, des réseaux et des appareils des utilisateurs finaux qui interagissent avec eux. Les systèmes de monitoring qui interceptent les défaillances et les erreurs sont courants, mais leur interception en quasi-temps réel est difficile. C’est l’objectif de cette architecture.

Dans un scénario de streaming en direct ou de vidéo à la demande, les données de télémétrie sont générées à partir de systèmes et de clients hétérogènes (appareils mobiles, ordinateurs de bureau et téléviseurs). La solution consiste à prendre des données brutes et à associer le contexte aux points de données, par exemple des dimensions telles que la géographie, le système d’exploitation de l’utilisateur final, l’ID de contenu et le fournisseur CDN. La télémétrie brute est collectée, transformée et enregistrée dans Data Explorer à des fins d’analyse. Vous pouvez ensuite utiliser l’IA pour donner un sens aux données et automatiser les processus manuels d’observation et d’alerte. Vous pouvez utiliser des systèmes tels que Grafana et Metrics Advisor pour lire les données de Data Explorer afin d’afficher des tableaux de bord interactifs et de déclencher des alertes.

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework, un ensemble de principes directeurs que vous pouvez utiliser pour améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.

Fiabilité

La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez la page Vue d’ensemble du pilier de fiabilité.

Les applications vitales pour l’entreprise doivent continuer à s’exécuter même lors d’événements perturbants tels que les pannes de région Azure ou de CDN. Il existe deux stratégies principales et une stratégie hybride pour créer une redondance dans votre système :

  • Mode actif/actif. Du code et des fonctions en double sont en cours d’exécution. L’un ou l’autre système peut prendre le relais en cas de défaillance.
  • Mode actif/passif. Un seul nœud est actif/principal. L’autre est prêt à prendre le relais au cas où le nœud principal tomberait en panne.
  • Mode mixte. Certains composants/services sont dans en mode actif/actif, tandis que d’autres sont en mode actif/passif.

N’oubliez pas que les services Azure n’offrent pas tous une redondance intégrée. Par exemple, Azure Functions exécute une application de fonction uniquement dans une région spécifique. Géo-reprise d’activité après sinistre Azure Functions décrit différentes stratégies que vous pouvez implémenter, d’après la façon dont vos fonctions sont déclenchées (HTTP ou pub/sub).

L’application de fonction d’ingestion et de transformation peut s’exécuter en mode actif/actif. Vous pouvez exécuter Data Explorer dans les configurations actif/actif et actif/passif.

Azure Managed Grafana prend en charge la redondance de zone de disponibilité. L’une des stratégies pour créer une redondance inter-régions consiste à configurer Grafana dans chaque région dans laquelle votre cluster Data Explorer est déployé.

Optimisation des coûts

L’optimisation des coûts consiste à réduire les dépenses inutiles et à améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

Le coût de cette architecture dépend du nombre d’événements de télémétrie d’entrée, de votre stockage de télémétrie brute dans Stockage Blob et Data Explorer, d’un coût horaire pour Azure Managed Grafana et d’un coût statique pour le nombre de graphiques de séries chronologiques dans Metrics Advisor.

Vous pouvez utiliser la calculatrice de prix Azure pour estimer les coûts horaires ou mensuels.

Efficacité des performances

L’efficacité des performances est la capacité de votre charge de travail à s’adapter à la demande des utilisateurs de façon efficace. Pour plus d’informations, consultez Vue d’ensemble du pilier d’efficacité des performances.

Selon l’échelle et la fréquence des requêtes entrantes, l’application de fonction peut constituer un goulot d’étranglement, pour deux raisons principales :

  • Démarrage à froid. Le démarrage à froid est une conséquence des exécutions serverless. Il fait référence au temps de planification et de configuration requis pour lancer un environnement avant que la fonction ne commence à s’exécuter. Au maximum, le temps requis est de quelques secondes
  • Fréquence des requêtes. Supposez que vous avez 1000 requêtes HTTP, mais seulement un serveur monothread pour les gérer. Vous ne pourrez pas traiter simultanément les 1000 requêtes HTTP. Pour traiter ces requêtes en temps opportun, vous devez déployer davantage de serveurs. Autrement dit, vous devez effectuer une mise à l’échelle horizontale.

Nous vous recommandons d’utiliser des références SKU Premium ou Dedicated pour :

  • Éliminer les démarrages à froid.
  • Gérer les exigences liées aux requêtes simultanées en augmentant ou en réduisant le nombre de machines virtuelles de maintenance.

Pour plus d’informations, consultez Sélectionner une référence SKU pour votre cluster Azure Data Explorer.

Déployer ce scénario

Pour plus d’informations sur le déploiement de ce scénario, consultez real-time-monitoring-and-observability-for-media sur GitHub. Cet exemple de code inclut l’infrastructure en tant que code (IaC) nécessaire pour démarrer le développement ainsi que les fonctions Azure pour ingérer et transformer les données à partir de points de terminaison d’objets blob et HTTP.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteurs principaux :

Autres contributeurs :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes