Automatyczna kontrola floty pojazdów z przewodnikiem

Azure App Service
Azure Container Apps
Azure Container Registry
Azure IoT Hub
Azure Virtual Network

Ta przykładowa architektura przedstawia kompleksowe podejście producenta oryginalnego sprzętu motoryzacyjnego (OEM) oraz architekturę referencyjną oraz kilka opublikowanych bibliotek typu open source, które mogą być ponownie używane. Firma Microsoft ponownie wykryła oprogramowanie kontroli floty, aby było wysoce dostępne, geograficznie nadmiarowe i neutralne dla dostawcy oraz uruchamiane w kontekście chmury hybrydowej.

Architektura

Nadmiarowość geograficzna z trybem failover bez przestojów w przypadku dostępności 99,9% i odzyskiwania po awarii

Zrzut ekranu przedstawiający wystąpienie zaplecza składające się z następujących składników jest wdrażane w dwóch regionach świadczenia usługi Azure: Azure IoT Hub, pozyskiwanie, RabbitMQ, Mission State, Vehicle State, Job Manager i Geo DB.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

  • Wystąpienie zaplecza składające się z następujących składników jest wdrażane w dwóch regionach świadczenia usługi Azure: Azure IoT Hub, pozyskiwanie, RabbitMQ, Mission State, Vehicle State, Job Manager i Geo DB. Usługa IoT Hub łączy się z zestawem aplikacji utworzonych przy użyciu architektury mikrousług, którą można wdrożyć w usłudze aplikacja systemu Azure Service przy użyciu funkcji Web Apps usługi aplikacja systemu Azure Service, web app for Containers lub Kubernetes.
  • System wyborów lidera określa, które zaplecza kontroluje agv na hali sklepowej w dowolnym momencie. Jeśli zaplecze za nie powiedzie się, wybory lidera natychmiast przeniesie kontrolę do zaplecza w innym regionie.
  • Dzięki tej architekturze trybu failover geograficznie nadmiarowej i bez przestojów oprogramowanie sterujące grupy dostępności działające na platformie Azure osiąga dostępność na 99,9% pod warunkiem, że połączenie internetowe i podsystemy zewnętrzne, takie jak SAP, nie ograniczają czynników.

Kubernetes i RabbitMQ na potrzeby wdrożeń niezależnego od centrum danych

Zrzut ekranu przedstawiający rozwiązania Kubernetes i RabbitMQ wdrożone na urządzeniu usługi Azure IoT Edge.

Pobierz plik programu Visio z tą architekturą.

W scenariuszach, w których połączenie internetowe między zakładem produkcyjnym a platformą Azure jest czynnikiem ograniczającym, nasze oprogramowanie sterujące grupy dostępności można również wdrożyć w lokalnych węzłach obliczeniowych. Korzystając z platform Kubernetes i RabbitMQ jako technologii niezależnej od platformy, warstwa aplikacji opisana w poprzedniej sekcji jest wdrażana na urządzeniu usługi Azure IoT Edge.

Implementacja specyfikacji VDA 5050 dla komunikacji niezależnej od dostawcy agV

Zrzut ekranu przedstawiający rozwiązanie kontroli floty agv zaplecza na platformie Azure.

Pobierz plik programu Visio z tą architekturą.

Dzięki zgodności ze specyfikacją łącznika pojazdu VDA 5050 nasza firma AGV może komunikować się ze wszystkimi typami agV od różnych dostawców, które są również zgodne z VDA 5050.

Przepływ pracy

W tej architekturze można zapoznać się z omówieniem różnych usług i składników używanych do uruchamiania rozwiązania kontroli floty agV zaplecza na platformie Azure:

  • Gdy deweloperzy zatwierdzają nowy kod, funkcja GitHub Actions automatycznie skanuje kod, aby szybko znaleźć luki w zabezpieczeniach i błędy kodowania. Można go również użyć do automatycznego wdrażania aplikacji i składników infrastruktury.
  • Rejestr kontenerów przechowuje obrazy kontenerów używane dla różnych usług zaplecza kontroli floty agV.
  • Usługi zaplecza są wdrażane w usłudze Web App for Containers.
  • Te usługi zaplecza mogą łączyć się z systemami zewnętrznymi przy użyciu protokołu VDA 5050. Mogą również łączyć się z zarządzaną platformą przesyłania strumieniowego, taką jak Kafka, i mogą przechowywać informacje o pojazdach w bazie danych Azure SQL Database.
  • Usługa Azure Key Vault przechowuje hasła, klucze i certyfikaty.
  • Usługa Application Insights implementuje rejestrowanie i monitorowanie aplikacji, które działają jako usługi zaplecza.
  • Tożsamości zarządzane łączą się z różnymi usługami i zasobami na platformie Azure, eliminując konieczność zarządzania poświadczeniami przez deweloperów. Zapewniają one tożsamość aplikacji do użycia podczas nawiązywania połączenia z zasobami obsługującymi uwierzytelnianie firmy Microsoft Entra.

Składniki

aplikacja systemu Azure Service to platforma jako usługa (PaaS) służąca do tworzenia i hostowania aplikacji na zarządzanych maszynach wirtualnych. Zarządza podstawową infrastrukturą obliczeniową, na której działają aplikacje. Usługa App Service zapewnia monitorowanie limitów przydziałów użycia zasobów i metryk aplikacji, rejestrowanie informacji diagnostycznych i alertów na podstawie metryk.

Usługa Azure Virtual Network to podstawowy blok konstrukcyjny dla sieci prywatnej na platformie Azure. Ta usługa umożliwia korzystanie z wielu typów zasobów platformy Azure, takich jak usługa Azure Virtual Machines, w celu bezpiecznego komunikowania się ze sobą, internetu i sieci lokalnych.

IoT Hub to usługa zarządzana PaaS hostowana w chmurze, która działa jako centralne centrum komunikatów na potrzeby dwukierunkowej komunikacji między aplikacją IoT a zarządzanymi urządzeniami.

Azure Container Apps to w pełni zarządzana bezserwerowa usługa kontenera służąca do tworzenia i wdrażania kontenerów na dużą skalę.

Usługa Azure Container Registry to zarządzana prywatna usługa rejestru platformy Docker oparta na rejestrze platformy Docker typu open source 2.0. Rejestry kontenerów platformy Azure można używać z istniejącymi potokami programowania i wdrażania kontenerów lub użyć usługi Azure Container Registry Tasks do kompilowania obrazów kontenerów na platformie Azure. Twórz kompilacje na żądanie lub w pełni automatyzuj za pomocą wyzwalaczy, takich jak zatwierdzenia kodu źródłowego i aktualizacje obrazu podstawowego.

Microsoft Entra ID to oparta na chmurze usługa zarządzania tożsamościami i dostępem, która uwierzytelnia użytkowników, usługi i aplikacje.

Usługa Azure Storage oferuje trwałe, wysoce dostępne i skalowalne rozwiązanie magazynu w chmurze. Obejmuje on funkcje obiektów, plików, dysków, kolejek i magazynu tabel.

RabbitMQ to oprogramowanie brokera komunikatów typu open source, które pierwotnie zaimplementowało protokół Advanced Message Queuing Protocol i od tego czasu zostało rozszerzone o architekturę plug-in w celu obsługi przesyłania strumieniowego komunikatów zorientowanych na tekst protokołu, transportu telemetrii MQ i innych protokołów.

Usługa Azure Virtual Machines udostępnia skalowalne zasoby obliczeniowe na żądanie, które zapewniają elastyczność wirtualizacji bez konieczności kupowania i konserwacji sprzętu fizycznego.

Usługa Azure SQL Database to w pełni zarządzany aparat bazy danych PaaS, który obsługuje większość funkcji zarządzania bazami danych, takich jak uaktualnianie, stosowanie poprawek, tworzenie kopii zapasowych i monitorowanie bez udziału użytkownika.

