Getty Images/iStockphoto
8 Tipps für den Aufbau einer Multi-Cloud-DevOps-Strategie
DevOps-Praktiken bieten viele Vorteile für die Entwicklung, Bereitstellung und Überwachung von Anwendungen in komplexen IT-Umgebungen, die mehrere Cloud-Lösungen umfassen.
Die Nutzung mehrerer Cloud-Umgebungen wird in der Unternehmens-IT zunehmend üblich. Doch das Management einer Multi-Cloud-Infrastruktur kann für die IT-Abteilung entmutigend sein. Die Ausweitung des DevOps-Ansatzes auf Multi-Cloud-Umgebungen kann die Entwicklung, Bereitstellung und Wartung von Anwendungen unterstützen und vereinfachen.
Die Einbindung von DevOps in eine Multi-Cloud-Strategie kann für DevOps-Traditionalisten einige Kompromisse mit sich bringen. Aber solche Kompromisse sind nicht unbedingt etwas Schlechtes. Schließlich kann der DevOps-Prozess die Entwicklungs- und Wartungsarbeit in Multi-Cloud-Umgebungen demokratisieren und Unternehmen dabei unterstützen, Wettbewerbsvorteile zu erzielen.
1. Implementieren Sie eine Cloud-Management-Plattform
IT-Teams benötigen ein standardisiertes Toolset zur Verwaltung und Automatisierung der Anwendungsbereitstellung, Skalierung und Überwachung über mehrere Cloud-Umgebungen hinweg. Die Zentralisierung der Verwaltung und Bereitstellung aller Cloud-Services ist ein wesentlicher Bestandteil zur Erreichung dieses Ziels.
Self-Service-Tools zur Implementierung und Bereitstellung von Cloud-Services für die Softwareentwicklung sind entscheidend für die Ausweitung von DevOps auf einen Multi-Cloud-Kontext. Ein gut durchdachtes Cloud Brokerage umfasst detaillierte Servicekatalog-Beschreibungen für jeden verfügbaren Cloud-Service, seine Abhängigkeiten und Preise. Dies kommt sowohl dem Service Desk zugute, da er von zusätzlichen Aufgaben entlastet wird, als auch den Entwicklern, da sie effizient in verschiedenen Umgebungen arbeiten können.
Ein ausgereiftes Self-Service-Cloud-Brokerage zeichnet sich durch eine automatisierte Cloud-Kostenoptimierung aus, die die Entwickler innerhalb ihres Budgets hält und sie auf kostengünstigere Cloud-Service-Optionen aufmerksam macht. Das Brokerage sollte außerdem die Cloud-Ausgaben von einem vorher festgelegten Projektbudget abziehen.
2. Richten Sie ein zentrales Code-Repository ein
Erstellen Sie ein zentrales Repository für Infrastructure as Code und Anwendungscode mit Versionskontroll- und Collaboration-Tools, entweder als Teil einer All-in-One-DevOps-Plattform oder als eigenständiges Tool, das in CI/CD-Pipelines integriert werden kann. Die Einrichtung eines solchen Repositorys erleichtert die Teamarbeit und die gemeinsame Nutzung von Code über IT-Teams und Cloud-Umgebungen hinweg.
3. Setzen Sie auf Container
Einige Unternehmen setzen bereits Software in Containern ein, doch mit dem Wechsel zu einer Multi-Cloud-Umgebung ist es an der Zeit, sich auf Container umzustellen.
Unterstützen Sie Entwickler bei der Anpassung an containerisierte Umgebungen mit diesen Tipps:
- Schulen Sie Entwickler in der Container-Entwicklung.
- Entwickeln Sie ein Container Playbook und die dazugehörige Dokumentation, die detailliert beschreibt, wie das Unternehmen Container erstellt und testet. Erstellen Sie Richtlinien für die Beschaffung von Containern von Drittanbietern oder Open-Source-Containern und prüfen Sie diese auf Sicherheitslücken.
- Richten Sie ein sicheres Container-Repository ein, auf das nur autorisierte Entwickler sowie Qualitätssicherung und Systemadministratoren Zugriff haben.
4. Standardisieren Sie einen Cloud-agnostischen Entwicklungsansatz
In einer Multi-Cloud-Umgebung können IT-Teams versucht sein, sich an die Funktionen der einzelnen Cloud-Service-Anbieter (CSP) zu halten. Beim Aufbau einer Multi-Cloud-Infrastruktur sollte jedoch ein Cloud-agnostischer Ansatz für die Infrastruktur und das Anwendungsdesign verfolgt werden, damit die IT-Teams bei allen CSPs dieselben DevOps-Prozesse und denselben Code verwenden können.
5. Integrieren Sie den DevOps-Gedanken in eine Multi-Cloud-Strategie
Erweitern Sie DevOps auf eine Multi-Cloud-Umgebung, indem Sie Agilität, Leistung und Automatisierung in den Vordergrund stellen.
Praktizieren Sie Cloud Arbitrage, das heißt die Verlagerung von Workloads zwischen Cloud-Provider, um die Multi-Cloud-Infrastruktur zu optimieren, indem Sie von höherer Verfügbarkeit, niedrigeren Latenzzeiten und ausgehandelten Rabatten profitieren, die dafür sorgen, dass die Anwendungen die Service-Level-Agreements (SLA) mit den Kunden einhalten. Maximierung spezifischer Cloud-Provider für Anwendungen nach Region und Land, um Arbeitslasten zu optimieren und Latenzzeiten zu reduzieren.
6. Erfassen und Dokumentieren Sie Teamwissen und Richtlinien
Aktualisieren Sie etablierte DevOps-Prozesse, Playbooks, Richtlinien, Verfahren und Dokumentationen, um zu zeigen, wie IT-Teams in Multi-Cloud-Umgebungen arbeiten sollen. Bieten Sie IT-Teams anschließend Schulungen an, um sicherzustellen, dass sie die Richtlinien einhalten und die neuen Arbeitsabläufe befolgen.
Veröffentlichen Sie Dokumentation und Schulungen nicht nur in einem zentralen Repository. Suchen Sie stattdessen nach Möglichkeiten, Dokumentations- und Schulungsinhalte in CI/CD-Pipelines zu integrieren, damit IT-Teams während des gesamten Projektlebenszyklus problemlos darauf zugreifen können.
7. Passen Sie die DevOps-Tools an die Multi-Cloud-Umgebungen an
Bei richtiger Implementierung sollten DevOps-Praktiken und -Tools die Softwarebereitstellung in Multi-Cloud-Umgebungen vereinfachen. Eine bewährte Praxis ist die Standardisierung auf eine einzige Deployment-Plattform für IT-Teams. Obwohl dieser Schritt scheinbar gegen die für DevOps charakteristische Wahlfreiheit verstößt, passt er gut zum Aufkommen umfassender, zentralisierter DevOps-Plattformen.
Selbst wenn ein Unternehmen keine Plattform eines Drittanbieters zum Management des gesamten DevOps-Zyklus einsetzt, sind in einer Multi-Cloud-Umgebung CI/CD-Pipelines erforderlich, um die Erstellung, Prüfung und Bereitstellung von Anwendungen zu automatisieren.
8. Priorisieren Sie Monitoring, Observability und Protokollierung
Multi-Cloud-DevOps erfordert auch, dass IT-Teams einen Echtzeitüberblick über Toolchains und Cloud-Umgebungen haben. Um dieses Maß an Transparenz zu erreichen, müssen Monitoring-, Protokollierungs- und Observability-Tools eingesetzt werden, um Daten aus mehreren Cloud-Umgebungen zu sammeln und zu zentralisieren.
Nach der Implementierung einer Überwachungspraxis müssen die Daten den autorisierten technischen und geschäftlichen Interessengruppen zur Verfügung gestellt werden. Zentralisierte Dashboards bieten schnellen Zugriff auf verwertbare Erkenntnisse über die Anwendungsleistung und -verfügbarkeit in Multi-Cloud-Umgebungen.
Die Verwaltung von Umgebungen, die Infrastrukturen mehrerer Provider enthalten, ist ein wichtiger Anwendungsfall für die Beobachtung des gesamten Systems. Technologie- und Geschäftsinteressenten, und vor allem Sicherheitsteams, profitieren von detaillierten Ansichten und Berichten über Multi-Cloud-Umgebungen.