Bearbeiten

Steuerung einer Flotte von fahrerlosen Transportfahrzeugen

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

Diese Beispielarchitektur zeigt einen End-to-End-Ansatz für einen OEM (Original Equipment Manufacturer, Originalgerätehersteller) in der Automobilbranche und umfasst eine Referenzarchitektur und mehrere veröffentlichte unterstützende Open-Source-Bibliotheken, die wiederverwendet werden können. Microsoft hat die Fahrzeugsteuerungssoftware so überarbeitet, dass sie hoch verfügbar, georedundant und anbieterneutral ist sowie in einem Hybrid Cloud-Kontext ausgeführt werden kann.

Aufbau

Georedundanz mit Failover ohne Ausfallzeit für 99,9 % Verfügbarkeit und Notfallwiederherstellung

Diagramm einer Instanz des Back-Ends, bestehend aus den folgenden Komponenten, die in zwei Azure-Regionen bereitgestellt werden: Azure IoT Hub, Ingestion, RabbitMQ, Mission State, Vehicle State, Job Manager und Geo DB.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

  • Eine Instanz des Backends, bestehend aus den folgenden Komponenten, wird in zwei Azure-Regionen bereitgestellt: Azure IoT Hub, Ingestion, RabbitMQ, Mission State, Vehicle State, Job Manager und Geo DB. IoT Hub ist mit einer aus den verschiedenen Anwendungen bestehenden Microservice-Architektur verbunden, die auf Azure App Service mithilfe des Web-Apps-Features von Azure App Service, Web-App für Container oder Kubernetes bereitgestellt werden kann.
  • Eine übergeordnete Instanz bestimmt, welches Back-End die AGVs im Fertigungsbereich zu einem gegebenen Zeitpunkt steuert. Wenn beim zuständigen Back-End ein Fehler auftritt, überträgt die übergeordnete Instanz die Steuerung sofort an das Back-End in der anderen Region.
  • Dank dieser georedundanten Failoverarchitektur ohne Ausfallzeit erreicht die in Azure ausgeführte AGV-Steuerungssoftware eine Verfügbarkeit von 99,9 %, vorausgesetzt, dass es zu keiner Einschränkung durch die Internetverbindung und externe Subsysteme wie SAP kommt.

Kubernetes und RabbitMQ für Rechenzentrumsunabhängige Bereitstellungen

Diagramm von auf Azure IoT Edge-Gerät bereitgestelltem Kubernetes und RabbitMQ

Laden Sie eine Visio-Datei dieser Architektur herunter.

In Szenarien, in denen die Internetverbindung zwischen einer Fertigungsstätte und Azure ein einschränkender Faktor ist, kann unsere AGV-Steuerungssoftware auch auf lokalen Computeknoten bereitgestellt werden. Durch die Verwendung von Kubernetes und RabbitMQ als plattformunabhängige Technologien wird die oben beschriebene Anwendungsschicht auf einem Azure IoT Edge-Gerät bereitgestellt.

Implementierung der VDA 5050-Spezifikation für Anbieterunabhängige Kommunikation mit AGVs

Diagramm des Back-Ends der AGV-Steuerungslösung in Azure

Laden Sie eine Visio-Datei dieser Architektur herunter.

Dank Konformität mit der VDA 5050-Spezifikation für Fahrzeugschnittstellenkann unsere AGV-Steuerungssoftware mit allen Arten von AGVs verschiedener Hersteller kommunizieren, die auch VDA 5050 erfüllen.

Workflow

In dieser Architektur sehen Sie eine Übersicht über die verschiedenen Dienste und Komponenten des Back-Ends der AGV-Steuerungslösung in Azure:

  • Wenn Entwickler neuen Code committen, scannt GitHub Actions automatisch den Code, um schnell Schwachstellen und Codierungsfehler zu ermitteln. Es kann auch verwendet werden, um Anwendungen und Infrastrukturkomponenten automatisch bereitzustellen.
  • In einer Containerregistrierung werden die Containerimages für die verschiedenen Dienste des Back-Ends der AGV-Steuerungslösung gespeichert.
  • Back-End-Dienste werden in Web-App für Container bereitgestellt.
  • Diese Back-End-Dienste können mithilfe des VDA 5050-Protokolls eine Verbindung mit externen Systemen herstellen. Sie können sich auch mit einer verwalteten Streamingplattform wie Kafka verbinden und Fahrzeuginformationen in einer Azure SQL-Datenbank speichern.
  • Azure Key Vault speichert Kennwörter, Schlüssel und Zertifikate.
  • Die Protokollierung und Überwachung der als Back-End-Dienste ausgeführten Anwendungen geschieht durch Application Insights.
  • Verwaltete Identitäten stellen eine Verbindung mit den verschiedenen Diensten und Ressourcen in Azure her, sodass Entwickler keine Anmeldeinformationen verwalten müssen. Sie stellen eine Identität bereit, mit deren Hilfe Anwendungen eine Verbindung mit Ressourcen herstellen können, die die Microsoft Entra-Authentifizierung unterstützen.

Komponenten

Azure App Service ist eine Platform as a Service (PaaS) zum Erstellen und Hosten von Apps auf verwalteten VMs. Es verwaltet die zugrundeliegende Compute-Infrastruktur, auf der Ihre Apps ausgeführt werden. App Service ermöglicht das Überwachen von Kontingenten zur Ressourcenverwendung und App-Metriken, Protokollieren von Diagnoseinformationen und Anzeigen von Warnungen basierend auf Metriken.

Azure Virtual Network ist der Grundbaustein für Ihr privates Netzwerk in Azure. Durch diesen Dienst können zahlreiche Arten von Azure-Ressourcen (beispielsweise Azure-VMs) sicher untereinander, aber auch mit dem Internet und mit lokalen Netzwerken kommunizieren.

IoT Hub ist ein in der Cloud gehosteter, verwalteter PaaS-Dienst, der als zentraler Nachrichtenhub für die bidirektionale Kommunikation zwischen einer IoT-Anwendung und den Geräten dient, die von der Anwendung verwaltet werden.

Azure Container Apps ist ein vollständig verwalteter serverloser Containerdienst zum Erstellen und Bereitstellen von Containern im großen Stil.

Azure Container Registry ist ein verwalteter, privater Docker-Registrierungsdienst, der auf Version 2.0 der Open-Source-Docker-Registrierung basiert. Sie können Azure-Containerregistrierungen mit Ihren vorhandenen Pipelines für die Containerentwicklung und -bereitstellung verwenden, oder Azure Container Registry Tasks nutzen, um Containerimages in Azure zu erstellen. Erstellen Sie bedarfsgesteuerte oder voll automatisierte Builds mit Triggern wie etwa Quellcode-Commits und Basisimage-Aktualisierungen.

Microsoft Entra ID ist der cloudbasierte Identitäts- und Zugriffsverwaltungsdienst, der Benutzer*innen, Dienste und Anwendungen authentifiziert.

Azure Storage bietet eine langlebige, hochverfügbare und extrem skalierbare Cloudspeicherlösung. Es umfasst Objekt-, Datei-, Datenträger-, Warteschlangen- und Tabellenspeicherfunktionen.

RabbitMQ ist eine Open-Source-Nachrichtenbrokersoftware, die ursprünglich die Advance Message Queueing Protocol nutzte und seitdem um eine Plug-In-Architektur erweitert wurde, um das Streaming Text Oriented Messaging Protocol, MQ Telemetry Transport und andere Protokolle zu unterstützen.

Azure Virtual Machines bietet bedarfsgesteuerte, skalierbare Computingressourcen, die Ihnen die Flexibilität der Virtualisierung bieten, ohne physische Hardware kaufen und verwalten zu müssen.

Azure SQL-Datenbank ist eine vollständig verwaltete PaaS-Datenbank-Engine, bei der die meisten Funktionen für die Datenbankverwaltung ohne Benutzereingriff erfolgen, z. B. Upgrades, Patches, Sicherungen und Überwachung.

Azure Key Vault ist ein Clouddienst zum sicheren Speichern und Zugreifen auf Geheimnisse. Als Geheimnis wird alles bezeichnet, für das Sie den Zugriff streng kontrollieren möchten, z. B. API-Schlüssel, Kennwörter, Zertifikate oder kryptografische Schlüssel.

Application Insights, ein Feature von Azure Monitor, ist ein erweiterbarer Dienst zur Verwaltung der Anwendungsleistung (Application Performance Management, APM) für Entwickler und DevOps-Profis. Sie können damit Ihre aktiven Anwendungen überwachen. Der Dienst erkennt automatisch Leistungsanomalien und verfügt über leistungsstarke Analysetools, mit denen Sie Probleme diagnostizieren und nachvollziehen können, wie Ihre App von den Benutzern verwendet wird.

Alternativen

Diese Architektur verwendet Kubernetes und das Web-Apps-Feature von Azure App Service zum Ausführen der Anwendungen für diese Lösung. Alternativ können Sie diese Microservices in Azure Container Instances ausführen, was die schnellste und einfachste Möglichkeit zum Ausführen eines Containers in Azure darstellt, ohne einen Dienst auf höherer Ebene wie Azure Kubernetes Service (AKS) verwenden zu müssen.

Im lokal gehosteten Beispiel werden Azure-VMs verwendet, die auch durch Containertechnologien ersetzt werden können.

Eine weitere Option zum Ausführen dieser Dienste ist Azure Kubernetes Service (AKS). Dabei handelt es sich um serverloses Kubernetes zur Ausführung von Microservices, integrierte CI/CD-Funktionen (Continuous Integration und Continuous Delivery) sowie Sicherheit und Governance auf Enterprise-Niveau.

Erwägen Sie auch den Einsatz von Azure Monitor in Kombination mit Application Insights, um die Leistung Ihrer Anwendungen, Container, Datenbanken und anderen Ressourcen zu analysieren und zu optimieren sowie Netzwerkprobleme zu überwachen und zu diagnostizieren.

Diese Architektur verwendet RabbitMQ als Nachrichtenbroker. Microsoft Azure bietet auch native Unterstützung für Messaginglösungen wie Azure Queue Storage oder Azure Service Bus. Einen Vergleich finden Sie unter Azure Storage- und Service Bus-Warteschlangen – Vergleich und Gegenüberstellung.

Die Anwendungen und Dienste in Azure werden mithilfe von Terraform-Skripts bereitgestellt. Erwägen Sie die Verwendung nativer Azure-Azure Resource Manager(ARM)-Vorlagen oder von Bicep zum Erstellen von Skripts.

Szenariodetails

Die Automobilindustrie nutzt automatisierten fahrerlose Transportfahrzeuge (Automated Guided Vehicles, AGVs), um Teile an die Fließbänder zu liefern. AGVs sind ein unternehmenskritischer Bestandteil der Just-in-Time-Fertigung und automatisierten Logistik im Fertigungsbereich. Fertigungsbereiche mit AGVs sind meist mit drei Herausforderungen konfrontiert:

  • Verfügbarkeit: Jede Dienstunterbrechung beeinträchtigt die Produktion.
  • Konnektivität. In Fertigungsbereichen fehlt häufig eine zuverlässige Verbindung mit der öffentlichen Cloud.
  • Abhängigkeit von Anbietern. Herkömmliche AGV-Lösungen basieren auf proprietären Kommunikationsprotokollen.

Diese Beispielarchitektur ist in drei betriebstechnische Bereiche unterteilt:

  • Eine Azure-basierte Referenzarchitektur für die Steuerung der Fahrzeuge mit Georedundanz, Failover ohne Ausfallzeit, 99,9 % Verfügbarkeit und effizienter Notfallwiederherstellung.
  • Eine rechenzentrumsunabhängige und lokale Bereitstellung auf Basis von Kubernetes und RabbitMQ.
  • Anbieterneutrale AGV-Kommunikation, die auf der allgemeinen VDA 5050-Spezifikation basiert.

Mögliche Anwendungsfälle

Diese Lösung eignet sich ideal für die Fertigungs-, Automobil- und Transportbranche. Sie ist für die folgenden Szenarien relevant:

  • Der Kunde verwendet derzeit AGVs in seinem Fertigungsprozess.
  • Die AGVs des Kunden haben eine niedrige Verfügbarkeit, was sich auf die Rendite (ROI) auswirkt.
  • Der Fertigungsbereich verfügt über eine unbeständige Verbindung mit der öffentlichen Cloud.
  • Der Kunde ist Mitglied der Open Manufacturing Platform (OMP).
  • Der Kunde ist Mitglied der OMP-Arbeitsgruppe „Autonomous Transport System“ (OMP ATS).

Zentrale Probleme

Die kostengünstige Produktion von Waren erfordert die Automatisierung des Fertigungsprozesses und den Just-in-Time-Transport von Teilen ans Fließband. Durch den automatischen Transport von Teilen ans Fließband tragen fahrerlose Transportfahrzeuge sowohl zur Just-in-Time-Fertigung als auch zur Automatisierung der Logistik im Fertigungsbereich bei. In einem typischen Massenproduktionswerk für PKWs wird z. B. pro Minute ein PKW hergestellt. Daher führt jede Minute Ausfallzeit der Fließbänder in einem Werk zu einem finanziellen Verlust in der Größenordnung von zehntausenden Euros. Automobilhersteller brauchen automatisierte Systeme mit hoher Zuverlässigkeit und Verfügbarkeit und stehen vor einer Reihe von Herausforderungen:

  • Eingeschränkte Verfügbarkeit. Vorhandene AGV-Fahrzeugsteuerungssoftware erfüllt nicht die Anforderung von 99,9 % Verfügbarkeit.
  • Mangelhafte Konnektivität. Einige Produktionsanlagen verfügen nicht über eine ausreichend stabile Internetverbindung mit der erforderlichen Bandbreite, um die Kommunikation zwischen der in der öffentlichen Azure-Cloud gehosteten AGV-Steuerungssoftware und den AGVs in der Fertigung zu ermöglichen. Daher war das Hosten der AGV-Steuerungssoftware in einem Rechenzentrum, das sich außerhalb des Intranets eines solchen Produktionsbetriebs befindet, keine Option.
  • Abhängigkeit vom AGV-Anbieter. Es war nicht möglich, vorhandene AGVs durch neue von einem anderen Anbieter zu ersetzen, da die AGV-Fahrzeugsteuerungssoftware vom proprietären Kommunikationsprotokoll der vorhandenen AGVs abhängig war.

Eine Architektur, die Georedundanz mit Failover ohne Ausfallzeit, eine Verfügbarkeit von 99,9 % und Notfallwiederherstellung unterstützt, kann diese Probleme lösen.

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Verfügbarkeit und Skalierbarkeit

Die Anwendungen und Dienste, aus denen die AGV-Steuerungslösung besteht, werden in zwei Azure-Regionen unter Verwendung von Verfügbarkeitszonen bereitgestellt. Dabei handelt es sich um unabhängige physische Standorte innerhalb von Azure-Regionen, die VMs, Anwendungen und Daten vor Rechenzentrumsausfällen schützen. Azure App Service und AKS können auch in Verfügbarkeitszonen bereitgestellt werden. IoT Hub bietet Hochverfügbarkeit innerhalb von Regionen durch Redundanzen auf fast allen Schichten des Diensts.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

Verwenden Sie Microsoft Entra ID für die Identitäts- und Zugriffsteuerung und Azure Key Vault zum Verwalten von Schlüsseln und Geheimnissen.

DevOps

Für die automatische Bereitstellung der Microservices in Kubernetes oder Azure App Service sollten möglichst CI/CD-Prozesse verwendet werden. Ziehen Sie die Verwendung einer Lösung wie z. B. Azure DevOps oder GitHub Actions in Erwägung.

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Verwenden Sie im Allgemeinen den Azure-Preisrechner, um die Kosten zu schätzen, und verwenden Sie den AKS Calculator, um die Kosten für die Ausführung von AKS in Azure zu schätzen. Informationen zu weiteren Aspekten finden Sie im Abschnitt „Kostenoptimierung“ in Microsoft Azure Well-Architected Framework.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

Nächste Schritte

Produktdokumentation:

Microsoft-Lernpfade:

Artikel zur Übersicht über Azure Architecture Center:

Verwandte Architekturen: