Upravit

Sdílet prostřednictvím


Stavební bloky pro simulační prostředí autonomního řízení

Azure Container Instances
Microsoft Entra ID
Azure Virtual Network
Azure Virtual Machines
Azure Pipelines

Ukázková úloha probíraná níže popisuje vytvoření simulace, která se spouští automaticky a vyhodnocuje simulovanou funkci vozidla prostřednictvím kanálu Azure DevOps. Tento kanál se spustí pokaždé, když technik zkontroluje novou verzi zdrojového kódu ukázkové funkce nebo jeho simulačního prostředí.

Architektura

Diagram znázorňující stavební bloky pro simulační prostředí autonomního řízení

Stáhněte si soubor aplikace Visio s touto architekturou.

Vrstva vstupu uživatele

Vývojář bude s touto vrstvou pracovat pouze. Obsahuje vývojářskou pracovní stanici (virtuální počítač Azure v našem oboru) a soubor specifikace popisující prostředí simulace.

Vrstva orchestrace

"Orchestrace" má široký význam: některé problémy popsané slovem jsou triviálně vyřešeny; jiné jsou mnohem složitější. Například problém "orchestrace" vytváření, monitorování a zničení kontejnerů a virtuálních počítačů je vyřešen mnoha nástroji – samotné rozhraní API Azure je pro to dostatečným "orchestrátorem".

Workflow

Je ale důležité rozdělit černou skříňku "orchestrace" na menší komponenty.

  • Rozhraní API simulace: Toto rozhraní API přijímá soubor specifikace a je vstupním bodem pro řízení simulačních prostředí a simulací spuštěných pomocí vrstvy Orchestraation.

  • Interpret: Tato komponenta interpretuje soubor specifikace do logické struktury správce simulace.

  • Správce simulace: Jedná se o stavový počítač, který převede objekt prostředí logické simulace na požadované stavy a akce, které budou použity jinými komponentami. Jedná se o komponentu, která aktivuje sestavení, spuštění a odbourání simulace. Spravuje také interní závislosti a režimy selhání.

  • Scheduler: Tato komponenta přiřazuje stavební bloky prostředkům infrastruktury a spouští je tam. Účetuje požadavky na hardware a přístup, dostupné prostředky a limity prostředků.

  • Správce prostředí: Tato komponenta sleduje základní infrastrukturu a reaguje na problémy, například když dojde k výpadku hostitele kontejneru.

  • Správce sítě: Tato komponenta spravuje sítě a směrování pro simulační prostředí. Každé prostředí musí existovat v izolovaném síťovém prostředí s izolovanými stavebními bloky, které přijímají příchozí připojení pro interaktivitu. Tato komponenta se také použije k překladu stavebních bloků v rámci simulace (například prostřednictvím interního DNS).

  • Access Manager: Tato komponenta odráží autorizaci/ověřování z ID Microsoft Entra do zbytku systému.

  • Configuration Manager: Tato komponenta funguje jako trvalý mechanismus úložiště pro stav infrastruktury a simulačních prostředí.

  • Abstrakce infrastruktury: Jedná se o abstrakci vrstvy, která překládá obecné příkazy na konkrétní příkazy rozhraní Azure API pro kontejnery a virtuální počítače.

  • Správce úložiště: Tato komponenta spravuje zřizování a připojování úložiště pro simulační prostředí (například kořenová zařízení virtuálního počítače nebo svazky připojené ke kontejnerům).

  • Monitorování prostředků: Tato komponenta monitoruje využití prostředků na úrovni infrastruktury do databáze časových řad pro export do základního monitorování ADP.

  • Správce protokolů: Tato komponenta agreguje protokoly z stavebních bloků pro kontrolu uživatelů. Exportuje také protokoly do protokolování jádra ADP.

Vrstva orchestrace je primárním cílem této ukázkové úlohy.

Vrstva infrastruktury simulace

Tato vrstva představuje všechna spuštěná simulační prostředí.

  • Prostředí simulace: Kombinace stavebních bloků definovaných souborem definice a parametry jsou zde vytvořeny v izolaci sítě od všech ostatních simulačních prostředí.

  • Kontrakt stavebního bloku: Zapsaný standard, který definuje, jak všechny stavební bloky odesílají výstup, chyby a stav do vrstvy Orchestraation.

  • Kanál stavebního bloku: Tato oblast spravuje vytváření a ukládání stavebních bloků.

  • Úložiště stavebních bloků: Toto je systém úložiště a načítání imagí stavebních bloků, jako je registr kontejneru nebo galerie imagí Azure.

  • Building Block Factory: Kanál kontinuální integrace a průběžného nasazování (CI/CD), který vytváří image stavebních bloků pomocí neměnných balíčků komponent (například dpkg nebo apt) v deklarativním konfiguračním jazyce (například Chef nebo Ansible).

Vrstva úložiště

Tato vrstva trvale a přístupně ukládá výsledky simulace. Je primárně zodpovědností pracovníhostreamu Data Lake (MADP) Platformy pro vývoj mobilních aplikací ( MADP), i když váš výstup musí být spravovatelný tímto týmem.

  • Rozhraní úložiště: Rozhraní, které uživatelům umožňuje pracovat s úložištěm výsledků simulace. To funguje v úzkém koncertu s výše uvedenou komponentou orchestrace Správce úložiště nebo může být nahrazena výše.

  • Úložiště: Mechanismus úložiště používaný k ukládání výsledků simulace (například Azure Blob Storage nebo prostředky Azure Disk Storage).

Komponenty

Azure Virtual Machines poskytuje škálovatelné výpočetní prostředky na vyžádání, které poskytují flexibilitu virtualizace, aniž byste museli kupovat a udržovat fyzický hardware.

Azure Virtual Network je základní stavební blok vaší privátní sítě v Azure. Azure Virtual Network umožňuje mnoha typům prostředků Azure, jako je Azure Virtual Machines, bezpečně komunikovat mezi sebou, internetem a místními sítěmi.

Azure Container Instances nabízí nejrychlejší a nejjednodušší způsob, jak spustit kontejner v Azure, aniž byste museli spravovat žádné virtuální počítače a nemuseli využívat službu vyšší úrovně.

Azure Container Registry je spravovaná privátní služba registru Dockeru založená na opensourcovém registru Dockeru 2.0. Registry kontejnerů Azure můžete použít se stávajícími kanály vývoje a nasazení kontejnerů nebo pomocí azure Container Registry Tasks vytvářet image kontejnerů v Azure. Můžete vytvářet na vyžádání nebo plně automatizovat sestavení pomocí triggerů, jako jsou potvrzení zdrojového kódu a aktualizace základních imagí.

Azure Pipelines jsou součástí Azure DevOps Services a spouštějí automatizované sestavení, testy a nasazení. Můžete také použít řešení CI/CD třetích stran, jako je Jenkins.

Microsoft Entra ID je cloudová služba pro správu identit a přístupu, která ověřuje uživatele, služby a aplikace.

Azure Storage nabízí odolné, vysoce dostupné a široce škálovatelné cloudové úložiště. Zahrnuje možnosti úložiště objektů, souborů, disků, front a tabulek.

Azure Monitor shromažďuje telemetrii monitorování z různých místních zdrojů a zdrojů Azure. Tato služba agreguje a ukládá telemetrii do úložiště dat protokolů, které je optimalizované pro náklady a výkon.

Alternativy

Tato architektura používá virtuální počítače a kontejnery k nasazení různých nástrojů a služeb. Alternativně můžete také použít Azure Kubernetes Services (AKS). AKS nabízí Kubernetes bez serveru, integrované prostředí CI/CD a zabezpečení a zásady správného řízení na podnikové úrovni.

Mechanismus úložiště používaný k ukládání výsledků simulace v této architektuře vychází ze služby Azure Blob Storage nebo Azure Disk Storage. Jako alternativu pro větší úlohy se také můžete podívat na rozsáhlá řešení pro data a analýzy v Azure pro ukládání a analýzu dat.

Zvažte také použití služby Azure Monitor k analýze a optimalizaci výkonu vaší infrastruktury a monitorování a diagnostice problémů se sítěmi bez přihlášení k virtuálním počítačům.

Podrobnosti scénáře

Aby mohli posoudit autonomní řízení (AD), musí technici funkcí simulovat chování vozidel s funkcemi AD. Představte si následující příklad scénáře řízení:

Testovací vozidlo je v pravém pruhu na dálnici s 3 pruhy autonomní jízdy v 80 mph. Ve stejném jízdním pruhu je 600 stop vpřed a ve stejném směru v 55 mph. V prostředním pruhu není žádné vozidlo. Značky silnic jsou viditelné, slunce svítí kolmo ke vozidle a cesta je suchá.

Konečná simulace chování vozidla pomocí podobného scénáře se nazývá spuštění simulace. Ve výše uvedeném scénáři je očekávané chování simulovaného vozidla pohodlně projít nákladním vozidlem, aniž by to způsobilo nehodu a aniž by došlo k porušení pravidel provozu. Spuštěním simulace pro každou novou verzi funkce inženýři služby AD testují, jestli nová verze stále vykazuje očekávané chování.

Ke spuštění simulace běžně používají inženýři funkcí AD sadu softwarových aplikací. Může se jednat o virtuální testovací jednotku (VTD), testování časových oddílů (TPT), avionický vývojový systém 2G (ADS2) a architekturu ADTF (Automotive Data and Time-Triggered Framework), z nichž všechny vzájemně komunikují podle jejich specifických konfigurací pro testování dané autonomní funkce řízení, jako je například pilot dálnice. Nasazení této sady softwarových nástrojů a jejich konfigurací do fyzických a/nebo virtuálních počítačů v místním prostředí nebo v cloudu se nazývá simulační prostředí.

Pokud chcete zajistit platnost výsledků testů vygenerovaných každou simulací, kterou spustíte, měli byste zajistit, aby simulace byla spuštěna v novém simulačním prostředí nastaveném na počáteční stav.

Každý autonomní tým potřebuje v simulačním prostředí samostatnou sadu aplikací s jedinečnou konfigurací. Mnoho týmů bude také potřebovat více různých simulačních prostředí. Například k vyhodnocení senzoru LIDAR budete potřebovat velmi vysokou simulaci objektů s vysokým rozlišením, ale žádné jiné řidiče, dopravní značky nebo jiné funkce. I když je každé prostředí jedinečné, aplikace, které se používají, se výrazně překrývají. Mnoho týmů například používá VTD napříč několika simulačními prostředími.

Simulaci je možné spustit v prostředí simulace, které se skládá z opakovaně použitelných, zapouzdřených a nezávisle vyhodnocených jednotek. Tyto jednotky slouží jako "stavební bloky", které použijete k automatickému a vytváření simulačních prostředí na vyžádání v cloudu Azure. Tato simulační prostředí se také označují jako automatizované řídicí platformy (ADP).

Potenciální případy použití

Toto řešení je ideální pro automobilový a dopravní průmysl. Mezi typická použití pro tuto úlohu patří:

  • Automatizace řízení testů.

  • Vytváření prototypů, vývoje, integrace, testování, ověřování a ověřování řídicích systémů v automobilovém průmyslu.

  • Zaznamenávání dat vozidel pro vizualizaci

  • Simulace složitých scénářů řízení v automobilovém průmyslu

Důležité informace

Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.

Dostupnost a odolnost

Zvažte nasazení virtuálních počítačů napříč skupinami dostupnosti nebo zónami dostupnosti, které pomáhají chránit aplikace před událostmi plánované údržby a neplánovanými výpadky.

Skupina dostupnosti je logické seskupení virtuálních počítačů, které umožňují Azure pochopit, jak je sestavená vaše aplikace, aby bylo možné zajistit redundanci a dostupnost.

Zóny dostupnosti jsou jedinečná fyzická umístění v oblastech Azure, která pomáhají chránit virtuální počítače, aplikace a data před selháními datacentra. Každá zóna se skládá z jednoho nebo více datacenter. Virtuální počítače a aplikace v zónách můžou zůstat dostupné i v případě fyzického selhání v jednom datacentru.

Škálovatelnost

Virtuální počítače Azure můžete škálovat ručně nebo pomocí funkcí automatického škálování.

Pro nasazení kontejnerů jsou také služby Azure Containers Instances a Azure Kubernetes Services navržené tak, aby vertikálně nebo automaticky vertikálně navyšují nebo navyšují kapacitu.

Zabezpečení

Zabezpečení poskytuje záruky proti záměrným útokům a zneužití cenných dat a systémů. Další informace najdete v tématu Přehled pilíře zabezpečení.

Stejně jako u jakéhokoli jiného typu aplikace lze simulační prostředí navrhnout tak, aby zpracovával citlivá data. Proto byste měli omezit, kdo se může přihlásit a používat, a měli byste také omezit, k jakým datům se dá přistupovat na základě identity nebo role uživatele. Použijte Microsoft Entra ID pro správu identit a přístupu a ke správě klíčů a tajných kódů použijte Azure Key Vault .

Obecné pokyny k návrhu zabezpečených řešení najdete v dokumentaci k zabezpečení Azure.

DevOps

Pro nasazení čerstvých simulačních prostředí je nejlepší použít procesy CI/CD pomocí řešení, jako je Azure DevOps nebo GitHub Actions.

Optimalizace nákladů

Optimalizace nákladů se zabývá způsoby, jak snížit zbytečné výdaje a zlepšit efektivitu provozu. Další informace najdete v tématu Přehled pilíře optimalizace nákladů.

K odhadu nákladů použijte cenovou kalkulačku Azure. Náklady můžete optimalizovat také tak, že budete postupovat podle procesu, abyste zvětšovali kapacitu virtuálních počítačů od začátku a podle potřeby zjednodušili změnu velikosti. Další aspekty jsou popsané v části Náklady v architektuře Microsoft Azure Well-Architected Framework.

Další kroky

Dokumentace k produktu:

Studijní programy Microsoftu:

Články s přehledem centra architektury Azure: