Wenn Sie mit sensiblen Daten oder in einer stark regulierten Umgebung arbeiten, ist eine sichere Cloud-Infrastruktur für die Datenverarbeitung erforderlich. Die Cloud kann wie eine offene Umgebung im Web erscheinen und Sicherheitsbedenken hervorrufen. Wenn Sie Ihre Reise mit Azure beginnen und nicht genügend Erfahrung mit der Ressourcenkonfiguration haben, können leicht Entwurfs- und Implementierungsfehler auftreten, die die Sicherheit und Flexibilität Ihrer neuen Datenplattform beeinträchtigen können. In diesem Beitrag beschreibe ich die wichtigsten Aspekte beim Entwurf eines Cloud-Anpassungsrahmens für eine Datenplattform in Azure.

Bild vom Autor

Eine Azure-Landingzone ist die Grundlage für die Bereitstellung von Ressourcen in der öffentlichen Cloud. Sie enthält wesentliche Elemente für eine robuste Plattform. Zu diesen Elementen gehören Netzwerk, Identitäts- und Zugriffsverwaltung, Sicherheit, Governance und Compliance. Durch die Implementierung einer Landingzone können Organisationen den Konfigurationsprozess ihrer Infrastruktur optimieren und die Nutzung bewährter Methoden und Richtlinien sicherstellen.

Eine Azure-Zielzone ist eine Umgebung, die wichtigen Entwurfsprinzipien folgt, um die Migration, Modernisierung und Entwicklung von Anwendungen zu ermöglichen. In Azure werden Abonnements verwendet, um Anwendungs- und Plattformressourcen zu isolieren und zu entwickeln. Diese werden wie folgt kategorisiert:

  • Anwendungszielzonen: Abonnements für das Hosten anwendungsspezifischer Ressourcen.
  • Landezone der Plattform: Abonnements, die gemeinsame Dienste enthalten, wie z. B. Identitäts-, Konnektivitäts- und Verwaltungsressourcen für Anwendungszielzonen.

Diese Designprinzipien helfen Organisationen, erfolgreich in einer Cloud-Umgebung zu arbeiten und eine Plattform zu skalieren.

Bild vom Autor

Eine Datenplattformimplementierung in Azure umfasst einen Architekturentwurf auf hoher Ebene, bei dem Ressourcen für die Datenaufnahme, -transformation, -bereitstellung und -erkundung ausgewählt werden. Der erste Schritt kann einen Touchdown Zone-Entwurf erfordern. Wenn Sie eine sichere Plattform benötigen, die Finest Practices folgt, ist es entscheidend, mit einer Touchdown Zone zu beginnen. Sie hilft Ihnen dabei, die Ressourcen innerhalb von Abonnements und Ressourcengruppen zu organisieren, die Netzwerktopologie zu definieren und die Konnektivität mit lokalen Umgebungen über VPN sicherzustellen, während Sie gleichzeitig Namenskonventionen und Requirements einhalten.

Architektur-Design

Um eine Architektur für eine Datenplattform anzupassen, müssen die Ressourcen sorgfältig ausgewählt werden. Azure bietet native Ressourcen für Datenplattformen wie Azure Synapse Analytics, Azure Databricks, Azure Information Manufacturing unit und Microsoft Material. Die verfügbaren Dienste bieten verschiedene Möglichkeiten zum Erreichen ähnlicher Ziele und ermöglichen Ihnen Flexibilität bei der Auswahl Ihrer Architektur.

Zum Beispiel:

  • Datenaufnahme: Azure Information Manufacturing unit oder Synapse Pipelines.
  • Datenverarbeitung: Azure Databricks oder Apache Spark in Synapse.
  • Datenanalyse: Energy BI- oder Databricks-Dashboards.

Wir können Apache Spark und Python oder Low-Code-Drag-and-Drop-Instruments verwenden. Verschiedene Kombinationen dieser Instruments können uns dabei helfen, je nach unseren Fähigkeiten, Anwendungsfällen und Möglichkeiten die am besten geeignete Architektur zu erstellen.

Architektur auf hohem Niveau (Bild vom Autor)

Azure ermöglicht Ihnen auch die Verwendung anderer Komponenten wie Snowflake oder die Erstellung Ihrer Komposition mithilfe von Open-Supply-Software program, virtuellen Maschinen (VM) oder Kubernetes Service (AKS). Wir können VMs oder AKS nutzen, um Dienste für Datenverarbeitung, Exploration, Orchestrierung, KI oder ML zu konfigurieren.

Typische Datenplattformstruktur

Eine typische Datenplattform in Azure sollte aus mehreren Schlüsselkomponenten bestehen:

1. Instruments zur Datenaufnahme aus Quellen in ein Azure-Speicherkonto. Azure bietet Dienste wie Azure Information Manufacturing unit, Azure Synapse Pipelines oder Microsoft Material. Wir können diese Instruments verwenden, um Daten aus Quellen zu sammeln.

2. Information Warehouse, Information Lake oder Information Lakehouse: Abhängig von Ihren Architekturpräferenzen können wir unterschiedliche Dienste zur Datenspeicherung und ein Geschäftsmodell auswählen.

  • Für Information Lake oder Information Lakehouse können wir Databricks oder Material verwenden.
  • Für Information Warehouse können wir Azure Synapse, Snowflake oder MS Material Warehouse auswählen.

3. Zur Orchestrierung der Datenverarbeitung in Azure verfügen wir über Azure Information Manufacturing unit, Azure Synapse Pipelines, Airflow oder Databricks Workflows.

4. Die Datentransformation in Azure kann von verschiedenen Diensten durchgeführt werden.

  • Für Apache Spark: Databricks, Azure Synapse Spark Pool und MS Material Notebooks,
  • Für SQL-basierte Transformationen können wir Spark SQL in Databricks, Azure Synapse oder MS Material, T-SQL in SQL Server, MS Material oder Synapse Devoted Pool verwenden. Alternativ bietet Snowflake alle SQL-Funktionen.

Abonnements

Ein wichtiger Aspekt des Plattformdesigns ist die Planung der Segmentierung von Abonnements und Ressourcengruppen basierend auf Geschäftseinheiten und dem Softwareentwicklungslebenszyklus. Es ist möglich, separate Abonnements für Produktions- und Nichtproduktionsumgebungen zu verwenden. Mit dieser Unterscheidung können wir ein flexibleres Sicherheitsmodell und separate Richtlinien für Produktions- und Testumgebungen erreichen und Kontingentbeschränkungen vermeiden.

Abonnementsorganisation (Bild vom Autor)

Netzwerk

Ein virtuelles Netzwerk ähnelt einem herkömmlichen Netzwerk, das in Ihrem Rechenzentrum betrieben wird. Azure Digital Networks (VNet) bietet eine grundlegende Sicherheitsebene für Ihre Plattform. Durch das Deaktivieren öffentlicher Endpunkte für Ressourcen wird das Risiko von Datenlecks bei verlorenen Schlüsseln oder Kennwörtern erheblich verringert. Ohne öffentliche Endpunkte sind in Azure Storage-Konten gespeicherte Daten nur zugänglich, wenn eine Verbindung zu Ihrem VNet besteht.

Die Konnektivität mit einem lokalen Netzwerk unterstützt eine direkte Verbindung zwischen Azure-Ressourcen und lokalen Datenquellen. Je nach Verbindungstyp kann der Kommunikationsverkehr über einen verschlüsselten Tunnel über das Web oder eine personal Verbindung erfolgen.

Um die Sicherheit innerhalb eines virtuellen Netzwerks zu verbessern, können Sie Netzwerksicherheitsgruppen (NSGs) und Firewalls verwenden, um Regeln für eingehenden und ausgehenden Datenverkehr zu verwalten. Mit diesen Regeln können Sie den Datenverkehr basierend auf IP-Adressen, Ports und Protokollen filtern. Darüber hinaus ermöglicht Azure das Routing des Datenverkehrs zwischen Subnetzen, virtuellen und lokalen Netzwerken und dem Web. Durch die Verwendung benutzerdefinierter Routentabellen können Sie steuern, wohin der Datenverkehr geroutet wird.

Netzwerkkonfiguration (Bild vom Autor)

Namenskonvention

Eine Namenskonvention legt eine Standardisierung für die Namen von Plattformressourcen fest, wodurch diese selbsterklärender und einfacher zu verwalten sind. Diese Standardisierung erleichtert die Navigation durch verschiedene Ressourcen und deren Filterung im Azure-Portal. Eine intestine definierte Namenskonvention ermöglicht Ihnen die schnelle Identifizierung des Typs, des Zwecks, der Umgebung und der Azure-Area einer Ressource. Diese Konsistenz kann in Ihren CI/CD-Prozessen von Vorteil sein, da vorhersehbare Namen leichter parametrisiert werden können.

Bei der Namenskonvention sollten Sie die Informationen berücksichtigen, die Sie erfassen möchten. Der Customary sollte leicht zu befolgen, konsistent und praktisch sein. Es lohnt sich, Elemente wie Organisation, Geschäftseinheit oder Projekt, Ressourcentyp, Umgebung, Area und Instanznummer einzuschließen. Sie sollten auch den Umfang der Ressourcen berücksichtigen, um sicherzustellen, dass die Namen in ihrem Kontext eindeutig sind. Für bestimmte Ressourcen, wie z. B. Speicherkonten, müssen die Namen world eindeutig sein.

Beispielsweise könnte ein Databricks-Arbeitsbereich im folgenden Format benannt werden:

Namenskonvention (Bild vom Autor(

Beispielabkürzungen:

Bild vom Autor

Eine umfassende Namenskonvention umfasst normalerweise das folgende Format:

  • Ressourcentyp: Eine Abkürzung, die den Ressourcentyp darstellt.
  • Projektname: Eine eindeutige Kennung für Ihr Projekt.
  • Umfeld: Die Umgebung, die die Ressource unterstützt (z. B. Entwicklung, Qualitätssicherung, Produktion).
  • Area: Die geografische Area oder der Cloud-Anbieter, in dem die Ressource bereitgestellt wird.
  • Beispiel: Eine Nummer zur Unterscheidung zwischen mehreren Instanzen derselben Ressource.

Die Implementierung einer Infrastruktur über das Azure-Portal magazine unkompliziert erscheinen, erfordert jedoch häufig zahlreiche detaillierte Schritte für jede Ressource. Die hochsichere Infrastruktur erfordert Ressourcenkonfiguration, Vernetzung, personal Endpunkte, DNS-Zonen usw. Ressourcen wie Azure Synapse oder Databricks erfordern zusätzliche interne Konfigurationen, z. B. das Einrichten des Unity-Katalogs, das Verwalten geheimer Bereiche und das Konfigurieren von Sicherheitseinstellungen (Benutzer, Gruppen usw.).

Wenn Sie mit der Testumgebung fertig sind, müssen Sie dieselbe Konfiguration in den QA- und Produktionsumgebungen replizieren. Dabei können leicht Fehler passieren. Um potenzielle Fehler zu minimieren, die die Entwicklungsqualität beeinträchtigen könnten, empfiehlt es sich, für die Infrastrukturentwicklung einen Infrastructure-as-a-Code-Ansatz (IasC) zu verwenden. Mit IasC können Sie Cloud-Infrastrukturen als Code in Terraform oder Biceps erstellen und so mehrere Umgebungen mit konsistenten Konfigurationen bereitstellen.

In meinen Cloud-Projekten verwende ich Beschleuniger, um neue Infrastruktur-Setups schnell zu initiieren. Microsoft stellt ebenfalls Beschleuniger bereit, die verwendet werden können. Das Speichern einer Infrastruktur als Code in einem Repository bietet zusätzliche Vorteile, wie z. B. Versionskontrolle, Nachverfolgung von Änderungen, Durchführung von Codeüberprüfungen und Integration mit DevOps-Pipelines, um Änderungen in allen Umgebungen zu verwalten und zu fördern.

Wenn Ihre Datenplattform keine vertraulichen Informationen verarbeitet und Sie keine hochsichere Datenplattform benötigen, können Sie ein einfacheres Setup mit öffentlichem Internetzugang ohne virtuelle Netzwerke (VNet), VPNs usw. erstellen. In einem stark regulierten Bereich ist jedoch ein völlig anderer Implementierungsplan erforderlich. Dieser Plan erfordert die Zusammenarbeit mit verschiedenen Groups in Ihrer Organisation – beispielsweise DevOps-, Plattform- und Netzwerkteams – oder sogar externen Ressourcen.

Sie müssen eine sichere Netzwerkinfrastruktur, Ressourcen und Sicherheit einrichten. Erst wenn die Infrastruktur bereit ist, können Sie mit Aktivitäten im Zusammenhang mit der Entwicklung der Datenverarbeitung beginnen.

Wenn Sie diesen Artikel aufschlussreich fanden, lade ich Sie ein, Ihre Wertschätzung auszudrücken, indem Sie auf die Schaltfläche „Klatschen“ klicken oder ihn auf LinkedIn liken. Ihre Unterstützung wird sehr geschätzt. Bei Fragen oder Ratschlägen können Sie mich gerne kontaktieren unter LinkedIn.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert