Cloud-Automatisierung
Cloud-Automatisierung ist ein weit gefasster Begriff. Gemeint sind damit Prozesse und Werkzeuge, die denen Unternehmen den manuellen Aufwand reduzieren, der mit der Bereitstellung und Verwaltung von Cloud-Computing-Workloads und -Services verbunden ist. IT-Teams können Cloud-Automatisierung auf Private-, Public- und Hybrid-Cloud-Umgebungen anwenden.
Traditionell war die Bereitstellung und der Betrieb von Unternehmens-Workloads ein zeitaufwändiger und manueller Prozess. Er bestand häufig aus sich wiederholenden Aufgaben wie der Dimensionierung, Bereitstellung und Konfiguration von Ressourcen wie virtuellen Maschinen (VMs), das Einrichten von VM-Clustern und des Load Balancers, das Erstellen von Storage Logical Unit Numbers (LUNs), den Aufruf virtueller Netzwerke, die eigentliche Bereitstellung und dann das Überwachen und Verwalten von Verfügbarkeit und Leistung.
Das funktioniert zwar, ist aber ineffizient und fehleranfällig und das kann die Verfügbarkeit der Workloads einschränken. Es kann auch Sicherheitslücken öffnen, die das Unternehmen in Gefahr bringen können. Mit Cloud-Automatisierung eliminiert ein Unternehmen diese sich wiederholenden manuellen Prozesse. Um Cloud-Automatisierung zu erreichen, muss ein IT-Team Orchestrierungs- und Automatisierungstools verwenden, die zusätzlich zu seiner virtualisierten Umgebung laufen.
Welche Arten der Cloud-Automatisierung gibt es?
Durch die Automatisierung verschiedener Aufgaben in der Cloud werden Wiederholungen, Ineffizienz und Fehler vermieden, die mit manuellen Prozessen und Eingriffen verbunden sind. Zu den typischen Beispielen gehören die folgenden:
- Ressourcenzuweisung: Autoscaling – die Fähigkeit, die Nutzung von Rechen-, Memory- oder Netzwerkressourcen je nach Bedarf zu erhöhen oder zu verringern – ist ein Grundprinzip des Cloud Computing. Sie bietet Elastizität bei der Ressourcennutzung und ermöglicht das Pay-as-you-go-Cloud-Kostenmodell.
- Konfigurationen: Infrastrukturkonfigurationen können über Vorlagen und Code definiert und automatisch implementiert werden. In der Cloud erhöhen sich die Möglichkeiten der Integration mit zugehörigen Cloud-Diensten.
- Entwicklung und Bereitstellung: Die kontinuierliche Softwareentwicklung beruht auf der Automatisierung verschiedener Schritte, von Code-Scans und Versionskontrolle bis hin zu Tests und Bereitstellung.
- Tagging: Assets können automatisch auf der Grundlage bestimmter Kriterien, Kontexte und Betriebsbedingungen gekennzeichnet werden.
- Security: Cloud-Umgebungen können mit automatischen Sicherheitskontrollen eingerichtet werden, die den Zugriff auf Anwendungen oder Daten ermöglichen oder einschränken und nach Schwachstellen und ungewöhnlichen Leistungsniveaus suchen.
- Protokollierung und Monitoring: Cloud-Tools und -Funktionen können so eingerichtet werden, dass sie alle Aktivitäten im Zusammenhang mit Diensten und Workloads in einer Umgebung protokollieren. Es können Überwachungsfilter eingerichtet werden, um nach Anomalien oder unerwarteten Ereignissen zu suchen.
Vorteile der Cloud-Automatisierung
Bei richtiger Implementierung spart die Cloud-Automatisierung einem IT-Team Zeit und Geld. Sie ist schneller, sicherer und leichter skalierbar als die manuelle Ausführung und führt auch zu weniger Fehlern, da Unternehmen vorhersehbarere und zuverlässigere Arbeitsabläufe erstellen können. Dies wirkt sich direkt auf eine bessere IT- und Unternehmensführung aus.
Durch die Cloud-Automatisierung können sich IT-Teams auf übergeordnete Aufgaben konzentrieren, die besser auf die Geschäftsanforderungen eines Unternehmens abgestimmt sind, wie zum Beispiel die Integration übergeordneter Cloud-Dienste oder das Entwickeln neuer Produktfunktionen.
Unterschiede zwischen Cloud-Automatisierung und Cloud-Orchestrierung
Cloud-Orchestrierung beschreibt, wie ein Administrator die verschiedenen Schritte und Prozesse kodiert, die zum Bereitstellen und Verwalten von Workloads in der Cloud erforderlich sind. Die Cloud-Automatisierung ruft diese Schritte auf, um Aktionen ohne menschliches Eingreifen bereitzustellen und zu verwalten.
Cloud-Automatisierung und Orchestrierung sind komplementär und codeabhängig. Kein Orchestrierungsprozess ist vollständig manuell, und automatisierte Aufgaben sind von Natur aus Teil eines Orchestrierungsprozesses.
Mit der Automatisierung lässt sich auch eine regelmäßige Datensicherung und für die Datenwiederherstellung umsetzen. Das IT-Personal verwendet ein Tool, das vom Anbieter der Cloud-Plattform oder einem Dritten stammt, um eine Abfolge von Aufgaben auf der Grundlage logischer Ereignisse, wie zum Beispiel der Tageszeit oder auftretenden Fehlercodes, zu planen. Dieser gesamte Prozess von Anfang bis Ende stellt eine Cloud-Orchestrierung dar. Einzelne Teile des Backup-Prozesses werden automatisiert, wie zum Beispiel die eigentliche Datensicherung und Benachrichtigungen. Fehlercodes stoßen außerdem die Orchestrierung von Prozessen für die Benachrichtigung von Mitarbeitern an, damit diese das Problem manuell beheben können.
Anwendungsfälle für Cloud-Automatisierung
Cloud-Automatisierungs-Tools und -Frameworks ähneln sich meistens bezüglich der Funktionen. Die Anwendungsfälle sind jedoch weit gestreut. Hier einige grundlegende Beispiele für Cloud-Automatisierung:
- Automatisches Bereitstellen von Cloud-Infrastrukturressourcen;
- Herunterfahren ungenutzter Instanzen und Prozesse (Bekämpfen von Sprawl); und
- regelmäßige Datensicherung.
Ein weiterer häufiger Anwendungsfall für Cloud-Automatisierung ist Infrastruktur als Code (Infrastructure as Code, IaC). Cloud-Plattformen entdecken und organisieren Compute-Ressourcen in Pools. Dadurch können Benutzer weitere Ressourcen hinzufügen und bereitstellen, ohne sich Gedanken darüber machen zu müssen, wo sich diese Ressourcen physisch im Rechenzentrum befinden.
Cloud-Automatisierungsprozesse und -Tools können aus diesen Ressourcenpools schöpfen, um gemeinsame Konfigurationselemente wie VMs, Container, Speicher-LUNs und VPNs zu definieren. Anschließend können sie Anwendungskomponenten und Dienste, zum Beispiel Load Balancer, auf diese Konfigurationselemente laden oder Instanzen mit Vorlagen oder geklonten VMs oder Containern erstellen. Schließlich werden diese Elemente zusammengefügt, um eine vollständigere Betriebsumgebung für eine Workload-Bereitstellung zu erstellen.
So eine Cloud-Automatisierungsvorlage kann beispielsweise eine bestimmte Anzahl von Containern für eine Microservice-Anwendung erstellen, die Softwarekomponenten in die Container-Cluster laden, Speicher und eine Datenbank verbinden, ein virtuelles Netzwerk konfigurieren, Lastausgleichsvorrichtungen für die Cluster erstellen und dann die Workloads für Benutzer öffnen
Neben der Bereitstellung führt die Cloud-Automatisierung auch Workload-Managementaufgaben durch. Beispielsweise kann ein Application-Performance-Management -Tool (APM) so konfiguriert werden, dass es den bereitgestellten Workload und seine Leistung überwacht. Warnmeldungen können automatisch Skalierungsvorgänge anstoßen wie das Hinzufügen weiterer Container zu einem Cluster mit einem Load Balancer, um die Leistung zu verbessern, oder das Entfernen überschüssiger Containerinstanzen, um den Ressourcenbedarf zu verringern.
Cloud-Automatisierung ist ein zentrales Element des Workload-Lifecycle-Managements. Workloads in der Cloud sind in der Regel langfristige Einheiten, aber einige ihrer Einzelkomponenten, wie zum Beispiel Container, können kurzlebig sein. Mit Cloud-Automatisierung können Admins diese zusammen mit ihren Konfigurationselementen entfernen, wenn sie diese nicht mehr benötigen.
Die Cloud-Automatisierung kann auch in Hybrid Clouds eine Rolle spielen, um Aufgaben in einer Private-Cloud-Umgebung auf der Grundlage von Frameworks wie OpenStack zu automatisieren und die Zusammenarbeit mit Public Clouds wie Amazon Web Services (AWS), Microsoft Azure und Google Cloud Platform (GCP) voranzutreiben.
Cloud-Automatisierung ist auch für vielbeschäftigte App-Entwickler eine Erleichterung. Agile Entwicklungsmethoden wie Continuous Integration (CI), Continuous Delivery (CD) und Continuous Deployment sowie DevOps hängen alle von einer schnellen Ressourcenbereitstellung und Skalierung zum Testen neuer Softwareversionen ab. Sobald die Tests abgeschlossen sind, können diese Ressourcen zur Wiederverwendung freigegeben werden. Public Clouds sind auf diese Verwendung ausgelegt, und Cloud-Automatisierungstools können die gleichen Fähigkeiten auf Private Clouds übertragen.
Schließlich kann die Cloud-Automatisierung eine Versionskontrolle für Arbeitsabläufe bieten, so dass Unternehmen konsistente Setups einsetzen können, die geschäftlichen und Governance-Anforderungen standhalten. Das Unternehmen kann genau nachvollziehen, welche Ressourcen derzeit genutzt werden, feststellen, welche Benutzer oder Abteilungen sie verwenden, vorhersagen, wie die Ressourcen in Zukunft genutzt werden, und auf Basis dieser Informationen eine Servicequalität gewährleisten, die mit manuellen Prozessen unmöglich ist.
Cloud-Automatisierungswerkzeuge
Auf dem Markt ist eine Vielzahl verschiedener Tools und Plattformen zur Automatisierung spezieller oder allgemeiner Aufgaben verfügbar. Das reicht von On-Premises Tools für Private Clouds bis hin zu gehosteten Diensten von Public Cloud-Providern.
Konfigurationsmanagement-Tools bieten viele zusätzliche Cloud-Automatisierungsfunktionen, insbesondere beim Einsatz von Infrastruktur als Code. Red Hat Ansible, Puppet, Chef und Salt sind klassische Werkzeuge dieser Kategorie.
Weitere Orchestrierungs-Tool-Optionen sind die automatische und Cloudify Orchestrierungs-Engine und die Workflow-Engine von Broadcom (CA Technologies).
Viele Anbieter von Multi-Cloud-Management-Lösungen integrieren außerdem Automatisierungsfunktionen in ihre Tools.