Suchen

Amazon Web Services in der Praxis AWS-Orchestrierung: Ansätze, Tools und Techniken

| Autor / Redakteur: Filipe Pereira Martins und Anna Kobylinska / Florian Karlstetter

Mit der Einführung der AWS-Region Frankfurt steht deutschen Anwendern Amazons robuste Cloud-Umgebung erstmals in angenehmer geografischer Nähe zur Verfügung. CloudComputing-Insider beleuchtet die Besonderheiten von AWS im Hinblick auf die Orchestrierung der Infrastruktur.

Firmen zum Thema

AWS-Orchestrierung mittels CodeDeploy im Überblick.
AWS-Orchestrierung mittels CodeDeploy im Überblick.
(Bild: Amazon Web Services )

In Anbetracht der steigenden Komplexität von hybriden Cloud-Topologien und der anhaltenden Migration von Workloads in die Cloud wächst auch das Interesse an Orchestrierungswerkzeugen.

Der mitunter wichtigste Vorteil der Cloud-Orchestrierung besteht in der Kodifizierung des Wissens um den Aufbau der unternehmenseigenen Infrastruktur in ausführbarem Code. Handfester Nutzen materialisiert sich bereits bei der geringsten Deployment-Größe im ganzen Lebenszyklus der Infrastruktur, von der Initialisierung bis hin zur Terminierung des Stacks. Amazons „feinkörnige“ Kontrollmechanismen für die AWS-Infrastrukturdienste und -APIs laden dazu gerade ein, aus den Vorteilen der Orchestrierung der Wolke mit beiden Händen zu schöpfen.

Amazon hat in der letzten Zeit die eigenen Dienste und APIs um Fähigkeiten zur Orchestrierung massiv ausgebaut. Zugleich wurden einige der führenden quelloffenen Lösungen im Hinblick auf ihre AWS-Kompatibilität erweitert. AWS-Anwendern standen noch nie so viele Möglichkeiten zur Verfügung.

Amazons Strategie im Hinblick auf die Cloud-Orchestrierung basiert nicht auf einem einzelnen Framework, sondern auf einer Vielzahl verwalteter Dienste zur intelligenten Verwaltung von Ressourcen wie Auto Scaling, CloudFormation, CodeDeploy (noch nicht in allen Regionen verfügbar), OpsWorks, DataPipeline, AWS Simple Workflow und Elastic Beanstalk; AWS-Anwender haben somit die Qual der Wahl (siehe Abbildung 1 in der Bildergalerie).

Die Qual der Wahl

Lösungen zur Cloud-Orchestrierung decken ein breites Spektrum von Anwendungsszenarien ab: von der Provisionierung von Cloud-Computing-Ressourcen, über die Einrichtung fehlertoleranter, selbstheilender Netztopologien, die Erstellung und Entfernung von Sicherungskopien der Daten, die Notfallwiederherstellung der gesamten Infrastruktur bis hin zur ereignisorientierten Ressourcenplanung mit automatischer Bereitstellung ohne menschliche Intervention.

Bildergalerie

AWS unterstützt zwei grundlegende Ansätze. Einmal besteht die Möglichkeit, die Bereitstellung der Infrastruktur und die automatische Initialisierung der gewünschten Anwendungen zu orchestrieren. Auf der anderen Seite kann der Administrator auf verwaltete Dienste zur Daten-Orchestrierung und/oder Code-Orchestrierung zurückgreifen ohne sich über die eigentliche Administration der betreffenden Systeme Gedanken machen zu müssen.

Amazons eigene Werkzeuge zur Orchestrierung sind alles andere als homogen. Für Aufgaben rund um die IaaS-Orchestrierung zeichnet auf AWS der Dienst CloudFormation auf der Basis von Topologie-Templates verantwortlich. Automatische Skalierung der EC2-Infrastruktur lässt sich mit dem elastischen Lastverteiler ELB und mit einer Kombination aus dem Monitoring-Dienst CloudWatch und dem EC2-Dienst Auto-Scaling auf der Basis vordefinierter Auslöser und Richtlinien implementieren. Wer nicht ganz so viel Kontrolle über die Hardwareprovisionierung wünscht, kann auf verwaltete Dienste zur Daten- und/oder Code-Orchestrierung zurückgreifen.

Orchestrierung mittels CodeDeploy im Überblick

Zur Daten-Orchestrierung stehen den AWS-Administratoren die Dienste Data Pipeline (automatische Datenmigration und -verarbeitung) und AWS Simple Workflow (u.a. Datencentermigration) zur Verfügung. Code-Orchestrierung lässt sich je nach dem gewünschten Anwendungsszenario mit den Diensten ElasticBeanstalk (Amazons massive Antwort auf Heroku/GAE mit einer Million aktiver Benutzer), CodeDeploy (ursprünglich unter dem Codenamen Apollo verfügbar; eine AWS-spezifische verwaltete Alternative zu Docker) und OpsWorks bewerkstelligen. Bei OpsWorks handelt es sich um Amazons eigene Edition von DevOps auf der Basis von Chef von Opscode.

Bildergalerie

Wer AWS-Infrastrukturdienste mit der unternehmenseigenen On-Premise-IT oder mit einer anderen Cloud-Architektur orchestrieren möchte, kann mittlerweile auf zahlreiche Tools von Drittanbietern zurückgreifen, darunter Chef, Puppet, OpenStack Heat, Ansible, Docker Orchestration Services oder Cloud Foundry/BOSH für zustandsbehaftete Docker-Container.

AWS Cloud Formation mit intelligenter Auto-Initialisierung

Bei AWS CloudFormation handelt es sich um einen Orchestrierungsdienst zur Bereitstellung der geforderten Cloud-Architektur mit einem Funktionsaufruf. AWS CloudFormation basiert auf deklarativen, parametrisierten JSON-Vorlagen, die einen konkreten Satz der benötigten Ressourcen und die zugehörigen Konfigurationsparameter festlegen. Der Aufruf der Vorlage führt dazu, dass alle benötigten Dienste ordentlich bereitgestellt und alle technischen Voraussetzungen zuverlässig erfüllt werden. Die sogenannten Helfer-Skripte für AWS-CloudFormation auf einer EC2-Instanz interpretieren die Definitionen der JSON-Vorlage, installieren Packages, legen Dateien an und starten schließlich die benötigten Prozesse.

Dank der Fähigkeit zur dynamischen Initialisierung mittels CloudInit unter Linux bzw. EC2Config Service bei Windows Server lässt sich eine gemeinsame AMI-Basis für verschiedene Anwendungsszenarien einsetzen und so die Wartung effizient zeit- und kostensparend vereinheitlichen. CloudFormation kann die Aufräumarbeiten des gesamen Stacks selbsttätig vornehmen und die nicht mehr benötigte Infrastruktur gründlich aufräumen.

CloudFormation kann unter anderem die Dienste Amazon Elastic Compute Cloud (EC2), Amazon Relational Database Service (RDS), Auto Scaling Group, Amazon SimpleDB, Simple Queue Sevice (SQS), Simple Notification Service (SNS) und Elastic Load Balancing (ELB) orchestrieren. Zudem integriert sich der AWS-Dienst mit Chef und Puppet.

Beim Einsatz von Cloud Formation kommt einer von drei Ansätzen in Frage. Zum einen kann man einen fertig konfigurierten Stack hochfahren, um die gewünschte Architektur ins Leben zu rufen. Zum anderen besteht die Möglichkeit, minimalistisch schlanke AMIs zur Laufzeit unter Verwendung von CloudInit/EC2Config mit den benötigten Softwaretools zu bestücken und automatisch konfigurieren zu lassen.

Automatische Initialisierung mittels CloudInit/EC2Config erlaubt äußerst flexible, leistungsfähige und maßgeschneiderte Lösungen, nimmt jedoch bei der Bereitstellung zusätzliche Zeit in Anspruch. Wenn es darum geht, kurzfristig anfallende Bedarfsspitzen durch zeitgerechtes Herausskalieren in den Griff zu bekommen, erweist sich diese Strategie als äußerst problematisch. Steht Auto Scaling oder ein anderes zeitkritisches Anwendungsszenario auf dem Programm, empfiehlt sich die Bereitstellung fertig installierter AMIs, in die alle benötigten Dienste bereits „hineingebacken“ wurden.

Manche Anwendungsszenarien verlangen nach einem Einsatz, der über die reinen AWS-Dienste hinausgeht. Bei einem solchen Anforderungsprofil entscheiden sich viele Anwender für eine Kombination aus CloudFormation und Opscode Chef, Puppet oder SaltStack.

Buchempfehlung zum Thema

Buchtipp: Schnelleinstieg in AWS: Amazon Web Services auf den Punkt gebracht.
Buchtipp: Schnelleinstieg in AWS: Amazon Web Services auf den Punkt gebracht.
(Bild: Digital Masters )

Eine weiter gehende Einführung in die Amazon Web Services (AWS) bietet das Buch „Schnelleinstieg in AWS: Amazon Web Services auf den Punkt gebracht. EC2-Administration im Schnellverfahren“ (erschienen unter der ISBN-Nummer 978-99959-44-025), naturgemäß auch bei Amazon im Web erhältlich unter: http://www.amazon.de/gp/product/B00OU6E0UG

Fazit

Mit Hilfe geeigneter Softwarewerkzeuge können AWS-Administratoren die benötigte AWS-Infrastruktur weitgehend auf Autopilot bedarfsgerecht zusammenstellen und kosteneffizient abbauen lassen. Mit Werkzeugen zur Cloud-Orchestrierung wie CloudFormation lässt sich die Einhaltung anwendbarer Gesetze und Regulierungen wie auch die Erfüllung etwaiger Anforderungen im Hinblick auf die Interoperabilität der Infrastruktur auf eine vorhersehbare Art und Weise gewährleisten.

* Filipe Pereira Martins und Anna Kobylinska arbeiten für die Soft1T S.a r.l. Beratungsgesellschaft mbH McKinley Denali Inc. (USA).

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de (ID: 43175369)