Die Amazon Web Services (AWS) haben vor allem mit Elastic Compute Cloud (EC2) und dem Simple Storage Service (S3) Bekanntheit erlangt. Sie gelten als Musterbeispiel für Infrastructure as a Service (IaaS), weil sie im Gegensatz zum herkömmlichen Hosting wesentliche Cloud-Computing-Prinzipien realisieren. Daran ändern auch die jüngsten Ausfälle einiger AWS-Dienste nichts. Zu den wesentlichen Cloud-Prinzipien gehören vor allem die Mandantenfähigkeit durch eine virtualisierte Infrastruktur und eine Abrechnung nach dem Modell "pay as you go". Letztere erlaubt es Kunden, über die Eingabe einer Kreditkartennummer die gewünschten Ressourcen zu buchen, sie sofort zu nutzen und exakt nach Verbrauch zu bezahlen.
- Softwareplattformen aus der Cloud
Platform as a Service (PaaS) erlaubt es, Anwendungen direkt in der Cloud zu betreiben. Was bieten die Dienste von Amazon, Google und Co. in der Praxis? - Google App Engine
- Google App Engine - Nachteile:
o Wesentliche Einschränkungen gegenüber dem üblichen Java-Programmiermodell <br> o Zur Zeit keine relationale Datenbank verfügbar <br> o Durch die Einschränkungen ergeben sich Abhängigkeiten in der Anwendung (Lock In)<br> o Keine Eingriffsmöglichkeiten oder Tuningmöglichkeiten auf Ebene des Web Servers oder Betriebssystems - Google App Engine - Vorteile:
o Automatische Skalierung der Anwendung <br> o Lange am Markt, bewährt - Amazon Beanstalk
- Amazon Beanstalk - Nachteile:
o Zur Zeit noch in Beta und nur in US-East verfügbar <br> o Grobgranulare Skalierung durch zusätzliche Rechner - Amazon Beanstalk - Vorteile:
o Bewährte Cloud-Infrastruktur als Basis<br> o Übliches Enterprise-Java-Programmiermodell (Tomcat Web Server/ relationale Datenbank)<br> o Daher geringe Lock-In-Gefahr auf Code-Ebene<br> o Zahlreiche weitere Services (RDS, SimpleDB, Payment ...) - Cloud Bees
- Cloud Bees - Nachteile
o RUN@Cloud zur Zeit noch in Beta-Phase<br> o Kein echtes Skalierungskonzept<br> o Keine SLAs<br> o Datenbank-Lösung eher rudimentär<br> o Tomcat-Installation kaum anpassbar - Cloud Bees - Vorteile:
o Attraktiv für Entwickler wegen Continuous Integration und Repository Server<br> o RUN@Cloud kostenlos<br> o EC2-Infrastruktur, daher leicht mit Amazon-Angeboten kombinierbar - VMware Cloud Foundry
- VMware Cloud Foundry - Nachteile:
o Zurzeit noch in Beta-Phase<br> o Benötigt Framework-Integration<br> o Public-Cloud-Infrastruktur im Moment nur in den USA - VMware Cloud Foundry - Vorteile:
o Offene Plattform<br> o Open-Source-Lizenz<br> o Services-Konzept<br> o Flexibilität: Nutzung auf Amazon EC2 und lokal möglich, Private Cloud denkbar
Diese flexibel nutzbaren Basisdienste versetzen heute zahlreiche Web-Startups in die Lage, schnell eigene Angebote auf den Markt zu bringen und gegen große Konkurrenten zu bestehen, weil sie nicht mehr gezwungen sind, teure eigene Rechenzentren aufzubauen. Auch wenn es scheinbar nur um Rechenleistung und Speicher im Internet geht, haben sich EC2 und S3 über die Zeit erheblich weiterentwickelt.
Die wichtigsten Amazon Web Services im Überblick
Elastic Compute Cloud: EC2 stellt virtuelle Rechner bereit, die über eine Web-Oberfläche administriert werden. So lassen sich auf diesem Weg Instanzen auf Basis ausgewählter Images starten, die Zugangsberechtigungen verwalten und die benötigten Ressourcen zuteilen.
Simple Storage Service: Bei Amazon S3 handelt es sich um mietbaren Online-Speicher. Er bietet eine einfache Webservice-Schnittstelle zum Speichern und Abrufen von Daten, und zwar nicht nur von EC2 aus, sondern von jedem Rechner im Internet.
Elastic Block Store: EBS stellt hoch verfügbare Volumes für EC2-Instanzen bereit, die innerhalb der virtuellen Maschinen als Gerät angesprochen werden können.
Elastic Load Balancing: Der Service verteilt eingehende Anfragen automatisch über mehrere EC2-Instanzen. Er kann problematische VMs erkennen und den Traffic auf intakte Instanzen umleiten, bis die Schwierigkeiten beseitigt sind.
Virtual Private Cloud: VPC stellt via VPN eine sichere Verbindung zwischen der internen IT eines Unternehmens und EC2-Instanzen her. Es erlaubt die Anwendung von internen Sicherheitssystemen (Firewalls, Intrusion Detection, etc.) auf die AWS-Ressourcen.
Relational Database Service: RDS ist ein Web-Service zum Einrichten und Betreiben einer relationalen Datenbank in der Cloud. Er bietet vollen Zugriff auf die Funktionen von MySQL und Oracle 11g. Im Gegensatz zu einer Datenbank, die man selbst in einer EC2-Instanz betreibt, übernimmt Amazon bei RDS das Patch-Management und das Backup.
Simple DB: Dabei handelt es sich um eine nicht-relationale Datenbank, die Entwickler über ein REST-Interface ansprechen können.
Simple Queue Service: SQS ist eine asynchrone Middleware zum Speichern von Messages, während diese zwischen Computern weitergeleitet werden. Entwickler können sie ebenfalls über ein Web-API in ihre Anwendungen einbinden.
CloudWatch: Dabei handelt es sich um einen Monitoring-Service, der EC2-Instanzen, EBS-Volumes, Elastic Load Balancers und RDS-Instanzen in Echtzeit überwachen kann.
CloudFormation: Dieser Dienst eignet sich dafür, eine Sammlung von AWS-Komponenten zu definieren und diese automatisch in einer vorbestimmten Reihenfolge bereitzustellen.
Elastic Beanstalk: Es handelt sich dabei um einen Mechanismus für das Deployment von Java-Applikationen. Er kümmert sich etwa um das Kapazitätsmanagement, Load-Balancing, Auto Scaling und Health-Monitoring.
Route 53: Dabei handelt es sich um einen hochverfügbaren DNS-Service, der Anfragen vom nächstgelegenen Standort aus beantworten kann. Er steht nicht nur für AWS-Ressourcen wie EC2 oder S3 zur Verfügung, sondern kann auch Adressen für beliebige Server auflösen.
Teaserbild: AA+W, Fotolia.de