Ez a példaarchitektúra egy autóipari eredeti berendezésgyártó (OEM) teljes körű megközelítését mutatja be, és tartalmaz egy referenciaarchitektúrát és számos közzétett, nyílt forráskódú kódtárat, amelyek újra felhasználhatók. A Microsoft újracsomagolta a flottavezérlő szoftvert, hogy magas rendelkezésre állású, georedundáns és szállítósemleges legyen, és hibrid felhőkörnyezetben fusson.
Architektúra
Georedundancia állásidő nélküli feladatátvétellel 99,9%-os rendelkezésre álláshoz és vészhelyreállításhoz
Töltse le az architektúra Visio-fájlját.
Munkafolyamat
- A háttérrendszer egy példánya, amely a következő összetevőkből áll, két Azure-régióban van üzembe helyezve: Azure IoT Hub, Ingestion, RabbitMQ, Mission State, Vehicle State, Job Manager és Geo DB. Az IoT Hub olyan mikroszolgáltatás-architektúra használatával létrehozott alkalmazásokhoz csatlakozik, amelyek a Azure-alkalmazás Szolgáltatásban helyezhetők üzembe a Azure-alkalmazás Service, a Web App for Containers vagy a Kubernetes Web Apps szolgáltatásával.
- A vezető választási rendszer határozza meg, hogy melyik háttér vezérli az üzlethelyiségben lévő AGV-ket bármely adott időpontban. Ha a vezető háttérrendszer meghibásodik, a vezetőválasztás azonnal átviszi az irányítást a másik régió háttérrendszerére.
- Ennek a georedundáns és állásidő nélküli feladatátvételi architektúrának köszönhetően az Azure-ban futó AGV-vezérlőszoftver 99,9%-os rendelkezésre állást biztosít, feltéve, hogy az internetkapcsolat és a külső alrendszerek, például az SAP nem korlátozzák a tényezőket.
Kubernetes és RabbitMQ adatközpont-agnosztikus üzemelő példányokhoz
Töltse le az architektúra Visio-fájlját.
Olyan esetekben, amikor az éles üzem és az Azure közötti internetkapcsolat korlátozó tényező, az AGV-vezérlőszoftver a helyszíni számítási csomópontokon is üzembe helyezhető. A Kubernetes és a RabbitMQ platform-agnosztikus technológiákként való használatával az előző szakaszban ismertetett alkalmazásréteg egy Azure IoT Edge-eszközön lesz üzembe helyezve.
Az AGV-vendor-agnostic kommunikáció VDA 5050-specifikációjának megvalósítása
Töltse le az architektúra Visio-fájlját.
A VDA 5050 járműösszekötő specifikációjának való megfelelésnek köszönhetően AGV vezérlőszoftverünk képes kommunikálni a különböző gyártóktól származó AGV-kkel, amelyek szintén megfelelnek a VDA 5050 szabványnak.
Munkafolyamat
Ebben az architektúrában áttekintheti a háttérbeli AGV-flottavezérlési megoldás Azure-beli futtatásához használt különböző szolgáltatásokat és összetevőket:
- Amikor a fejlesztők új kódot véglegesítenek, a GitHub Actions automatikusan megvizsgálja a kódot, hogy gyorsan megtalálja a biztonsági réseket és a kódolási hibákat. Alkalmazások és infrastruktúra-összetevők automatikus üzembe helyezésére is használható.
- A tárolóregisztrációs adatbázis tárolja az AGV-flottavezérlés háttérrendszerének különböző szolgáltatásaihoz használt tárolórendszerképeket.
- A háttérszolgáltatások a Web App for Containersben vannak üzembe helyezve.
- Ezek a háttérszolgáltatások a VDA 5050 protokoll használatával csatlakozhatnak külső rendszerekhez. Egy felügyelt streamelési platformhoz, például a Kafkához is csatlakozhatnak, és járműinformációkat tárolhatnak egy Azure SQL-adatbázisban.
- Az Azure Key Vault jelszavakat, kulcsokat és tanúsítványokat tárol.
- Az Application Insights a háttérszolgáltatásként futó alkalmazások naplózását és monitorozását implementálja.
- A felügyelt identitások az Azure különböző szolgáltatásaihoz és erőforrásaihoz csatlakoznak, így nincs szükség a fejlesztők hitelesítő adatainak kezelésére. A microsoft entra-hitelesítést támogató erőforrásokhoz való csatlakozáskor az alkalmazások identitást biztosítanak.
Összetevők
A Azure-alkalmazás szolgáltatás egy szolgáltatásként nyújtott platform (PaaS) az alkalmazások felügyelt virtuális gépeken (VM-ek) történő létrehozásához és üzemeltetéséhez. Kezeli a mögöttes számítási infrastruktúrát, amelyen az alkalmazások futnak. Az App Service az erőforrás-használati kvóták és alkalmazásmetrikák monitorozását, a diagnosztikai információk naplózását és a metrikákon alapuló riasztásokat biztosítja.
Az Azure Virtual Network az Azure-beli magánhálózat alapvető építőeleme. Ez a szolgáltatás számos Típusú Azure-erőforrást, például azure-beli virtuális gépeket tesz lehetővé az egymással, az internettel és a helyszíni hálózatokkal való biztonságos kommunikációhoz.
Az IoT Hub egy, a felhőben üzemeltetett PaaS-szolgáltatás, amely központi üzenetközpontként szolgál az IoT-alkalmazások és az általa kezelt eszközök közötti kétirányú kommunikációhoz.
Az Azure Container Apps egy teljes mértékben felügyelt kiszolgáló nélküli tárolószolgáltatás, a tárolók nagy méretekben történő kiépítéséhez és üzembe helyezéséhez.
Az Azure Container Registry egy felügyelt, privát Docker-beállításjegyzék-szolgáltatás, amely a nyílt forráskódú Docker Registry 2.0-n alapul. Az Azure-tárolóregisztrációs adatbázisokat használhatja a meglévő tárolófejlesztési és üzembehelyezési folyamatokkal, vagy az Azure Container Registry Tasks használatával tárolólemezképeket hozhat létre az Azure-ban. Igény szerint építhet, vagy teljes mértékben automatizálhatja a buildeket eseményindítókkal, például forráskód véglegesítésével és alaprendszerkép-frissítésekkel.
A Microsoft Entra ID egy felhőalapú identitás- és hozzáférés-kezelési szolgáltatás, amely hitelesíti a felhasználókat, a szolgáltatásokat és az alkalmazásokat.
Az Azure Storage tartós, magas rendelkezésre állású és nagymértékben méretezhető felhőalapú tárolási megoldást kínál. Ide tartoznak az objektum-, fájl-, lemez-, üzenetsor- és táblatárolási képességek.
A RabbitMQ egy nyílt forráskódú üzenetközvetítő szoftver, amely eredetileg az Advanced Message Queuing Protocol protokollt implementálta, és azóta bővítményarchitektúrával bővült a Stream Text Oriented Messaging Protocol, az MQ Telemetry Transport és más protokollok támogatásához.
Az Azure Virtual Machines igény szerinti, méretezhető számítási erőforrásokat biztosít, amelyek rugalmasságot biztosítanak a virtualizáláshoz anélkül, hogy a fizikai hardvert kellene megvásárolnia és karbantartania.
Az Azure SQL Database egy teljes körűen felügyelt PaaS-adatbázismotor, amely felhasználói beavatkozás nélkül kezeli az adatbázis-kezelési funkciók többségét, például a frissítést, a javítást, a biztonsági mentéseket és a monitorozást.
Az Azure Key Vault egy felhőalapú szolgáltatás a titkos kódok biztonságos tárolására és elérésére. A titkos kód minden olyan dolog, amelyhez szigorúan szabályozni szeretné a hozzáférést, például API-kulcsokat, jelszavakat, tanúsítványokat vagy titkosítási kulcsokat.
Az Azure Monitor egyik funkciója, az Application Insights egy bővíthető alkalmazásteljesítmény-kezelési (APM) szolgáltatás fejlesztők és DevOps-szakemberek számára. Élő alkalmazások figyelésére is használható. Automatikusan észleli a teljesítmény anomáliáit, és hatékony elemzési eszközöket is tartalmaz a problémák diagnosztizálásához és annak megértéséhez, hogy a felhasználók valójában mit csinálnak az alkalmazással.
Alternatívák
Ez az architektúra a Kubernetes és a Azure-alkalmazás Service Web Apps szolgáltatását használja a megoldáshoz tartozó alkalmazások futtatásához. Alternatív megoldásként ezeket a mikroszolgáltatásokat az Azure Container Instancesben is futtathatja, amely a leggyorsabb és legegyszerűbb módot kínálja a tárolók Azure-ban való futtatására anélkül, hogy magasabb szintű szolgáltatást kellene bevezetnie, például az Azure Kubernetes Service-t (AKS).
A helyszíni példa Azure-beli virtuális gépeket használ, amelyeket tárolótechnológiák is helyettesíthetnek.
A szolgáltatások futtatásának másik lehetősége az Azure Kubernetes Service (AKS) használata. Ez kiszolgáló nélküli Kubernetes-eket kínál mikroszolgáltatások futtatásához, integrált folyamatos integrációhoz és folyamatos üzembe helyezéshez (CI/CD) és nagyvállalati szintű biztonsághoz és irányításhoz.
Fontolja meg az Azure Monitor és az Application Insights együttes használatát az alkalmazások, tárolók, adatbázisok és egyéb erőforrások teljesítményének elemzéséhez és optimalizálásához, valamint a hálózati problémák monitorozásához és diagnosztizálásához.
Ez az architektúra a RabbitMQ-t használja üzenetközvetítőként. A Microsoft Azure natív támogatást nyújt az üzenetkezelési megoldásokhoz, például az Azure Queue Storage-hoz vagy az Azure Service Bushoz. Összehasonlításért tekintse meg az Azure Storage-üzenetsorokat és a Service Bus-üzenetsorokat – összehasonlítva és összehasonlítva.
Az Azure-ban az alkalmazások és szolgáltatások Terraform-szkriptek használatával vannak üzembe helyezve. Érdemes lehet azure-natív Azure Resource Manager-sablonokat (ARM-sablonokat) vagy Bicep-et használni szkriptek létrehozásához.
Forgatókönyv részletei
Az autóipari gyártás automatizált irányított járművekre (AGV-kre) támaszkodik, hogy alkatrészeket szállítson a szerelősorokra. Az AGV-k az igény szerint történő gyártás és az automatizált bolti logisztika kritikus részét képezik. Az AGV-ket használó üzlethelyiségek gyakran három kihívással szembesülnek:
- Rendelkezésre állás. Minden szolgáltatáskimaradás megszakítja az éles üzemet.
- Kapcsolatok. Az üzlethelyiségek gyakran nem rendelkeznek megbízható kapcsolattal a nyilvános felhővel.
- Szállítói zárolás. A hagyományos AGV-megoldások védett kommunikációs protokollokra támaszkodnak.
Ez a példaarchitektúra három működési területre oszlik:
- Azure-alapú flottavezérlési referenciaarchitektúra georedundanciával, állásidő nélküli feladatátvétellel, 99,9%-os rendelkezésre állással és hatékony vészhelyreállítással.
- A Kubernetesre és a RabbitMQ-ra épülő adatközpont-agnosztikus és helyszíni üzembe helyezés.
- A közös VDA 5050 specifikációra épülő szállítósemleges AGV-kommunikáció.
Lehetséges használati esetek
Ez a megoldás ideális a gyártási, autóipari és szállítási iparágak számára. A következő forgatókönyvekre vonatkozik:
- Az ügyfél jelenleg AGV-ket használ a gyártási folyamatában.
- Az ügyfél alacsony rendelkezésre állást tapasztal az AGV-kkel, ami befolyásolja a befektetés megtérülését (ROI).
- Az üzlethelyiség inkonzisztens kapcsolatban áll a nyilvános felhővel.
- Az ügyfél az Open Manufacturing Platform (OMP) tagja.
- Az ügyfél tagja az OMP Autonóm Szállítási Rendszer (OMP ATS) munkacsoportjának.
Főbb problémák
Az alacsony költségű árugyártás a gyártási folyamat automatizálására és az alkatrészek összeszerelési sorokba való igény szerinti szállítására támaszkodik. Az alkatrészek összeszerelési vonalakra történő automatikus szállításával az automatizált irányított járművek mind az igény szerinti gyártáshoz, mind a bolti logisztika automatizálásához hozzájárulnak. A személygépkocsik egy tipikus tömeggyártó üzemében például percenként egy személygépkocsit helyeznek üzembe. Ezért a gyártóüzemben lévő szerelősor minden perce pénzügyi veszteséget okoz – több tízezer amerikai dollár nagyságrendben. Az autóipari oemek magas szintű megbízhatóságot és rendelkezésre állást igényelnek automatizált rendszereikhez, és számos kihívással szembesülnek:
- Rendelkezésre állási probléma. A meglévő AGV flottavezérlő szoftver nem felel meg a 99,9%-os rendelkezésre állási követelménynek.
- Csatlakozási probléma. Egyes gyártóüzemek nem rendelkeznek megfelelően stabil internetkapcsolattal a szükséges sávszélességgel ahhoz, hogy lehetővé tegyék az Azure nyilvános felhőben üzemeltetett AGV-flottavezérlő szoftver és az üzlet területén található AGV-k közötti kommunikációt. Ezért az AGV flottavezérlő szoftver üzemeltetése egy ilyen gyártóüzem intranetén kívül eső adatközpontban nem volt lehetőség.
- AGV szállítói zárolási probléma. A meglévő AGV-ket nem lehetett felcserélni egy másik gyártótól származó újakkal, mert az AGV flottavezérlő szoftvere a meglévő AGV-k saját kommunikációs protokolljától függött.
A georedundanciát 99,9%-os rendelkezésre állási és vészhelyreállítási feladatátvétellel támogató architektúra megoldhatja ezeket a problémákat.
Megfontolások
Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek halmaza. További információ: Microsoft Azure Well-Architected Framework.
Rendelkezésre állás és méretezhetőség
Az AGV flottakezelési megoldást alkotó alkalmazások és szolgáltatások két Azure-régióban vannak üzembe helyezve rendelkezésre állási zónák használatával, amelyek az Azure-régiók egyedi fizikai helyei, amelyek segítenek megvédeni a virtuális gépeket, alkalmazásokat és adatokat az adatközpontok hibáitól. Azure-alkalmazás szolgáltatás és Az AKS a rendelkezésre állási zónákban is üzembe helyezhető. Az IoT Hub a szolgáltatás szinte minden rétegében redundanciákat implementálva biztosítja a régión belüli magas rendelkezésre állást.
Biztonság
A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: A biztonsági pillér áttekintése.
Identitás- és hozzáférés-vezérléshez használja a Microsoft Entra-azonosítót, és az Azure Key Vault használatával kezelheti a kulcsokat és titkos kulcsokat.
DevOps
A mikroszolgáltatások Kubernetes-ben vagy Azure-alkalmazás szolgáltatásban való automatikus üzembe helyezéséhez a CI/CD-folyamatok használata a legjobb. Fontolja meg egy olyan megoldás használatát, mint az Azure DevOps vagy a GitHub Actions.
Költségoptimalizálás
A költségoptimalizálás a szükségtelen kiadások csökkentésének és a működési hatékonyság javításának módjairól szól. További információ: A költségoptimalizálási pillér áttekintése.
Általában az Azure díjkalkulátorával becsülje meg a költségeket, és az AKS-kalkulátor használatával becsülje meg az AKS Azure-ban való futtatásának költségeit. További szempontokat a Microsoft Azure Well-Architected Framework "Költségoptimalizálás" című szakaszában talál.
Közreműködők
Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.
Fő szerző:
- Gürcan Güleşir | Vezető programmenedzser
Következő lépések
Termékdokumentáció:
- Application Insights
- Microsoft Entra ID
- Azure App Service
- Azure Container Instances
- Azure Container Registry
- Azure IoT Hub
- Azure Kubernetes Service
- Azure Key Vault
- Azure Monitor
- Azure SQL Database
- Azure Virtual Machines
- Azure Virtual Network
- GitHub
A Microsoft képzési tervei:
- Az Azure IoT bemutatása
- A Kubernetes bemutatása az Azure-ban
- Tárolók felügyelete az Azure-ban
- Mikroszolgáltatások létrehozása a .NET és a ASP.NET Core használatával
- Identitások és irányítás kezelése azure-rendszergazdák számára
Kapcsolódó erőforrások
Az Azure Architecture Center áttekintési cikkei:
- Mikroszolgáltatások architektúrastílusa
- Azure számítási lehetőség kiválasztása mikroszolgáltatásokhoz
- Alapkonfiguráció zónaredundáns webalkalmazása
- Magas rendelkezésre állású többrégiós webalkalmazás
- Advanced Azure Kubernetes Service (AKS) mikroszolgáltatás-architektúra
- CI/CD AKS-alkalmazásokhoz az Azure Pipelines használatával
Kapcsolódó architektúrák: