Einführung in die Frends Azure-Architektur

Grundlagen der Azure-Architektur

Ossi Galkin avatarGeschrieben vonOssi Galkin Vor über einer Woche aktualisiertTable of contents

Freunde Azure Architecture

Azure-Komponenten

Der Frends iPaaS-Dienst nutzt die folgenden Microsoft Azure-Komponenten und wird von den Rechenzentren Azure North Europe (Irland) und Azure West Europe (Niederlande) bereitgestellt:

Virtuelles Azure-Netzwerk

Das virtuelle Azure-Netzwerk ermöglicht den Azure-Ressourcen von Frends die sichere Kommunikation untereinander, mit dem Internet und mit lokalen Netzwerken.

Azure Web Application Firewall

Alle Verbindungen zu Frends werden mit gültigen SSL-Zertifikaten gesichert und laufen über die Azure WAF.

Azure SQL

Ein Agent verfügt über verschiedene Datenbanken zum Speichern von Konfigurationsdaten, zum Zwischenspeichern von Protokolldaten und zum Speichern eines gemeinsamen Status zwischen Agenten innerhalb einer Agentengruppe.

Wenn Agenten innerhalb einer Agentengruppe so konfiguriert sind, dass sie als Hochverfügbarkeitsgruppe (HA-Gruppe) funktionieren (dies ist standardmäßig eingestellt, wenn mehr als ein Agent vorhanden ist), benötigen sie einen gemeinsamen Statusspeicher, um die Dateiüberwachung, Zeitplanung und bedingten Auslöser zu orchestrieren.

Es ist möglich, aber nicht empfehlenswert, mehr als einen Agenten ohne gemeinsamen Statusspeicher zu installieren. In diesem Fall führt nur ein vordefinierter primärer Agent (nicht dynamisch) Datei-, Zeitplan- und bedingte Trigger aus. Dies ist kein empfohlenes Installationsmodell und unterstützt möglicherweise nicht alle zukünftigen Funktionen.

Der Agent unterstützt die folgenden Datenbanken:

  • Microsoft SQL Server
    Kann für die Konfiguration und die gemeinsame Statusspeicherung verwendet werden
    Gesichert entweder durch SQL-Login oder integrierte Sicherheit
    Der Agent-Benutzer hat den folgenden Zugriff auf die Datenbank: db_datareader, db_datawriter, execute

  • SQLite
    Wird zum Zwischenspeichern von Protokolldaten verwendet, wenn kein Zugriff auf den Service Bus oder Azure Storage besteht.
    Kann vom plattformübergreifenden Agenten zur Konfigurationsspeicherung verwendet werden
    Kann vom plattformübergreifenden Agenten zur gemeinsamen Statusspeicherung in einer Nicht-HA-Konfiguration verwendet werden
    Gesichert durch Dateizugriff auf der lokalen Maschine

Azure Blob-Speicher

Der Zugriff des Agenten auf den Blob-Speicher ist SSL-gesichert und wird mit Shared Access Signatures (SAS) mit eingeschränktem Zugriff auf Blob-Container- oder Blob-Ebene authentifiziert. Der Agent verwendet den Blob-Speicher für die folgenden Zwecke:

  • Lesen und Schreiben in den großen Nachrichtenspeicher:
    Wird zum Speichern von Nachrichten verwendet, die nicht in eine einzelne Azure Service Bus-Nachricht passen (> 200 KB).
    Jede Agentengruppe verfügt über einen eigenen BLOB-Container zum Speichern großer Nachrichten
    Service Bus-Nachrichten enthalten einen SAS-signierten URI für den Zugriff auf den Blob mit den großen Nachrichten

  • Abrufen kompilierter Prozesse als NuGet-Pakete (NuGet-Repository) (wird vom Legacy-Agent verwendet)

  • Abrufen kompilierter Prozesse als Prozesshostpakete (Prozesshostpaketspeicher) (wird vom plattformübergreifenden Agenten verwendet)

Azure Service Bus

Der Agent erfordert eine Verbindung zur Azure- oder Cleura-Cloud, in der das Frends Control Panel gehostet wird. Er verwendet hauptsächlich den Azure Service Bus oder RabbitMQ als Nachrichtenbus für die Kommunikation und Azure Storage oder Ceph (Blob Storage) für größere Datenmengen.

Verbindungen zum Message Bus sind SSL-gesichert und der Agent verwendet zur Authentifizierung eine Verbindungszeichenfolge mit eingeschränktem Zugriff. Der Agent verwendet den Message Bus für folgende Zwecke:

  • Empfangen von Prozessbereitstellungen über das Control Panel

  • Empfangen anderer Konfigurationsdaten vom Control Panel, wie z. B. Umgebungsvariablen, API-Schlüsselkonfigurationen, OAuth-Einstellungen usw.

  • Senden von Prozessprotokolldaten an den Protokolldienst

  • Senden von Heartbeats und Systemprotokolldaten an den Log Service

  • Anfordern der Ausführung von Remote-Subprozessen auf Agenten in derselben Umgebung

  • Empfangen von Remote-Subprozess-Ausführungsanforderungen von Agenten in derselben Umgebung

  • Empfangen von Anfragen zur manuellen Prozessausführung vom Control Panel

Azure-Schlüsseltresor

Frends speichert sichere Schlüssel und Zertifikate im Azure Key Vault und kann bei Bedarf von der Webanwendung abgerufen werden.

Der nächste Artikel istEinführung in den Entwicklungsablauf


Verwandte ArtikelEinführung in die Erstellung und Ausführung von Prozessen durch FrendsTechnische Informationen zu Frends AgentsEinführung in den EntwicklungsablaufEinführung in den ProtokollierungsflussEinführung in Frends Connectivity