Automation-Pflicht

5 Dinge, die Cloud-Architekten automatisieren sollten

30.11.2022
Von 
Lee Atchison ist Experte in Sachen Cloud Computing und Applikationsmodernisierung mit mehr als 30 Jahren Berufserfahrung. Er schreibt unter anderem für die US-Schwesterpublikation Infoworld.com.
Automatisierung ist einer der wesentlichen Vorteile, die die Cloud gegenüber traditionellen Rechenzentren bietet. So können Sie davon profitieren.
In diesen fünf Bereichen besteht für Cloud-Architekten Automatisierungspflicht.
In diesen fünf Bereichen besteht für Cloud-Architekten Automatisierungspflicht.
Foto: Sky Motion - shutterstock.com

Mit Blick auf einen modernen Anwendungsentwicklungsprozess können Unternehmen mit der Cloud zahlreiche Vorteile realisieren. Einer der wichtigsten: Kritische Prozesse, die traditionell manuell ablaufen mussten, zu automatisieren. Cloud-Architekten, die diese Automation-Vorteile für sich und ihr Unternehmen zu nutzen wissen, sind in der Regel sehr erfolgreich in ihrem Job.

Wir haben einige Cloud-Automatisierungstechniken zusammengestellt, die für Cloud-Architekten von zentraler Bedeutung sein sollten.

5 Automation-Pflichten für Cloud-Architekten

Die folgenden fünf Dinge sollte jeder Cloud-Architekt automatisieren, wenn es darum geht, Anwendungen in der Cloud zu entwickeln und bereitzustellen.

1. Skalierung

Automatisierte Skalierung ist die grundlegendste und wichtigste Voraussetzung für die Nutzung der Cloud. Ganz gleich, ob es sich um die automatische Skalierung von Serverressourcen oder die elastische Skalierung in Cloud-nativen Services wie AWS S3 oder DynamoDB handelt - die Skalierung ist ein wesentlicher Bestandteil der Cloud. Einer der Hauptgründe für den Wechsel in die Cloud ist die Möglichkeit, eine skalierbare Infrastruktur aufzubauen.

Automatisierte Skalierbarkeit erfordert jedoch, neue Serverinstanzen schnell und problemlos starten zu können - was uns zur nächsten Automatisierungspflicht führt.

2. Server-Provisionierung

In der Prä-Cloud-Ära konnte es Tage oder Wochen dauern, einen neuen Server zu provisionieren. Cloud Automation ermöglicht es, eine voll funktionsfähige und betriebsbereite Serverinstanz in wenigen Minuten bereitzustellen. Das ist nicht nur der Schlüssel zur automatisierten Skalierung, sondern macht auch "selbstheilende" Infrastrukturen möglich (eine weitere Form der Cloud-Automatisierung). Dabei verändert insbesondere die Möglichkeit, ausgefallene oder gefährdete Serverinstanzen automatisch zu ersetzen, die Art und Weise, wie Probleme in der Cloud gelöst werden.

Die automatisierte Bereitstellung von Servern funktioniert ähnlich wie im Fall von virtuellen Maschineninstanzen in AWS EC2 oder neuen Containerinstanzen in Google Kubernetes Engine: In beiden Fällen optimiert die Automatisierung Geschwindigkeit und Zuverlässigkeit. Das ist für die meisten Cloud-basierten Apps von grundlegender Bedeutung. Ein weiterer Vorteil der automatisierten Serverbereitstellung: Eine kleinere Anzahl größerer Server lässt sich ganz einfach durch eine größere Anzahl kleinerer Server ersetzen, was die Verfügbarkeit einer Anwendung drastisch verbessern und die Folgen von Ausfällen minimieren kann.

Server automatisiert zu provisionieren, funktioniert jedoch nur, wenn auch die für den Betrieb der Server erforderliche Infrastruktur schnell und einfach eingerichtet werden kann.

3. Infrastrukturaufbau

Die automatische Bereitstellung Ihrer Server alleine reicht nicht aus. Sie müssen auch Ihre Load Balancer, Firewalls, Netzwerksegmente, Datenbanken und alle anderen Services, auf die Ihre Anwendung angewiesen ist, provisionieren. Bevor Ihre App also laufen kann, muss zunächst die gesamte unterstützende Infrastruktur eingerichtet, konfiguriert und mit Ihrer Anwendung verbunden werden.

Wenn dieses Vorhaben manuell ablaufen soll, kann es sehr zeitaufwändig ausfallen: Eine Infrastruktur-Provisionierung in einem On-Premises-Rechenzentrum nimmt mindestens einige Tage in Anspruch. In der Cloud ermöglicht es hingegen die Automatisierungstechnik Infrastructure as Code (IaC), Ihre Anwendungsinfrastruktur durch API-Aufrufe bereitzustellen.

Damit können Sie die im Quellcode (häufig eine JSON- oder YAML-Datei) definieren, wie Ihre Infrastruktur eingerichtet werden soll. Managen lässt sich das über herkömmliche Software-Versionskontrollsysteme wie Git. Die kodifizierte Infrastrukturkonfiguration übergeben Sie schließlich an ein Tool, das Ihre Komponenten automatisch bereitstellt, konfiguriert und zu einem funktionierenden Netzwerk verbindet. Zwei besonders beliebte und verbreitete Tools dafür sind:

Mit Blick auf Ihren Infrastruktur-Bereitstellungsprozess bietet IaC einzigartige Vorteile, etwa in Form von Änderungskontrollen- und genehmigungen oder wiederverwendbarem Infrastruktur-Code. Infrastructure as Code ist dabei nur in einer Cloud (oder einem Cloud-ähnlichen Rechenzentrum) möglich, die die automatisierte Infrastrukturerstellung über APIs ermöglicht. Für Cloud-Architekten empfehlen sich IaC-Tools, um zuverlässige, sichere und wiederholbare Cloud-Patterns für die Infrastruktur-Provisionierung zu erstellen.

4. Code Deployment

Automatisierte Code-Deployment-Pipelines sind nicht Cloud-exklusiv, bilden aber den nächsten logischen Schritt in Sachen Cloud-fähige Anwendungen. Eine der beliebtesten Methoden, um automatisiert Code bereitzustellen, ist dabei die CI/CD-Pipeline. Das Modell ermöglicht es, Code-Implementierungen automatisch auf Produktionsapplikationen anzuwenden - und zwar auf Grundlage von Code, der über ein Software-Versionskontrollsystem "eingecheckt" wurde. Abhängig von der Applikation und den Richtlinien des Unternehmens lassen sich automatisierte Deployments planen (zum Beispiel täglich oder stündlich). Die Bereitstellung kann auch mit Änderungen an der Codebasis verknüpft werden.

Automatisiertes Code Deployment gehört zum Funktionsumfang diverser Tools - dazu gehören zum Beispiel:

  • Jenkins,

  • Bamboo,

  • GitLab,

  • CircleCI, oder

  • AWS CodeDeploy.

Jedes dieser Tools funktioniert anders - Cloud-Architekten müssen an dieser Stelle die richtige Automatisierungsstrategie wählen, um alle Anforderungen zu erfüllen.

5. Native Cloud Services

Automatisierte, dynamische Skalierung ist Bestandteil vieler Cloud Sevrices, wird jedoch als Automatisierungs-Art oft übersehen. Cloud-Queuing-Services, -Datenspeicher und -Datenbanken stützen sich in hohem Maße auf Automatisierung, um die Skalierungsanforderungen der dynamischen Applikationen, die auf sie zugreifen, zu managen.

Dabei bevorzugen Cloud-Architekten oft, Datenspeicher wie S3 zu verwenden, statt einen eigenen auf einem lokalen Laufwerk aufzusetzen. Der Grund: Sie sind einfach, sicher, zuverlässig und leicht zu integrieren. Das gilt im Allgemeinen für viele Public Cloud Services.

Cloud gleich Automatisierung

Natürlich können Sie Ihre Anwendungen in der Cloud auch betreiben, ohne die Vorteile der Automatisierung zu nutzen. Damit lassen Sie sich allerdings "low hanging fruits" entgehen - Automatisierung ist der Weg zu mehr

  • Konsistenz,

  • Zuverlässigkeit,

  • Sicherheit,

  • Skalierbarkeit und

  • Flexibilität (wenn es darum geht, Unternehmensanforderungen zu erfüllen).

Lokale Anwendungen in die Cloud zu verschieben ist relativ einfach und unkompliziert - und dürfte auch ohne Cloud-Architekten möglich sein. Solche Anwendungen machen sich jedoch im Regelfall die Vorteile des Cloud-Betriebs nicht zunutze. Wenn Sie echte, Cloud-fähige Applikationen aufbauen wollen, brauchen Sie dazu die Unterstützung von Cloud-Architekten, die sämtliche Cloud-Vorteile zu nutzen wissen. (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.