Stavební bloky pro simulace autonomního jízdního prostředí

Container Registry
Container Instances
Kubernetes Service
Azure Active Directory
Virtual Network
Virtual Machines
Azure DevOps
Monitor

K vyhodnocení autonomního řízení (AD) potřebují technici funkcí simulovat chování vozidel s možnostmi služby AD. Vezměte v úvahu následující příklad scénáře řízení:

Testovací vozidlo je autonomní v 80 mph v pravé dráze na dálnici na 3 dráze. Na stejné dráze se nakoná 600 ft FT a ve stejném směru až na 55 mph. V prostřední dráze není poblíž žádné vozidlo. Značky jsou viditelné, slunce je kolmé k vozidlu a vozovka 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ě předat nákladní vůz, aniž by došlo k nehodě a bez porušení pravidel provozu. Spuštěním simulace pro každou novou verzi funkce otestuje technici funkce AD, zda se nová verze stále projeví při očekávaném chování.

K provedení simulace služba AD Function technici běžně používá sadu softwarových aplikací. Mezi tyto funkce patří virtuální testovací jednotka (VTD), testování oddílů času (TPT), Avionics Development System 2g (ADS2) a automobilová data a Time-Triggered Framework (ADTF), všechny vzájemně komunikují podle jejich specifických konfigurací pro účely testování dané autonomní funkce, jako je například pilotní pilot. Nasazení této sady softwarových nástrojů a jejich konfigurací na fyzické nebo virtuální počítače (VM) v místním prostředí nebo v cloudu se nazývá simulace.

Chcete-li zajistit platnost výsledků testů vygenerovaných všemi simulacemi, je nutné zajistit, aby se simulace spouštěla v čerstvém prostředí simulace nastaveném na počáteční stav.

Každý autonomní tým pro řízení potřebuje samostatnou sadu aplikací v simulaci prostředí s jedinečnou konfigurací. Mnoho týmů také bude potřebovat více různých simulačních prostředí. Pokud například chcete vyhodnotit senzor LIDAR, budete potřebovat simulaci objektů s vysokým rozlišením, ale žádné jiné ovladače, jízdní označení nebo jiné funkce. I když je každé prostředí jedinečné, v použitých aplikacích se významně překrývá. Mnoho týmů například používá VTD napříč více prostředími simulace. 

Je možné spustit simulaci v simulacovém prostředí, které je tvořeno opakovaně použitelnými, zapouzdřenými a nezávisle vyhodnocenými jednotkami. Tyto jednotky slouží jako "stavební bloky", které použijete pro automatické vytváření simulací prostředí v cloudu Azure a na vyžádání. Tato simulace se označují také jako automatizovaná řídící platforma (ADP).

příklad úlohy popsané níže popisuje vytvoření simulace, která se spouští automaticky a vyhodnocuje funkci simulovaného vozidla prostřednictvím Azure DevOpsho kanálu. Tento kanál se spustí pokaždé, když inženýr kontroluje novou verzi zdrojového kódu ukázkové funkce nebo jeho simulace.

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

Mezi Typická použití pro toto zatížení patří:

  • Automatizace jízdních testů.

  • Vytváření prototypů, vývoj, integrace, testování, ověřování a ověřování systémů řízení v automobilovém odvětví.

  • Zaznamenávání dat vozidel pro vizualizaci.

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

Architektura

Obrázek obsahující grafické uživatelské rozhraní

Vstupní vrstva uživatele

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

Vrstva orchestrace

"Orchestrace" má nejširší význam: některé problémy popsané slovem jsou triviálním způsobem vyřešeny; ostatní jsou mnohem složitější. Například "orchestrace" při vytváření, monitorování a ničení kontejnerů a virtuálních počítačů je vyřešena mnoha nástroji – samotným rozhraním API Azure je pro tento problém dostatečným "Orchestrator". Je však důležité rozdělit černé pole "orchestrace" na menší součásti.

  • Rozhraní API pro simulaci: Toto rozhraní API obdrží soubor specifikace a je vstupním bodem pro řízení simulací prostředí a spuštění simulace s vrstvou orchestrace.

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

  • Správce simulace: Toto je stavový počítač, který převede objekt logického prostředí pro simulaci na požadované stavy a akce, které mají být používány jinými komponentami. Toto je komponenta, která aktivuje sestavení, spuštění a rozboru simulace. Spravuje také interní závislosti a režimy selhání.

  • Scheduler: Tato součást přiřadí stavební bloky k prostředkům infrastruktury a spustí je. Účty IT pro požadavky na hardware a přístup, dostupné prostředky a omezení prostředků.

  • Správce prostředí: Tato součást sleduje základní infrastrukturu a reaguje na problémy, například při výpadku hostitele kontejneru.

  • Správce sítě: Tato součást spravuje sítě a směrování pro simulace prostředí. Každé prostředí musí být živé v izolovaném síťovém prostředí s izolovanými stavebními bloky, které přijímají příchozí připojení pro vzájemné aktivity. Tato součást bude také použita k překladu stavebních bloků v simulaci (například prostřednictvím interní služby DNS).

  • správce přístupu: tato součást odráží autorizaci a ověřování z Azure Active Directory (Azure AD) do zbytku systému.

  • Configuration Manager: Tato součást funguje jako trvalý mechanismus úložiště pro stav prostředí infrastruktury a simulace.

  • Abstrakce infrastruktury: Jedná se o abstrakci, která překládá obecné příkazy do specifických příkazů rozhraní API Azure pro kontejnery a virtuální počítače.

  • Storage Správce: Tato součást spravuje zřizování a připojování úložiště pro simulace prostředí (například kořenová zařízení virtuálních počítačů nebo svazky připojené k kontejneru).

  • Sledování prostředků: Tato součást monitoruje využití prostředků na úrovni infrastruktury do databáze časových řad za účelem exportu do základního monitorování ADP.

  • Správce protokolů: Tato součást agreguje protokoly ze stavebních bloků pro kontrolu uživatele. Také exportuje protokoly do protokolování do základního protokolu ADP.

Vrstva orchestrace je hlavním soustředěním tohoto ukázkového zatížení.

Vrstva infrastruktury simulace

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

  • Simulace prostředí: kombinace stavebních bloků definovaných definičním souborem a parametry se vytvoří tady v izolaci sítě z jakéhokoli jiného prostředí simulace.

  • Kontrakt stavebního bloku: písemný standard definující, jak všechny stavební bloky odesílají výstup, chyby a stav do vrstvy orchestrace.

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

  • Sestavování úložiště bloků: Jedná se o systém úložiště a načítání pro vytváření imagí s bloky, jako je například registr kontejnerů nebo galerie imagí Azure.

  • Stavební objekt pro vytváření bloků: kanál průběžné integrace a průběžného nasazování (CI/CD), který vytváří image na stavebních blocích pomocí neměnných, ověřitelných balíčků komponent (například bázi dpkg nebo apt) v deklarativním konfiguračním jazyku (například na staveništi nebo Ansible).

Storage Vrstvení

Tato vrstva trvale a accessibly ukládá výsledky simulace. Je primárně zodpovědný za platformu pro vývoj mobilních aplikací (MADP) Data Lake workstream, i když váš výstup musí spravovat tento tým.

  • rozhraní Storage: rozhraní, které umožňuje uživatelům pracovat s úložištěm výsledků simulace. tato funkce funguje v těsné spolupráci s nebo může být supplanted nástrojem orchestrace Storage Manager výše.

  • Storage: mechanismus úložiště, který se používá k ukládání výsledků simulace (například prostředků Azure Blob Storage nebo Azure Disk Storage).

Komponenty

Azure Virtual Machines poskytuje škálovatelné výpočetní prostředky na vyžádání, které vám poskytnou 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ž by bylo nutné spravovat žádné virtuální počítače a nemusíte přitom přijímají službu vyšší úrovně.

Azure Container Registry je spravovaná privátní služba registru Docker založená na Open Source registru docker 2,0. Můžete použít služby Azure Container Registry s existujícími kanály pro vývoj a nasazení kontejnerů nebo použít úlohy Azure Container Registry k sestavení imagí kontejneru v Azure. Sestavujte na vyžádání nebo plně Automatizujte sestavení pomocí triggerů, jako jsou potvrzení zdrojového kódu a aktualizace základního obrázku.

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

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

Azure Storage nabízí trvalé, vysoce dostupné a široce škálovatelné řešení cloudového úložiště s vysokou dostupností. Obsahuje funkce pro objekty, soubory, disky, fronty a úložiště tabulek.

Azure monitor shromažďuje telemetrie monitorování z nejrůznějších místních zdrojů a zdrojů Azure. Tato služba agreguje a ukládá telemetrii do úložiště dat protokolu optimalizovaného pro náklady a výkon.

Alternativy

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

mechanizmus úložiště, který se používá k ukládání výsledků simulace v této architektuře, je založený na Azure Blob Storage nebo Azure Disk Storage. Jako alternativu pro větší úlohy si můžete také prohlédnout rozsáhlá a analytická řešení Azure pro ukládání a analýzu dat.

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

Požadavky

Dostupnost a odolnost

Zvažte nasazení virtuálních počítačů v rámci skupin dostupnosti nebo zón dostupnosti, které vám pomůžou chránit aplikace proti plánovaným událostem údržby a neplánovaným výpadkům.

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 rámci oblastí Azure, která slouží k ochraně virtuálních počítačů, aplikací a dat při selhání datacentra. Každá zóna se skládá z jednoho nebo více datových center. Virtuální počítače a aplikace v zónách mohou zůstat dostupné i v případě, že v jednom datovém centru dojde k fyzickému selhání.

Škálovatelnost

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

V případě nasazení kontejnerů jsou služby Azure Containers Instances a Azure Kubernetes Services také navržené tak, aby ručně nebo automaticky škálovali na více nebo více instancí.

Zabezpečení

Stejně jako u jakéhokoli jiného typu aplikace může být simulační prostředí navrženo pro zpracování citlivých dat. Proto byste měli omezit, kdo se může přihlásit a používat, a měli byste také omezit přístup k datům na základě identity nebo role uživatele. Použijte Azure AD pro řízení přístupu a identit a Azure Key Vault ke správě klíčů a tajných kódů.

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

DevOps

Pro nasazování čerstvých simulačních prostředí je nejlepší použít procesy CI/CD pomocí řešení, jako je Azure DevOps nebo GitHub Actions, jak je popsáno v dokumentaci Azure DevOps Starter.

Ceny

Obecně platí, že k odhadu nákladů použijte cenovou kalkulačku Azure. Náklady můžete také optimalizovat podle postupu správné velikosti kapacity virtuálních počítače od začátku a zjednodušené velikosti podle potřeby. Další důležité informace jsou popsány v části Náklady v Microsoft Azure Well-Architected Framework.

Další kroky

Cetrum architektury Azure přehledu:

Dokumentace k produktu:

Microsoft Learn studijních cest: