Infrastruktur vom Buchhändler

Statt in Infrastruktur zu investieren, kann man sie bei Amazon mieten und von Skaleneffekten der Multi-Millionen-Dollar-Umgebung profitieren.

Artikel erschienen in Swiss IT Magazine 2008/02

     

Die Zeiten, in denen Amazon.com als reiner Online-Händler seine Waren per Post nach Hause schickt, sind vorbei. Statt dessen will Amazon nun auch mit seiner verteilten und leistungsfähigen Infrastruktur Geld verdienen, indem sie an die Kundschaft zur Mitbenutzung vermietet wird. Nebst grundlegenden Angeboten wie Storage und Rechenkapazität hat Amazon auch höher liegende Services wie Zahlungsverarbeitung und Datenbank im Angebot.


Die Amazon Web Services

Amazon bietet die verschiedenen Produkte als Teil des Web-Services-Programms (AWS) an, das bereits seit einigen Jahren läuft und vor allem durch das Partnerprogramm bekannt ist. Dieses ermöglicht Seitenbetreibern, Provision für Käufe zu kassieren, die ihre Besucher bei Amazon tätigen. Seither hat Amazon die AWS um eine Reihe von Infrastruktur-Services ergänzt, die regelmässig erweitert werden und eine Mischung aus Software as a Service und Cloud Computing darstellen.



- DevPay: Ermöglicht dem Anwender die Abrechnung von Services, die Kunden in Anspruch nehmen und auf Basis von EC2 und S3 (siehe unten) erstellt wurden. Dazu kommt ein Account Management System zur Kundenverwaltung. Die Abrechnung erfolgt für die Kunden des Anwenders über FPS (siehe unten).




- Elastic Compute Cloud (EC2): EC2 stellt virtuelle Maschinen auf Basis von Xen bereit, die mit von Amazon vorbereiteten oder selbstgebauten Amazon Machine Images (AMI) betrieben werden. Die AMIs werden auf S3 gespeichert und können von dort aus beliebig oft gestartet werden. Die Kontrolle erfolgt über REST- und SOAP-APIs, wobei passende Kommandozeilen-Werkzeuge und Java-Bibliotheken bereitstehen. Diese ermöglichen auch das Monitoring der AMIs. Als Betriebssystem muss Linux mit einem Kernel aus der 2.6er-Serie eingesetzt werden. Als Hardware steht die x86-Plattform in 32- und 64-Bit-Ausführung zur Verfügung. Die Prozessorleistung der jeweiligen virtuellen Maschine beziffert Amazon in 1 bis 8 EC2 Compute Units, wobei eine Einheit im Moment einem Opteron- oder Xeon-Prozessor aktueller Bauart mit einem Takt von 1 GHz entspricht. Dazu stehen zwischen 1,7 und 15 GB RAM sowie 160 bis 1690 GB an Storage zur Verfügung.



- Flexible Payment Service (FPS): Mit FPS hat Amazon einen Paypal-Klon im Angebot, der den Empfang und die Ausführung von Zahlungen ermöglicht. Die Kunden des Anwenders können die Pre- oder Postpaid-Beträge über ihr Amazon-Konto und verschiedene Zahlungsmethoden (wie zum Beispiel Kreditkarten) abwickeln. Nebst Micropayments werden unter anderem Abonnemente unterstützt. Die Kosten schwanken je nach Rechnungsbetrag und setzen sich aus einem prozen­tualen Anteil am Gesamtbetrag sowie einem Fixbetrag zusammen.



- Simple Storage Service (S3): Ermöglicht die Speicherung und Auslieferung einer unlimitierten Anzahl von Objekten mit einer Grösse zwischen 1 Byte und 5 Gigabytes, wobei Objekte entweder als öffentlich oder privat markiert werden können. Als Download-Protokoll kann entweder HTTP oder BitTorrent verwendet werden.



- SimpleDB: SimpleDB ist eine schemalose, strukturierte Datenbank, die allerdings keine Gemeinsamkeiten mit einer klassischen SQL-Datenbank hat. Die Daten werden in Domains als «Datensätze» gespeichert, die jeweils aus bis zu 256 Schlüssel-Wert-Paaren bestehen können. Sowohl Schlüssel als auch Werte sind Strings, andere Datentypen werden nicht unterstützt, wobei die Länge der Zeichenketten 1024 Bytes nicht überschreiten darf. Die Daten können mit einer proprietären Abfragesprache ausgewählt werden. Support für Joins, Volltextsuche und Sortierung der Datensätze steht nicht zur Verfügung.



- Simple Queue Service (SQS): SQS stellt eine Message Queue zur Verfügung, die nach dem FIFO-Prinzip (First In, First Out) arbeitet. Mit der Message Queue können Nachrichten zwischen Servern respektive Servern und Clients ausgetauscht werden, wobei die Nachrichten in der Warteschlange bleiben, bis sie explizit gelöscht werden. Es kann eine beliebige Anzahl Message Queues erstellt werden, die je eine unlimitierte Anzahl an Nachrichten (max. 256 kB Text) beherbergen kann.



Die Amazon Web Services im Überblick


Einfache Nutzung

Die Steuerung sämtlicher AWS erfolgt über Web-APIs, die sowohl SOAP als auch REST verstehen. Dies macht die Integration der AWS in bestehende und neue Applikationen einfach, weil alle grossen Entwicklungsplattformen entweder Unterstützung für das eine oder andere Protokoll mitbringen – wenn nicht gleich für beide – und es egal ist, ob man auf Desktop oder Server arbeitet.


Die Implementierung der AWS unterstützt Amazon mit einer umfangreichen Dokumentation, die nebst Beispielcode und WDSL-Beschreibungen zum Teil auch komplette Bibliotheken enthält. Zudem steht bei einigen Services eine Sandbox zum Testen eigener Implementierungen bereit. Unterstützung erhält man über die Developer-Foren. Bei Bedarf steht auch ein technischer Support per E-Mail seitens Amazon bereit.


Abrechnung nach Gebrauch

Die Abrechnung aller Services erfolgt nach Gebrauch (Details siehe Tabelle). So wird hauptsächlich die jeweils verbrauchte Bandbreite und Rechenkapazität respektive Uptime berechnet. Wer vorab bereits wissen will, welche Rechnungssumme ihn am Monatsende erwarten könnte, kann dies mit dem AWS Simply Monthly Calculator berechnen, sofern der Ressourcenverbrauch bereits vorab eingeschätzt werden kann.


Da die Amazon-Services sofort zur Verfügung stehen, kommt das flexible Preisschema vor allem Anwendern zugute, die kurzfristig ihre eigene Infrastruktur ergänzen müssen, um beispielsweise Lastspitzen auszugleichen oder bei starkem Wachstum die Zeitspanne zu überbrücken, bis man selber neue Hardware in Betrieb nehmen kann. Ist die Lastspitze vorbei oder die neue Hardware installiert, können die Amazon-Services kurzerhand abbestellt werden und belasten (bis zum nächsten Einsatz) nicht mehr die Rechnung.



Selbst für Dauernutzer können die Angebote attraktiv sein. Bei EC2 kostet beispielsweise ein Monat Betrieb (30 Tage, 24 Stunden) mit der kleinsten Konfiguration rund 72 Dollar. Dies liegt durchaus im Rahmen der Angebote klassischer Webhoster.


Limitierte Funktionalität

Ob der Möglichkeiten, die einem die Amazon Web Services bezüglich günstiger Skalierung bieten, darf man allerdings nicht vergessen, dass sie von der Flexibilität her nicht an eine eigene Infrastruktur heranreichen können. So muss man mit den Funktionen leben, die ein Service bietet – oder eben nicht. Anpassung der Konditionen und Angebotsparameter sind kaum bis gar nicht vorgesehen. Zudem sind einige Funk­tionen nur in den USA verfügbar, was auch der Standort der Server ist – mit Ausnahme von S3 Europa. Dies kann insbesondere im Hinblick auf den Datenschutz die Einsatzmöglichkeiten der verschiedenen Web Services erheblich einschränken. Wie das Beispiel S3 zeigt, arbeitet Amazon allerdings an der geografischen Verteilung der Services, auch um die Paketlaufzeiten für Besucher auf anderen Kontinenten zu senken.


Ohne SLA

Den wohl grössten Hinderungsgrund, die Amazon Web Services zu nutzen, ist der Mangel an Service Level Agreements für das Gros der Produkte. Das heisst, dass Amazon weder eine bestimmte Uptime noch Kompensation für allfällige Ausfälle garantiert. Insofern ist für die Nutzung der AWS eine grosse Portion Vertrauen nötig. Inwiefern sich die SLA-Lage ändert, wenn die jeweiligen Services aus der Beta-Phase entlassen werden, lässt sich schwer beurteilen. S3 hat beim Verlassen der Beta-Phase per 1. Oktober 2007 einen SLA erhalten, der 99,9 Prozent Uptime pro Monat garantiert. Bei Nichteinhaltung rechnet Amazon 10 bis 25 Prozent der Rechnungssumme auf den Folgemonat an. Der Simple Queue Service kommt dagegen auch ohne Beta-Etikette ohne SLA.



Ob man einen SLA braucht, muss jeder Anwender für sich selber entscheiden. Dass Amazon mit S3 und über 5 Milliarden gespeicherten Objekten eine hohe Verfügbarkeit bieten kann, zeigt jedenfalls eine Untersuchung von Webmetrics, die für Oktober 2007 eine Verfügbarkeit von 99,991 Prozent ausweist. Auf der anderen Seite gibt es immer wieder Berichte über Ausfälle, beispielsweise von September 2007, als ein Ausfall von EC2 bei einigen Anwendern für Datenverluste gesorgt hat.


Begeisterung bei Start-ups

Trotz den Einschränkungen scheinen sich die AWS einer grossen Beliebtheit zu erfreuen, was sich unter anderem mit dem Hype um Web 2.0 erklären lässt und der Not, als Start-up günstig skalieren zu müssen. Im Web kann man eine Vielzahl von Erfahrungsberichten finden, in denen vor allem US-amerikanische Start-ups über ihre Erfahrungen mit den AWS berichten. So konnte beispielsweise der Betreiber der Photo-Sharing-Community SmugMug durch den Wechsel auf S3 für die Speicherung der Bilder im ersten Jahr eine Million Dollar sparen. Bei der Produktbewertungsseite Shoppero aus Hamburg hat man sich den eigenen Serverpark erspart und setzt statt dessen auf die Kombination aus EC2 und S3, da so der Serverkauf wegfällt und nach Bedarf skaliert werden kann.


Outsourcing per API

Über die Amazon Web Services vermietet Amazon nicht nur Computer, sondern auch Menschen. Über Mechanical Turk («Schachtürke») lassen sich Aufgaben, die von einem Computer nur schwer, von Menschen dagegen einfach erledigt werden können, per API an Menschen zur Bearbeitung auslagern. Dazu kann beispielsweise die Erkennung eines Objekts auf einem Bild oder die Transkription eines Podcast gehören. Man braucht nur die Aufgabe angeben und den Betrag, den man zu zahlen bereit ist. Menschen können dann über die Webseite von Mechanical Turk (www.mturk.com) die Aufgaben aussuchen und erledigen. Wird eine bestimmte Qualifikation vom Aufgabenlöser verlangt, kann man Tests spezifizieren, die bewältigt werden müssen, oder eine bestimmte Anzahl bereits gelöster Aufgaben verlangen.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Fliegen erledigte das tapfere Schneiderlein auf einen Streich?
GOLD SPONSOREN
SPONSOREN & PARTNER