I den här artikeln beskrivs en hybridarkitektur för videoströmning och analys. Den kör svarstidskänsliga program i azure public MEC och kör andra tjänster, till exempel kontrollplan, AI och maskininlärningstjänster, i en Azure-region.
Kommentar
Den strömning med låg latens som den här arkitekturen tillhandahåller för webbanvändare gäller endast för de användare som dirigeras till den offentliga Azure-mec som utför videobearbetningen och är värd för webbappen. I allmänhet omfattar detta inte användare i andra geografiska områden.
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Arbetsflöde
Kamera video strömmas till tjänstslutpunkten för videobearbetning, som körs i azure public MEC. Ett telco 5G-nätverk bär strömmen.
Pipelinen för videobearbetning körs i ett AKS-kluster (Azure Kubernetes Service) och bearbetar videon. Att ha tjänsten i Azures offentliga MEC minskar nätverkets tur-och-retur-tid och bandbreddskostnader jämfört med att skicka videon till molnet för bearbetning.
AI-slutsatsdragningstjänsten, som också körs i azure public MEC, analyserar videon när den har bearbetats av bearbetningspipelinen och ger insikter.
När pipelinen för slutsatsdragning analyserar videon tar webbappen videoströmmen från publiceringstjänsten och distribuerar den till webbanvändare. Den kan också distribuera statiska filer med hjälp av Azure Content Delivery Network-profiler.
Videoinsikter och metadata som genereras av inferenstjänsten skickas till molnet där de lagras i Azure SQL Database. Pipelinen för videobearbetning kan lagra den råa videon på ett Azure Blob Storage-konto i molnet för vidare bearbetning.
Data som samlas in i lagringen kan användas i olika syften:
- Azure Machine Learning kan köra batchprocesser för maskininlärning för att förbättra sina modeller.
- Microsoft Power BI och Azure Notification Hub kan använda data för att skicka meddelanden och fylla i instrumentpaneler.
Machine Learning uppdaterar AI-slutsatsdragningsmodellerna som körs i azure public MEC.
Komponenter
Det finns två listor med komponenter i det här avsnittet, de som finns i Azures offentliga MEC och de som finns i Azure-regionen.
Offentlig MEC i Azure
- Videobearbetning i azure public MEC: Pipelinen för videobearbetning, AI-slutsatsdragningstjänsten och webbappen är mikrotjänstbaserade program som körs i AKS-klustret (Azure Kubernetes Service). AI-inferenstjänsten använder AI-slutsatsdragningsmodeller för att analysera videoströmmarna och ge insikter. Webbappen distribuerar den bearbetade videon till webbanvändare.
- Pipeline för videobearbetning: En typisk pipeline för videobearbetning har tjänster som samlar in videofeeds från kameror, bearbetar dem och publicerar dem. Distributionen av dessa tjänster på gränsen minskar svarstiden och bandbreddsanvändningen jämfört med att skicka videon till molnet för bearbetning.
- AI-inferenstjänst: Den här tjänsten tar som indata den bearbetade videon och ger insikter om den. Du kan distribuera Azure AI-modeller eller AI-modeller från andra källor som kan hjälpa till med uppgifter som identifiering och spårning av objekt och personer, bildklassificering, avvikelseidentifiering och säkerhetsaviseringar.
- Webbapptjänst: Webbapptjänsten är värd för den webbsida som tillhandahåller videor till användare. Webbappen tar indata från publiceringstjänsten för videobearbetningspipelinen och överför live-flödet.
- Profiler för Azure Content Delivery Network : Webbappen kan använda nätverksprofiler för innehållsleverans för att överföra statiska bilder av webbappen för att förbättra programmets svarstider.
Azure-region
- Databastjänst: Azure tillhandahåller olika databaserbjudanden, till exempel Azure SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL och Azure Cosmos DB. Du kan använda någon av dessa för att lagra utdata från inferenstjänsten.
- Azure Blob Storage: Du kan använda bloblagring för att lagra videoströmmen för framtida användning, till exempel video på begäran och videoanalys.
- Azure Machine Learning: I den här arkitekturen tar Machine Learning indata från databasen för att träna maskininlärningsmodeller och uppdaterar sedan de modeller som inferenstjänsten använder.
- Andra tjänster: Du kan använda Azure Notification Hubs för att varna användare om avvikelser som identifierats i videon, Microsoft Power BI för att fylla i instrumentpaneler och generera rapporter och Azure Stream Analytics för att få insikter om dina videoströmmar.
Alternativ
Ett alternativ till att distribuera AKS är att distribuera Azure IoT Edge i azure public MEC och köra Azure-moduler som tillhandahåller liknande funktioner som de tjänster som redan nämnts. Du kan använda:
- Azure Video Analyzer för att skapa pipelinen för videobearbetning.
- Azure Cognitive Services för att analysera videon för att ge insikter.
- Azure Stream Analytics för att distribuera analystjänster på den strömmade videon.
- Azure Functions för att köra åtgärder på analysen och insikterna.
Information om scenario
Att vara värd för program på gränsen kan göra dem mer dynamiska och underlätta kraven på nätverksbandbredd. Azure public multi-access edge compute (Azure public MEC) är en gränsberäkningslösning som sammanför en portfölj med Microsofts beräknings-, nätverks- och programtjänster som hanteras från molnet. Du kan använda den för att utnyttja hastigheten på 5G och låsa upp viktiga scenarier med låg svarstid och hög bandbredd.
Men azure public MEC är inte avsett att vara värd för hela programstacken vid gränsen. Det är viktigt att förstå vilka delar av ditt program som ska köras i azure public MEC och vilka som ska köras i stället i en Azure-region eller lokalt.
Liveuppspelning av händelser kräver snabb videobearbetning för att ge användarna en realtidsvy och anpassad vy, så det är en bra kandidat för en gränslösning.
Potentiella användningsfall
Organisationer som behöver snabba programsvar, även i situationer med hög efterfrågan, bör överväga att använda azure public MEC som värd för svarstidskänsliga delar av programmet.
I synnerhet används videoanalyser baserade på modeller för visuellt innehåll av olika branscher, inklusive nästa generations detaljhandel, smarta städer och anslutna fordon. Sådana program är kandidater för den här arkitekturen.
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework. Ramverket består av fem grundpelare för arkitekturkvalitet:
- Tillförlitlighet
- Säkerhet
- Kostnadsoptimering
- Driftsäkerhet
- Prestandaeffektivitet
Distribution
Det finns vanligtvis en prispremie som är associerad med distribution av resurser i azure public MEC. För att hålla kostnaderna nere är det viktigt att du identifierar de svarstidskänsliga och kritiska komponenter som kan dra nytta av att köras i azure public MEC. Alla andra komponenter i programmet ska distribueras i Azure-regionen för att minska kostnaderna.
Skalbarhet
Azure public MEC stöder AKS- och Azure Virtual Machine Scale Sets som du kan använda för att skala dina beräknings- och svarstidskänsliga arbetsbelastningar för att matcha kraven för programmen.
Alternativ för belastningsutjämning
AKS har internt stöd för flera alternativ för att belastningsutjämning av inkommande trafik. NGINX-ingresskontrollanten visas i arkitekturdiagrammet, men det finns andra lastbalanserare som du kan använda med AKS. Mer information finns i Använda en intern lastbalanserare med Azure Kubernetes Service (AKS).
Prestanda
Azure public MEC tillhandahåller olika SKU:er för virtuella datorer, inklusive GPU-specifika SKU:er för beräkningsintensiv videoströmbearbetning.
Lagringsalternativ
Azure public MEC stöder inte Azure Storage-konton, så bloblagringen kan bara finnas i Azure-regionen.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.
- Se Priser för Azure för information om priser.
- Använd Priskalkylatorn för Azure för att beräkna kostnaden för att implementera den här lösningen.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Adhip Gupta | Senior Program Manager
Nästa steg
- Azure public multi-access edge compute (MEC)
- Dokumentation om Azure Kubernetes Service (AKS)
- Dokumentation om Azure Machine Learning
- Dokumentation om Azure CDN