Cet article présente une architecture hybride pour le streaming vidéo et l’analytique. Il exécute des applications sensibles à la latence dans le MEC public Azure et les autres services, comme les services de plan de contrôle, d’IA et de machine learning, dans une région Azure.
Notes
Le streaming à faible latence que cette architecture fournit aux utilisateurs web s’applique uniquement à ceux qui sont dirigés vers le MEC public Azure qui effectue le traitement vidéo et héberge l’application web. En général, il ne s’agit pas des utilisateurs des autres zones géographiques.
Architecture
Téléchargez un fichier Visio de cette architecture.
Workflow
La vidéo de l’appareil photo est envoyée en streaming sur le point de terminaison du service de traitement vidéo, qui s’exécute dans le MEC public Azure. Un réseau Telco 5G transmet le flux.
Le pipeline de traitement vidéo s’exécute dans un cluster Azure Kubernetes Service (AKS) et traite la vidéo. Comme le service se trouve dans le MEC public Azure, le temps d’aller-retour réseau et les coûts de bande passante sont réduits comparé à l’envoi de la vidéo au cloud pour le traitement.
Le service d’inférence IA, qui s’exécute également dans le MEC public Azure, analyse la vidéo après son traitement par le pipeline de traitement et fournit des insights.
Dès que le pipeline d’inférence analyse la vidéo, l’application web prend le flux vidéo du service de publication et le distribue aux utilisateurs web. Elle peut également distribuer des fichiers statiques en utilisant des profils Azure Content Delivery Network.
Les insights vidéo et les métadonnées générées par le service d’inférence sont envoyées au cloud où ils sont stockés dans Azure SQL Database. Le pipeline de traitement vidéo peut stocker la vidéo brute dans un compte de stockage blob Azure dans le cloud en attendant son traitement.
Les données capturées dans le stockage peuvent être utilisées à différentes fins :
- Azure Machine Learning peut exécuter des processus de traitement par lots de machine learning pour améliorer ses modèles.
- Microsoft Power BI et Azure Notification Hubs peuvent utiliser les données pour envoyer des notifications et remplir les tableaux de bord.
Machine Learning met à jour les modèles d’inférence IA qui s’exécutent dans le MEC public Azure.
Composants
Il existe deux listes de composants dans cette section, ceux qui sont dans le MEC public Azure et ceux qui sont dans la région Azure.
MEC public Azure
- Traitement vidéo dans le MEC public Azure : le pipeline de traitement vidéo, le service d’inférence IA et l’application web sont des applications basées sur des microservices qui s’exécutent dans le cluster Azure Kubernetes Service (AKS). Le service d’inférence IA utilise des modèles d’inférences IA pour analyser les flux vidéo et fournir des insights. L’application web distribue la vidéo traitée aux utilisateurs web.
- Pipeline de traitement vidéo : un pipeline de traitement vidéo classique a des services qui capturent des flux vidéo à partir de caméras, les traitent et les publient. Le déploiement de ces services à la périphérie réduit la latence et l’utilisation de bande passante comparé à l’envoi de la vidéo au cloud pour le traitement.
- Service d’inférence IA : ce service prend comme entrée la vidéo traitée et fournit des insights la concernant. Vous pouvez déployer des modèles Azure AI ou des modèles IA d’autres sources qui peuvent aider à effectuer des tâches comme la détection et le suivi d’objets et de personnes, la classification d’images, la détection d’anomalie et les alertes de sécurité.
- Service d’application web : le service d’application web héberge la page web qui fournit les vidéos aux utilisateurs. L’application web prend une entrée du service de publication du pipeline de traitement vidéo et transmet le flux en direct.
- Profils Azure Content Delivery Network : l’application web peut utiliser des profils Content Delivery Network pour transmettre des images statiques à l’application web afin d’améliorer la réactivité de l’application.
Région Azure
- Service de base de données : Azure fournit diverses offres de base de données, comme Azure SQL Database, Azure Database pour MySQL, Azure Database pour PostgreSQL et Azure Cosmos DB. Vous pouvez utiliser n’importe lequel pour stocker la sortie du service d’inférence.
- Stockage Blob Azure : vous pouvez utiliser le stockage blob pour contenir le flux vidéo utilisé par la suite, par exemple, pour la vidéo à la demande et l’analytique vidéo.
- Azure Machine Learning : dans cette architecture, Machine Learning accepte les entrées de la base de données pour entraîner des modèles Machine Learning, puis met à jour les modèles utilisés par le service d’inférence.
- Autres services : vous pouvez utiliser Azure Notification Hubs pour alerter les utilisateurs concernant les anomalies détectées dans la vidéo, Microsoft Power BI pour remplir des tableaux de bord et générer des rapports, et Azure Stream Analytics pour obtenir des insights sur vos flux vidéo.
Autres solutions
En remplacement d’AKS, il est possible de déployer Azure IoT Edge dans le MEC public Azure et d’exécuter des modules Azure qui offrent des fonctionnalités similaires aux services déjà mentionnés. Vous pouvez utiliser :
- Azure Video Analyzer pour créer le pipeline de traitement vidéo.
- Azure Cognitive Services pour analyser la vidéo et fournir des insights.
- Azure Stream Analytics pour déployer des services analytiques sur la vidéo diffusée en streaming.
- Azure Functions pour exécuter des actions sur l’analyse et les insights.
Détails du scénario
L’hébergement d’applications à la périphérie peut les rendre plus réactives et réduire les exigences de bande passante réseau. Le Multi-Access Edge Computing (MEC) public Azure est une solution de computing en périphérie qui regroupe un portefeuille de services Microsoft pour le calcul, les réseaux et les applications gérés à partir du cloud. Vous pouvez l’utiliser pour exploiter la vitesse de la 5G et déverrouiller des scénarios clés de faible latence et de bande passante élevée.
Toutefois, le MEC public Azure n’est pas destiné à héberger l’ensemble de votre pile d’applications à la périphérie. Vous devez comprendre quelles sont parties de votre application qui doivent s’exécuter dans le MEC public Azure et celles qui doivent s’exécuter plutôt dans une région Azure ou localement.
Le streaming en direct d’événements nécessite un traitement vidéo rapide pour fournir aux utilisateurs une vue personnalisée en temps réel. C’est donc un bon candidat pour une solution de périphérie.
Cas d’usage potentiels
Les organisations qui ont besoin d’une réponse rapide de l’application, même en cas de forte demande, doivent utiliser un MEC public Azure pour héberger les parties de l’application qui sont sensibles à la latence.
En particulier, l’analytique vidéo basée sur les modèles de vision par ordinateur est utilisée par différents secteurs, notamment la vente au détail de nouvelle génération, les villes intelligentes et les véhicules connectés. Ce type d’applications constitue un candidat idéal pour cette architecture.
Considérations
Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework. Le framework se compose des cinq piliers de l’excellence architecturale :
- Fiabilité
- Sécurité
- Optimisation des coûts
- Excellence opérationnelle
- Efficacité des performances
Déploiement
Il y a généralement une prime tarifaire associée au déploiement de ressources dans le MEC public Azure. Pour réduire les coûts, essayez d’identifier les composants critiques et sensibles à la latence qui peuvent tirer parti de l’exécution dans le MEC public Azure. Tous les autres composants de l’application doivent être déployés dans la région Azure pour réduire les coûts.
Extensibilité
Le MEC public Azure prend en charge AKS et Azure Virtual Machine Scale Sets que vous pouvez utiliser pour mettre à l’échelle vos charges de travail de calcul sensibles à la latence afin de répondre aux exigences des applications.
Options d’équilibrage de charge
AKS prend en charge en interne plusieurs options pour équilibrer la charge du trafic entrant. Le contrôleur d’entrée NGINX est montré dans le diagramme de l’architecture, mais il existe d’autres équilibreurs de charge que vous pouvez utiliser avec AKS. Pour plus d’informations, consultez Utiliser un équilibreur de charge interne avec Azure Kubernetes Service (AKS).
Performances
Le MEC public Azure fournit différentes références SKU de machine virtuelle, y compris des références SKU propres au processeur graphique pour le traitement de flux vidéo nécessitant de nombreuses ressources de calcul.
Options de stockage
Le MEC public Azure ne prend pas en charge les comptes de stockage Azure, le stockage blob peut donc résider uniquement dans la région Azure.
Optimisation des coûts
L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.
- Pour plus d’informations sur les prix, consultez Tarifs Azure.
- Utilisez la Calculatrice de prix Azure pour estimer le coût de l’implémentation de cette solution.
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteur principal :
- Adhip Gupta | Responsable de programme senior
Étapes suivantes
- Multi-Access Edge Computing (MEC) public Azure
- Documentation Azure Kubernetes Service (AKS)
- Documentation Azure Machine Learning
- Documentation Azure CDN