Azure Key Vault to usługa w chmurze do bezpiecznego przechowywania i uzyskiwania dostępu do wpisów tajnych. Wpis tajny to wszystko, do czego chcesz ściśle kontrolować dostęp, na przykład klucze interfejsu API, hasła, certyfikaty lub klucze kryptograficzne.

Application Insights, funkcja usługi Azure Monitor, to rozszerzalna usługa zarządzania wydajnością aplikacji (APM) dla deweloperów i specjalistów DevOps. Służy do monitorowania aplikacji na żywo. Automatycznie wykrywa anomalie wydajności i zawiera zaawansowane narzędzia analityczne, które ułatwiają diagnozowanie problemów i zrozumienie, co użytkownicy rzeczywiście robią z aplikacją.

Alternatywy

Ta architektura używa platformy Kubernetes i funkcji Web Apps usługi aplikacja systemu Azure Service do uruchamiania aplikacji dla tego rozwiązania. Alternatywnie możesz uruchomić te mikrousługi w usłudze Azure Container Instances, która oferuje najszybszy i najprostszy sposób uruchamiania kontenera na platformie Azure bez konieczności wdrażania usługi wyższego poziomu, takiej jak usługa Azure Kubernetes Service (AKS).

W przykładzie lokalnym używane są maszyny wirtualne platformy Azure, które można również zastąpić technologiami kontenerów.

Inną opcją uruchamiania tych usług jest usługa Azure Kubernetes Service (AKS). Oferuje to rozwiązanie Kubernetes bezserwerowe do uruchamiania mikrousług, zintegrowanego środowiska ciągłej integracji i ciągłego wdrażania (CI/CD) oraz zabezpieczeń i ładu klasy korporacyjnej.

Rozważ również użycie usługi Azure Monitor w połączeniu z usługą Application Insights w celu analizowania i optymalizowania wydajności aplikacji, kontenerów, baz danych i innych zasobów oraz monitorowania i diagnozowania problemów z siecią.

Ta architektura używa biblioteki RabbitMQ jako brokera komunikatów. Platforma Microsoft Azure ma również natywną obsługę rozwiązań do obsługi komunikatów, takich jak Azure Queue Storage lub Azure Service Bus. Aby zapoznać się z porównaniem, zobacz Kolejki usługi Azure Storage i kolejki usługi Service Bus — porównywane i kontrastowane.

Aplikacje i usługi na platformie Azure są wdrażane przy użyciu skryptów programu Terraform . Rozważ użycie natywnych dla platformy Azure szablonów usługi Azure Resource Manager (szablonów usługi ARM) lub Bicep do tworzenia skryptów.

Szczegóły scenariusza

Produkcja motoryzacyjna opiera się na zautomatyzowanych pojazdach kierowanych (AGV), aby dostarczać części do linii montażowych. AgV to kluczowa część produkcji just-in-time i zautomatyzowanej logistyki podłogi sklepu. Podłogi sklepowe korzystające z agV często stoją przed trzema wyzwaniami:

  • Dostępność. Wszelkie przerwy w działaniu usługi zakłócają produkcję.
  • Łączność. Podłogi sklepu często nie mają niezawodnego połączenia z chmurą publiczną.
  • Blokada dostawcy. Tradycyjne rozwiązania agV opierają się na zastrzeżonych protokołach komunikacyjnych.

Ta przykładowa architektura jest podzielona na trzy obszary operacyjne:

  • Architektura referencyjna kontroli floty oparta na platformie Azure z nadmiarowością geograficzną, trybem failover bez przestojów, dostępnością 99,9% i wydajnym odzyskiwaniem po awarii.
  • Niezależne od centrum danych i lokalne wdrożenie oparte na rozwiązaniach Kubernetes i RabbitMQ.
  • Komunikacja agV neutralna od dostawcy oparta na wspólnej specyfikacji VDA 5050.

Potencjalne przypadki użycia

To rozwiązanie jest idealne dla przemysłu produkcyjnego, motoryzacyjnego i transportowego. Dotyczy to następujących scenariuszy:

  • Klient korzysta obecnie z grup dostępności w procesie produkcyjnym.
  • Klient korzysta z niskiej dostępności z grupami dostępności, co ma wpływ na zwrot z inwestycji (ROI).
  • Piętro sklepu ma niespójne połączenie z chmurą publiczną.
  • Klient jest członkiem platformy Open Manufacturing Platform (OMP).
  • Klient jest członkiem grupy roboczej OMP Autonomous Transport System (OMP ATS).

Kluczowe problemy

Produkcja towarów o niskich kosztach opiera się na automatyzacji procesu produkcyjnego i just-in-time dostawy części do linii montażowych. Automatycznie transportując części do linii montażowych, zautomatyzowane pojazdy sterowane przyczyniają się zarówno do produkcji just in time, jak i do automatyzacji logistyki podłogowej. W typowej masowej fabryce samochodów osobowych, na przykład jeden samochód pasażerski jest wdrażany co minutę. W związku z tym każda minuta przerwania linii montażowej w zakładzie produkcyjnym powoduje stratę finansową — w kolejności dziesiątek tysięcy dolarów amerykańskich. Producenci OEM w branży motoryzacyjnej wymagają wysokiego poziomu niezawodności i dostępności dla swoich zautomatyzowanych systemów, a także napotykają szereg wyzwań:

  • Problem z dostępnością. Istniejące oprogramowanie kontroli floty agV nie spełnia wymagań dotyczących dostępności na 99,9%.
  • Problem z łącznością. Niektóre zakłady produkcyjne nie mają wystarczająco stabilnego połączenia internetowego z wymaganą przepustowością, aby umożliwić komunikację między oprogramowaniem kontroli floty grupy dostępności hostowanym w chmurze publicznej platformy Azure a grupami dostępności na hali sklepowej. W związku z tym hostowanie oprogramowania kontroli floty agV w centrum danych, które znajduje się poza intranetem takiego zakładu produkcyjnego, nie było opcją.
  • Problem z blokadą dostawcy grupy dostępności. Nie można było zamienić istniejących grup dostępności na nowe z innego dostawcy, ponieważ oprogramowanie kontroli floty agV zależało od zastrzeżonego protokołu komunikacyjnego istniejących grup dostępności.

Architektura obsługująca nadmiarowość geograficzną z trybem failover bez przestojów dla dostępności 99,9% i odzyskiwania po awarii może rozwiązać te problemy.

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Dostępność i skalowalność

Aplikacje i usługi tworzące rozwiązanie kontroli floty agV są wdrażane w dwóch regionach świadczenia usługi Azure przy użyciu stref dostępności, które są unikatowymi lokalizacjami fizycznymi w regionach świadczenia usługi Azure, które pomagają chronić maszyny wirtualne, aplikacje i dane przed awariami centrum danych. usługa aplikacja systemu Azure i Usługę AKS można również wdrożyć w strefach dostępności. Usługa IoT Hub zapewnia wysoką dostępność wewnątrzregionu, implementując nadmiarowość w prawie wszystkich warstwach usługi.

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Omówienie filaru zabezpieczeń.

Użyj identyfikatora Entra firmy Microsoft do kontroli tożsamości i dostępu oraz użyj usługi Azure Key Vault do zarządzania kluczami i wpisami tajnymi.

DevOps

W przypadku automatycznego wdrażania mikrousług na platformie Kubernetes lub aplikacja systemu Azure Service najlepiej używać procesów ciągłej integracji/ciągłego wdrażania. Rozważ użycie rozwiązania, takiego jak Azure DevOps lub GitHub Actions.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.

Ogólnie rzecz biorąc, skorzystaj z kalkulatora cen platformy Azure, aby oszacować koszty i użyć kalkulatora usługi AKS, aby oszacować koszty uruchamiania usługi AKS na platformie Azure. Aby dowiedzieć się więcej o innych zagadnieniach, zobacz sekcję "Optymalizacja kosztów" w witrynie Microsoft Azure Well-Architected Framework.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Następne kroki

Dokumentacja produktu:

Ścieżki szkoleniowe firmy Microsoft:

Artykuły o centrum architektury platformy Azure:

Powiązane architektury: