In diesem Dokument werden die wichtigsten Designaspekte erläutert, die eine entscheidende Rolle bei der Gestaltung Ihrer gesamten Hybrid- und Multi-Cloud-Architektur spielen. Analysieren und bewerten Sie diese Überlegungen über die gesamte Lösungsarchitektur hinweg und berücksichtigen Sie dabei alle Arbeitslasten, nicht nur bestimmte.
Refactor
Bei einer Refaktorierungsmigration ändern Sie Ihre Arbeitslasten, um die Cloud-Funktionen nutzen zu können, nicht nur, damit sie in der neuen Umgebung funktionieren. Sie können die einzelnen Arbeitslasten in Bezug auf Leistung, Funktionen, Kosten und Nutzungskomfort optimieren. Wie in Refaktorieren: Verschieben und Verbessern hervorgehoben, können Sie In einigen Refaktorierungsszenarien Arbeitslasten anpassen, bevor sie in die Cloud migriert werden. Dieser Refaktorierungsansatz bietet die folgenden Vorteile, insbesondere wenn Sie eine Hybridarchitektur als langfristige Zielarchitektur erstellen möchten:
- Sie können den Deployment-Prozess verbessern.
- Durch die Nutzung der CI/CD-Infrastruktur und -Tools (Continuous Integration/Continuous Deployment, CI/CD) können Sie den Releaserhythmus beschleunigen und Feedbackzyklen verkürzen.
- Sie können die Refaktorierung als Grundlage verwenden, um eine hybride Architektur mit Anwendungsportabilität zu erstellen und zu verwalten.
Damit dieser Ansatz gut funktioniert, erfordert er in der Regel bestimmte Investitionen in lokale Infrastrukturen und Tools. Beispiel: Einrichtung einer lokale Container Registry und Bereitstellung von Kubernetes-Clustern für die Containerisierung von Anwendungen. Die Google Kubernetes Engine (GKE) Enterprise-Version kann bei diesem Ansatz für Hybridumgebungen nützlich sein. Weitere Informationen zu GKE Enterprise finden Sie im folgenden Abschnitt. Weitere Informationen finden Sie auch in der GKE Enterprise Hybrid Referenzarchitektur der Umgebung .
Arbeitslastportabilität
Bei Hybrid- und Multi-Cloud-Architekturen möchten Sie möglicherweise Arbeitslasten zwischen den Rechenumgebungen verschieben, in denen Ihre Daten gehostet werden. Berücksichtigen Sie die folgenden Faktoren, um ein nahtloses Verschieben von Arbeitslasten zwischen Umgebungen zu ermöglichen:
- Sie können eine Anwendung von einer Rechenumgebung in eine andere verschieben, ohne die Anwendung und ihr Betriebsmodell wesentlich zu ändern:
- Anwendungsbereitstellung und ‐verwaltung sind auf allen Computing-Umgebungen einheitlich.
- Transparenz, Konfiguration und Sicherheit sind in allen Rechenumgebungen einheitlich.
- Die Möglichkeit, eine Arbeitslast portierbar zu machen, sollte nicht mit der Cloud-First-Arbeitslast in Konflikt stehen.
Automatisierung der Infrastruktur
Automatisierung der Infrastruktur ist für die Übertragbarkeit in Hybrid- und Multi-Cloud-Architekturen unerlässlich Ein gängiger Ansatz zur Automatisierung der Infrastrukturerstellung ist die Infrastruktur als Code (IaC). IaC umfasst die Verwaltung Ihrer Infrastruktur in Dateien, anstatt Ressourcen wie eine VM, eine Sicherheitsgruppe oder einen Load-Balancer manuell in einer Benutzeroberfläche zu konfigurieren. Terraform ist ein beliebtes IaC-Tool, mit dem Infrastrukturressourcen in einer Datei definiert werden. Mit Terraform können Sie auch die Erstellung dieser Ressourcen in heterogenen Umgebungen automatisieren.
Weitere Informationen zu den Terraform-Kernfunktionen, die Ihnen bei der Automatisierung von Bereitstellung und Verwaltung von Google Cloud-Ressourcen helfen können, siehe Terraform-Blueprints und -Module für Google Cloud
Darüber hinaus stehen Ihnen Konfigurationsverwaltungstools wie Ansible, Puppet oder Chef zur Verfügung, um einen gemeinsamen Bereitstellungs- und Konfigurationsprozess einzurichten. Alternativ können Sie ein Bildverankerungstool wie Packer zum Erstellen von VM-Images für verschiedene Plattformen verwenden. Mithilfe einer einzigen, gemeinsamen Konfigurationsdatei können Sie mit Packer und Cloud Build ein VM-Image zur Verwendung in Compute Engine erstellen. Schließlich gibt es Lösungen wie Prometheus und Grafana, die ein konsistentes Monitoring in allen Umgebungen gewährleisten.
Mithilfe dieser Tools können Sie eine gemeinsame Toolchain zusammenstellen, wie im folgenden logischen Diagramm dargestellt. Diese gängige Toolchain abstrahiert die Unterschiede zwischen Rechenumgebungen. Außerdem können Sie die Bereitstellung, Management und Monitoring vereinheitlichen.
Obwohl eine gemeinsame Toolchain Ihnen dabei helfen kann, Portabilität zu ermöglichen, weist sie einige der folgenden Schwachstellen auf:
- Die Verwendung von VMs als gemeinsame Grundlage kann die Implementierung echter Cloud-First-Anwendungen erschweren. Außerdem können Sie durch die Verwendung von VMs nur verhindern, dass Sie Cloud-verwaltete Dienste nutzen. Möglicherweise verpassen Sie Gelegenheiten, den Verwaltungsaufwand zu reduzieren.
- Der Aufbau und die Pflege einer gemeinsamen Toolchain verursacht Gemein- und Betriebskosten.
- Wenn die Toolchain erweitert wird, kann sie auf die spezifischen Anforderungen Ihres Unternehmens zugeschnitten sein. Diese erhöhte Komplexität kann zu steigenden Schulungskosten beitragen.
Bevor Sie sich für die Entwicklung von Tools und Automatisierung entscheiden, sollten Sie sich mit den verwalteten Diensten Ihres Cloud-Anbieters vertraut machen. Wenn Ihr Anbieter verwaltete Dienste anbietet, die denselben Anwendungsfall unterstützen, können Sie einen Teil der Komplexität abstrahieren. So können Sie sich auf die Arbeitslast und die Anwendungsarchitektur konzentrieren, anstatt auf die zugrunde liegenden Infrastruktur.
Beispielsweise können Sie das Kubernetes-Ressourcenmodell zur Automatisierung der Erstellung von Kubernetes-Clustern mithilfe eines deklarativen Konfigurationsansatz nutzen. Sie können die Konvertierung in Deployment Manager zum Konvertieren Ihrer Deployment Manager-Konfigurationen und -Vorlagen auf andere deklarative Konfigurationsformate nutzen, die von Google Cloud unterstützt werden (wie Terraform und das Kubernetes-Ressourcenmodell), damit sie portierbar sind, wenn Sie veröffentlichen.
Sie können auch überlegen, die Erstellung von Projekten und die Erstellung von Ressourcen innerhalb dieser Projekte zu automatisieren. Diese Automatisierung kann Ihnen helfen, einen Infrastruktur-als-Code-Ansatz für der Projektbereitstellung zu implementieren.
Container und Kubernetes
Mit in der Cloud verwalteten Funktionen lässt sich die Komplexität des Aufbaus und der Pflege einer benutzerdefinierten Toolkette reduzieren, um die Automatisierung und Portabilität von Workloads zu erreichen. Wenn jedoch nur VMs als gemeinsame Grundlage verwendet werden, ist die Implementierung echter Cloud-First-Anwendungen schwierig.. Sie können diese allerdings umgehen, wenn Sie stattdessen Container und Kubernetes verwenden.
Dank Containern kann Ihre Software auch dann noch zuverlässig ausgeführt werden, wenn Sie sie von einer Umgebung in eine andere verschieben. Da Container Anwendungen von der zugrunde liegenden Hostinfrastruktur entkoppeln, erleichtern sie die Bereitstellung in allen Rechenumgebungen, z. B. in Hybrid- und Multi-Cloud-Umgebungen.
Kubernetes übernimmt die Orchestrierung, Bereitstellung, Skalierung und Verwaltung für Ihre Containeranwendungen. Es ist Open Source und unterliegt der Cloud Native Computing Foundation Mit Kubernetes werden die Dienste bereitgestellt, die die Grundlage eines Cloud-First-Ansatzes bilden. Weil Sie Kubernetes auf vielen Computing-Plattformen installieren und ausführen können können Sie damit auch eine gemeinsame Laufzeitebene in Rechenumgebungen etablieren.
- Kubernetes bietet dieselben Dienste und APIs in einer cloudbasierten und privaten Rechenumgebung. Darüber hinaus ist der Abstraktionsgrad viel höher als bei Verwendung von VMs, was generell weniger Vorarbeit bedeutet und die Produktivität der Entwickler verbessert.
- Im Gegensatz zu einer benutzerdefinierten Toolchain ist Kubernetes sowohl in der Entwicklung als auch der Anwendungsverwaltung weit verbreitet, sodass Sie auf vorhandene Expertise, Dokumentation und Unterstützung von Drittanbietern zurückgreifen können.
- Kubernetes unterstützt alle Containerimplementierungen, die:
- Kubernetes Container Runtime Interface (CRI) unterstützten
- Müssen von der Branche akzeptiert werden.
- Sind an kein bestimmtes Anbieter gebunden.
Wenn eine Arbeitslast in Google Cloud ausgeführt wird, können Sie den Aufwand für die Installation und den Betrieb von Kubernetes mithilfe einer verwalteten Kubernetes-Plattform wie Google Kubernetes Engine (GKE) vermeiden. So können die Betriebsmitarbeiter ihren Schwerpunkt von der Erstellung und Wartung der Infrastruktur auf die Erstellung und Wartung von Anwendungen verlagern.
Sie können auch Autopilot verwenden, einen GKE-Betriebsmodus, der die Clusterkonfiguration verwaltet, einschließlich der Knoten, Skalierung, Sicherheit und anderer vorkonfigurierter Einstellungen. Berücksichtigen Sie bei der Verwendung von GKE Autopilot Ihre Skalierungsanforderungen und seine Skalierungslimits.
Technisch gesehen können Sie Kubernetes in vielen Rechenumgebungen installieren und ausführen, um eine gemeinsame Laufzeitebene einzurichten. In der Praxis kann das Erstellen und Betreiben einer solchen Architektur jedoch komplexer werden. Die Architektur wird noch komplexer, wenn Sie eine Sicherheitskontrolle auf Containerebene (Service Mesh) benötigen.
Um die Verwaltung von Multi-Cluster-Bereitstellungen zu vereinfachen, können Sie GKE Enterprise verwenden, um moderne Anwendungen überall in großem Maßstab auszuführen. GKE enthält leistungsstarke verwaltete Open-Source-Komponenten, mit denen Arbeitslasten gesichert, Compliancerichtlinien erzwungen und eine umfassende Beobachtbarkeit und Fehlerbehebung im Netzwerk bereitgestellt werden können.
Wie im folgenden Diagramm dargestellt, können Sie mit GKE Enterprise Multi-Cluster-Anwendungen als Flotten betreiben.
GKE Enterprise unterstützt die folgenden Designoptionen zur Unterstützung von hybriden und Multi-Cloud-Architekturen:
Design und Aufbau von Cloud-ähnlichen Erfahrungen vor Ort oder einheitliche Lösungen für den Übergang von Anwendungen in die GKE Enterprise Hybrid-Umgebung. Weitere Informationen siehe Referenzarchitektur der hybriden GKE Enterprise-Umgebung
Entwerfen und erstellen Sie eine Lösung, um die Multi-Cloud-Komplexität mit einer konsistenten Governance, einem konsistenten Betrieb und einem Sicherheitsstatus mit GKE Multi-Cloud zu bewältigen. Weitere Informationen finden Sie in der GKE Multi-Cloud Dokumentation.
GKE Enterprise bietet auch logische Gruppierungen ähnlicher Umgebungen mit konsistenter Sicherheit, Konfiguration und Dienstverwaltung. GKE Enterprise unterstützt beispielsweise verteilten Zero-Trust-Architektur. In einer verteilten Zero-Trust-Architektur können Dienste, die vor Ort oder in einer anderen Cloud-Umgebung bereitgestellt werden, über eine sichere End-to-End mTLS-Kommunikation von Dienst zu Dienst miteinander kommunizieren.
Überlegungen zur Portabilität von Arbeitslasten
Kubernetes und GKE Enterprise bieten eine Abstraktionsebene für Arbeitslasten, hinter der sich die vielen Komplexitäten und Unterschiede zwischen Computing-Umgebungen verbergen können. In der folgenden Liste werden einige dieser Abstraktionen beschrieben:
- Eine Anwendung könnte zwar mit minimalen Änderungen in eine andere Umgebung portierbar sein, aber nicht unbedingt in beiden Umgebungen die gleiche Leistung bringen.
- Unterschiede bei den zugrunde liegenden Rechen-, Infrastruktur- oder Netzwerkinfrastrukturen sowie bei der Nähe zu abhängigen Diensten können zu erheblichen Unterschieden in der Leistung führen.
- Das Verschieben einer Arbeitslast zwischen Rechenumgebungen kann auch bedeuten, dass Sie Daten verschieben müssen.
- Unterschiedliche Umgebungen können unterschiedliche Datenspeicherung und Managementdienstleistungen und Einrichtungen haben.
- Das Verhalten und die Leistung von Load-Balancern, die mit Kubernetes oder GKE Enterprise bereitgestellt werden, können zwischen Umgebungen variieren.
Datenverschiebung
Da es komplex sein kann, Daten in großem Umfang zwischen Computerumgebungen zu verschieben, freizugeben und darauf zuzugreifen, zögern Unternehmen möglicherweise, eine Hybrid- oder Multi-Cloud-Architektur aufzubauen. Diese Notwendigkeit kann zunehmen, wenn der Großteil ihrer Daten bereits lokal oder in einer Cloud gespeichert wird.
Die verschiedenen Optionen für die Datenverschiebung, die von Google Cloud angeboten werden, bieten Unternehmen jedoch ein umfassendes Angebot an Lösungen für die Verschiebung, Integration und Transformation ihrer Daten. Mit diesen Optionen können Unternehmen Daten in verschiedenen Umgebungen entsprechend ihren spezifischen Anwendungsfällen speichern, freigeben und darauf zugreifen. Diese Fähigkeit erleichtert es den Entscheidungsträgern von Unternehmen und Technologien letztendlich, Hybrid- und Multi-Cloud-Architekturen zu implementieren.
Die Datenverschiebung ist ein wichtiger Aspekt für die Hybrid- und Multi-Cloud-Strategie und -Architekturplanung. Ihr Team muss die verschiedenen geschäftlichen Anwendungsfälle und die dafür erforderlichen Daten identifizieren. Sie sollten auch über Speicherplatz, Kapazität, Barrierefreiheit und Verschiebungsmöglichkeiten nachdenken.
Wenn ein Unternehmen eine Datenklassifizierung für regulierte Branchen hat, kann diese Klassifizierung dabei helfen, Speicherorte und regionsübergreifende Datenbewegungsbeschränkungen für bestimmte Datenklassen zu identifizieren. Weitere Informationen finden Sie unter Schutz sensibler Daten: Der Schutz sensibler Daten ist ein vollständig verwalteter Dienst, mit dem Sie Ihre Daten-Assets ermitteln, klassifizieren und schützen können.
Weitere Informationen zum Prozess von der Planung einer Datenübertragung bis zur Verwendung von Best Practices bei der Umsetzung eines Plans finden Sie unter Migration zu Google Cloud: Große Datasets übertragen.
Sicherheit
Wenn Organisationen Hybrid- und Multi-Cloud-Architekturen einführen, kann ihre Angriffsfläche zunehmen, je nachdem, wie ihre Systeme und Daten auf verschiedene Umgebungen verteilt sind. In Verbindung mit der sich ständig weiterentwickelnden Bedrohungslandschaft können größere Angriffsflächen zu einem erhöhten Risiko von unbefugtem Zugriff, Datenverlust und anderen Sicherheitsvorfällen führen. Achten Sie bei der Planung und Implementierung von Hybrid- oder Multi-Cloud-Strategien sorgfältig auf die Sicherheit.
Weitere Informationen finden Sie unter Attack Surface Management für Google Cloud
Bei der Architektur einer Hybridarchitektur ist es technisch nicht immer machbar oder praktikabel, lokale Sicherheitsansätze auf die Cloud zu erweitern. Viele der Netzwerksicherheitsfunktionen von Hardware-Appliances sind jedoch Cloud-First-Funktionen und arbeiten auf verteilte Weise. Weitere Informationen über die Cloud-First-Netzwerksicherheitsfunktionen von Google Cloud finden Sie unter Cloud-Netzwerksicherheit.
Hybrid- und Multi-Cloud-Architekturen können die Sicherheit erhöhen wie Konsistenz und Beobachtbarkeit. Jeder Anbieter öffentlicher Clouds hat seinen eigenen Sicherheitsansatz, einschließlich verschiedener Modelle, Best Practices, Infrastruktur- und Anwendungssicherheitsfunktionen, Complianceverpflichtungen und sogar den Namen von Sicherheitsdiensten. Diese Inkonsistenzen können das Sicherheitsrisiko erhöhen. Das Modell der geteilten Verantwortung der einzelnen Cloud-Anbieter kann sich unterscheiden. Es ist wichtig, den genauen Abschluss der Verantwortlichkeiten in einer Multi-Cloud-Architektur zu identifizieren und zu verstehen.
Beobachtbarkeit ist wichtig, um Erkenntnisse und Messwerte aus den verschiedenen Umgebungen. In einer Multi-Cloud-Architektur bietet jede Cloud in der Regel Tools zum Monitoring des Sicherheitsstatus und von Fehlkonfigurationen. Diese Tools bieten jedoch eine isolierte Sichtbarkeit, wodurch die Entwicklung erweiterter Bedrohungsdaten im gesamten verhindert wird. Daher muss das Sicherheitsteam zwischen Tools und Dashboards wechseln, um die Cloud zu schützen. Ohne eine umfassende End-to-End-Sicherheitstransparenz für hybride und Multi-Cloud-Umgebungen ist es schwierig, Schwachstellen zu priorisieren und zu entschärfen.
Um die vollständige Sichtbarkeit und Status aller Umgebungen zu erhalten, priorisieren Sie Ihre Sicherheitslücken und minimieren Sie die von Ihnen erkannten Sicherheitslücken. Wir empfehlen ein zentralisiertes Sichtbarkeitsmodell. Ein zentralisiertes Sichtbarkeitsmodell vermeidet die Notwendigkeit einer manuellen Korrelation zwischen verschiedenen Tools und Dashboards von unterschiedlichen Plattformen. Weitere Informationen finden Sie unter Hybrid- und Multi-Cloud-Monitoring- und -Logging-Muster.
Als Teil Ihrer Planung, um Sicherheitsrisiken zu minimieren und Arbeitslasten in der Google Cloud bereitzustellen, und um Sie bei der Planung und Gestaltung Ihrer Cloud-Lösung zu unterstützen, damit Sie Ihre Sicherheits- und Compliance-Ziele erreichen, sollten Sie das Google Cloud Security Best Practices Center und den Enterprise Foundations Blueprint kennenlernen.
Complianceziele können variieren, da sie von sowohl branchenspezifischen Vorschriften als auch den unterschiedlichen regulatorischen Anforderungen verschiedener Regionen und Länder beeinflusst werden. Weitere Informationen finden Sie in der Compliance-Ressourcen-Center. Hier einige der wichtigsten Empfehlungen: für eine sichere Hybrid- und Multi-Cloud-Architektur:
Entwickeln Sie eine einheitliche, maßgeschneiderte Cloud-Sicherheitsstrategie und -architektur. Hybrid- und Multi-Cloud-Sicherheitsstrategien sollten auf die spezifischen Anforderungen und Ziele Ihrer Organisation zugeschnitten sein.
Es ist wichtig, die ausgewählte Architektur und die Zielumgebung zu verstehen, bevor Sie Sicherheitskontrollen implementieren, da jede Umgebung unterschiedliche Features, Konfigurationen und Dienste verwenden kann.
Einheitliche Sicherheitsarchitektur für Hybrid- und Multi-Cloud-Umgebungen nutzen.
Cloud-Design und -Bereitstellungen standardisieren, insbesondere Sicherheitsdesign und Funktionen. Dies kann die Effizienz verbessern und eine einheitliche Governance und Tools ermöglichen.
Verwenden Sie mehrere Sicherheitskontrollen.
In der Regel kann keine einzelne Sicherheitskontrolle alle Sicherheitsanforderungen angemessen erfüllen. Daher sollten Organisationen eine Kombination aus Sicherheitskontrollen in einem mehrschichtigen Verteidigungsansatz verwenden, der auch als Defense-in-Depth bezeichnet wird.
Sicherheitsmaßnahmen überwachen und kontinuierlich verbessern: Ihre Organisation sollte ihre verschiedenen Umgebungen auf Sicherheitsbedrohungen und Sicherheitslücken überwachen. Außerdem sollte es versuchen, seinen Sicherheitsstatus kontinuierlich zu verbessern.
Erwägen Sie die Verwendung von Cloud Security Posture Management (CSPM), um Fehlkonfigurationen und Cyberbedrohungen zu beheben. CSPM bietet Bewertungen von Sicherheitslücken in Hybrid- und Multi-Cloud-Umgebungen.
Security Command Center ist eine integrierte Sicherheits- und Risikomanagementlösung für Google Cloud mit der Sie unter anderem Fehlkonfigurationen und Sicherheitslücken identifizieren können. Security Health Analytics ist ein verwaltetes Tool zum Prüfen von Sicherheitslücken. Das ist ein Feature von Security Command Center, das Sicherheitsrisiken und Sicherheitslücken in Ihrer Google Cloud-Umgebung identifiziert und Empfehlungen zur Behebung dieser Probleme gibt.
Mit Mandiant Attack Surface Management für Google Cloud kann Ihre Organisation die Assets ihrer Multi-Cloud- oder Hybrid-Cloud-Umgebung besser erkennen. Assets. Er erkennt automatisch Assets von mehreren Cloud-Anbietern, DNS und die erweiterte externe Angriffsfläche, um Ihrem Unternehmen ein tieferes Verständnis der Umgebung zu vermitteln. Nutzen Sie diese Informationen, um die Schwachstellen und Gefährdungen, die das größte Risiko darstellen, vorrangig zu beseitigen.
- Cloud Security Information and Event Management-Lösung (SIEM): zum Erfassen und Analysieren von Sicherheitslogs aus Hybrid- und Multi-Cloud-Umgebungen um Bedrohungen zu erkennen und darauf zu reagieren. Google Security Operations SIEM von Google Cloud unterstützt Sie bei der Bereitstellung von Sicherheitsinformationen und -ereignissen. Dazu werden alle Ihre Sicherheitsdaten zentral erfasst, analysiert, erkannt und untersucht.