En este artículo se presenta una arquitectura híbrida para streaming de vídeo y análisis. Ejecuta aplicaciones sensibles a la latencia en MEC público de Azure y ejecuta otros servicios, como el plano de control, la inteligencia artificial y los servicios de aprendizaje automático, en una región de Azure.
Nota:
El streaming de baja latencia que esta arquitectura proporciona a los usuarios web solo se aplica a los usuarios que se enrutan al MEC público de Azure que realiza el procesamiento de vídeo y hospeda la aplicación web. En general, esto no incluye a los usuarios de otras áreas geográficas.
Architecture
Descargue un archivo Visio de esta arquitectura.
Flujo de trabajo
El vídeo de la cámara se transmite al punto de conexión del servicio de procesamiento de vídeo, que se ejecuta en el MEC público de Azure. Una red 5G de telecomunicaciones lleva la secuencia.
La ejecución de canalización de procesamiento de vídeo se ejecuta en un clúster de Azure Kubernetes Service (AKS) y procesa el vídeo. Tener el servicio en MEC público de Azure reduce los costos de ancho de banda y tiempo de ida y vuelta de red en comparación con el envío del vídeo a la nube para su procesamiento.
El servicio de inferencia de IA, que también se ejecuta en MEC público de Azure, analiza el vídeo después de que lo procese la canalización de procesamiento y proporciona información detallada.
Después de que la canalización de inferencia analice el video, la aplicación web toma la transmisión de video del servicio de publicación y la distribuye a los usuarios web. También puede distribuir archivos estáticos mediante perfiles de Content Delivery Network de Azure.
La información de vídeo y los metadatos generados por el servicio de inferencia se envían a la nube donde se almacenan en Azure SQL Database. La canalización de procesamiento de vídeo puede almacenar el vídeo sin formato en una cuenta de Azure Blob Storage en la nube para su posterior procesamiento.
Los datos capturados en el almacenamiento se pueden usar para varios propósitos:
- Azure Machine Learning puede ejecutar procesos por lotes de aprendizaje automático para mejorar sus modelos.
- Microsoft Power BI y el Centro de notificaciones de Azure pueden usar los datos para enviar notificaciones y rellenar paneles.
Machine Learning actualiza los modelos de inferencia de IA que se ejecutan en MEC público de Azure.
Componentes
En esta sección hay dos listas de componentes, los que están en MEC público de Azure y los que se encuentran en la región de Azure.
MEC público de Azure
- Procesamiento de vídeo en MEC público de Azure: La canalización de procesamiento de vídeo, el servicio de inferencia de IA y la aplicación web son aplicaciones basadas en microservicios que se ejecutan en el clúster Azure Kubernetes Service (AKS). El servicio de inferencia de IA usa modelos de inferencia de inteligencia artificial para analizar las secuencias de vídeo y proporcionar información detallada. La aplicación web distribuye el vídeo procesado a los usuarios web.
- Canalización de procesamiento de vídeo: Una canalización de procesamiento de vídeo típica tiene servicios que capturan fuentes de vídeo de las cámaras, las procesan y las publican. La implementación de estos servicios en el perímetro reduce la latencia y el uso de ancho de banda en comparación con el envío del vídeo a la nube para su procesamiento.
- Servicio de inferencia de IA: Este servicio toma como entrada el vídeo procesado y proporciona información sobre él. Puede implementar modelos de Azure AI o modelos de IA de otros orígenes que pueden ayudar con tareas como la detección y seguimiento de objetos y personas, la clasificación de imágenes, la detección de anomalías y las alertas de seguridad.
- Servicio de aplicaciones web: El servicio de aplicaciones web hospeda la página web que proporciona vídeos a los usuarios. La aplicación web toma la entrada del servicio de publicación de la canalización de procesamiento de vídeo y transmite la fuente en directo.
- Perfiles Content Delivery Network de Azure: la aplicación web puede usar perfiles de Content Delivery Network para transmitir imágenes estáticas de la aplicación web para ayudar a mejorar la capacidad de respuesta de la aplicación.
Región de Azure
- Servicio de base de datos: Azure proporciona varias ofertas de base de datos, como Azure SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL y Azure Cosmos DB. Puede usar cualquiera de estas opciones para almacenar la salida del servicio de inferencia.
- Azure Blob Storage: puede usar el almacenamiento de blob para almacenar la secuencia de vídeo para usos futuros, como vídeo bajo demanda y análisis de vídeo.
- Azure Machine Learning: en esta arquitectura, Machine Learning toma la entrada de la base de datos para entrenar modelos de aprendizaje automático y, a continuación, actualiza los modelos que usa el servicio de inferencia.
- Otros servicios: puede usar Notification Hubs de Azure para alertar a los usuarios sobre las anomalías detectadas en el vídeo, Power BI de Microsoft para rellenar paneles y generar informes, y Azure Stream Analytics para obtener información sobre las secuencias de vídeo.
Alternativas
Una alternativa a la implementación de AKS es implementar Azure IoT Edge en MEC público de Azure y ejecutar módulos de Azure que proporcionan una funcionalidad similar a los servicios ya mencionados. Puede usar:
- Azure Video Analyzer para crear la canalización de procesamiento de vídeo.
- Azure Cognitive Services para analizar el vídeo para proporcionar información.
- Azure Stream Analytics para implementar servicios de análisis en el vídeo transmitido.
- Azure Functions para ejecutar acciones en el análisis y la información.
Detalles del escenario
Hospedar aplicaciones en el perímetro puede hacer que respondan mejor y facilitar los requisitos de ancho de banda de red. El proceso perimetral multiacceso (MEC) privado de Azure es una solución que reúne una cartera de servicios de proceso, redes y aplicaciones de Microsoft administrados desde la nube. Puede usarlo para aprovechar la velocidad de 5G y desbloquear escenarios clave de baja latencia y alto ancho de banda.
Sin embargo, MEC público de Azure no está diseñado para hospedar toda la pila de aplicaciones en el perímetro. Es fundamental comprender qué partes de la aplicación deben ejecutarse en MEC público de Azure y cuáles deben ejecutarse en su lugar en una región de Azure o en el entorno local.
El streaming en vivo de eventos requiere un procesamiento rápido de vídeo para proporcionar a los usuarios una vista personalizada y en tiempo real, por lo que es un buen candidato para una solución perimetral.
Posibles casos de uso
Las organizaciones que necesitan una respuesta rápida de la aplicación, incluso en situaciones de alta demanda, deben considerar el uso de MEC público de Azure para hospedar partes sensibles a la latencia de la aplicación.
En concreto, varios sectores usan análisis de vídeo basados en modelos de Computer Vision, incluidos el comercio minorista de última generación, las ciudades inteligentes y los vehículos conectados. Estas aplicaciones son candidatas para esta arquitectura.
Consideraciones
Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure. El marco consta de cinco pilares de excelencia arquitectónica:
- Confiabilidad
- Seguridad
- Optimización de costes
- Excelencia operativa
- Eficiencia del rendimiento
Implementación
Normalmente hay un precio premium asociado a la implementación de recursos en el MEC público de Azure. Para reducir los costos, es importante que identifique los componentes críticos y sensibles a la latencia que pueden beneficiarse de la ejecución en el MEC público de Azure. Todos los demás componentes de la aplicación deben implementarse en la región de Azure para reducir los costos.
Escalabilidad
MEC público de Azure admite AKS y Virtual Machine Scale Sets de Azure que puede usar para escalar las cargas de trabajo sensibles a la latencia y el proceso para que coincidan con los requisitos de las aplicaciones.
Opciones de equilibrio de carga
AKS admite internamente varias opciones para equilibrar la carga del tráfico entrante. El controlador de entrada NGINX se muestra en el diagrama de arquitectura, pero hay otros equilibradores de carga que puede usar con AKS. Para más información, consulte Uso de un equilibrador de carga interno con Azure Kubernetes Service (AKS).
Rendimiento
MEC público de Azure proporciona varias SKU de máquina virtual, incluidas las SKU específicas de GPU para el procesamiento de secuencias de vídeo de proceso intensivo.
Opciones de almacenamiento
MEC público de Azure no admite cuentas de Azure Storage, por lo que el blob Storage solo puede residir en la región de Azure.
Optimización de costos
La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.
- Consulte Precios de Azure para obtener información sobre precios.
- Use la calculadora de precios de Azure para estimar el costo de la implementación de esta solución.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Autor principal:
- Adhip Gupta | Jefe de programa senior
Pasos siguientes
- Proceso perimetral de acceso múltiple público (MEC) de Azure
- Documentación de Azure Kubernetes Service (AKS)
- Documentación de Azure Machine Learning
- Documentación de Azure CDN