CloudFormation, Beanstalk: Amazon als Platform as a Service (PaaS)

Amazon Web ServicesNach Microsoft mit Azure und Google mit AppEngine strebt nun auch VMware mit Cloud Foundry in Richtung PaaS, wenn auch nicht als Provider, sondern als Technologielieferant. Amazon dagegen sehen viele noch als Anbieter von einfachen Storage- und Compute-Diensten. Sie übersehen dabei, dass Amazon allein innerhalb eines Jahres mit einer Vielzahl neuer Features riesige Fortschritte gemacht hat. Eine wichtige Rolle auf dem Weg zum PaaS-Provider spielen CloudFormation und Elastic Beanstalk.

PaaS ist nicht allgemein verbindlich und genau definiert, fest steht aber, dass es im Cloud-Schichtenmodell zwischen IaaS und SaaS angesiedelt ist. Es bietet jedenfalls mehr als nur Rechenleistung und Speicherplatz im Internet, umfasst aber andererseits keine mietbaren mandantenfähigen Anwendungen nach dem Muster von Salesforce.

Die Grafik zeigt den Zuwachs von neuen Features bei Amazon, aufgeschlüsselt nach Services. (Quelle: <href="http://cloudscaling.cUm den PaaS-Ansprüchen gerecht zu werden, muss ein Provider jedenfalls einige wesentliche Applikationsdienste anbieten, beispielsweise Datenbanken, asynchrone Middleware, Applikations-Server oder Authentifi­zierungs­funk­tionen. Zudem erwartet man in diesem Zusammenhang einen hohen Grad an Automatisierung, so dass die für eine Anwendung nötigen Ressourcen nicht manuell zusammengestellt werden müssen. Darüber hinaus soll die Infrastruktur in der Lage sein, bei Bedarf automatisch mehr Leistung bereitzustellen und die Arbeitslasten dynamisch zu verteilen.

Die verschiedenen PaaS-Definitionen weichen bei der Forderung voneinander ab, inwieweit die Entwicklung von Software unterstützt werden muss und ob durchgängige Programmiermodelle erforderlich sind.

Umfangreiches Angebot an Applikations-Services

Amazon bietet mittlerweile einige solcher Applikationsdienste an, darunter relationale (RDS) und nicht-relationale Datenbanken (SimpleDB), Simple Queue Service und Simple Notification Service, sowie Elastic Load Balancing und Autoscaling für die dynamische Bereitstellung von Ressourcen.

Bis vor kurzer Zeit mussten sich Anwender der Amazon Web Services aus diesem Baukasten eine Infrastruktur für ihre Applikationen noch weitgehend manuell zusammenstellen, also die Zahl der benötigten EC2-Instanzen festlegen und ihnen IP-Adressen zuweisen, Datenbanken dazubuchen oder einen Load Balancer hinzufügen.

CloudFormation: automatisierte Bereitstellung von Service-Stacks

Einen großen Fortschritt bei der automatischen Provisionierung von Ressourcen und Diensten für eine Anwendung bringt neuerdings ein Service namens CloudFormation. Er erlaubt die Auswahl aller benötigten Komponenten, die in einer textbasierten Steuerdatei beschrieben und dem Service zur Abarbeitung übergeben werden. Dieser hält auch die vorgegebene Reihenfolge bei der Aktivierung von Services ein und nimmt den gesamten Vorgang zurück, wenn ein Schritt im Ablauf scheitert.

Amazon bietet vorgefertigte Templates für mehrere Typen von Anwendungen, die auch als Ausgangsbasis für eigene Definitionen von Ressourcen-Stacks dienen. Interessant sind solche Steuerdateien vor allem dann, wenn bestimmte Konfigurationen mehrfach eingerichtet werden sollen, etwa in verschiedenen Regionen oder für wiederkehrende Tests. Eine mit ihnen eingerichtete Umgebung ist unter einer eigenen ID ansprechbar, so dass mit ihrer Hilfe alle angeforderten Ressourcen auf einen Schlag wieder freigegeben werden können.

Elastic Beanstalk: Kapazitätsmanagement für Anwendungen

Während CloudFormation die Bereitstellung einer kompletten Infrastruktur automatisieren kann, die für eine Applikation benötigt wird, weiß es nichts über die Software, die dort ausgeführt werden soll. Ihre Anforderungen muss die Person kennen, die die Steuerdatei für die Aktivierung der benötigten Dienste erzeugt.

Dagegen setzt Elastic Beanstalk eine Ebene höher an und automatisiert das Deployment von Anwendungen. Dabei stellt es die gleichen Basisdienste auf wie CloudFormation zur Verfügung, beispielsweise EC2-Instanzen inklusive Auto Scaling, Datenbanken, Message Queuing oder Load Balancing. Allerdings überwacht es die Applikation selbst durch entsprechende Monitoring-Funktionen, so dass Elastic Beanstalk besser nachverfolgen kann, an welcher Stelle Engpässe auftreten und Ressourcen nach Bedarf hinzufügen kann.

Dieser Service befindet sich derzeit noch in der Betaphase und unterstützt in der ersten Ausführung nur Java-Programme (auf der Grundlage von Apache Tomcat). Wie viele Middleware- bzw. PaaS-Dienste verursacht Elastic Beanstalk keine zusätzlichen Kosten, Amazon rechnet in der Regel nur den Verbrauch von Infrastruktur wie Rechenleistung oder Storage ab.

Keine Kommentare

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht angezeigt. Wenn mit Ihrer angegebenen Mail-Adresse ein Gravatar verknüpft ist, dann wird dieser neben Ihrem Kommentar eingeblendet.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Zeilen und Absätze werden automatisch erzeugt.
  • Mail-Adressen werden im Seitenquelltext unkenntlich gemacht, um sie vor dem automatischen Erfassen durch Spammer zu schützen.

Weitere Informationen über Formatierungsoptionen