Eines der größten Probleme von Webanwendungen ist die Skalierung, also das Funktionieren unter hoher Last durch viele Benutzer. Ein Problem, das meist erst spät angegangen wird und oft nur mit hohem Einsatz von Fachwissen und Kosten zu bewältigen ist. Dass es auch anders geht, beweist Amazon mit den EC2 und S3 Web Services.
S3 – Contentspeicher unbegrenzt
Ein typische Anforderung an Web-Applikationen ist die Speicherung von benutzergeneriertem Content. Schnell sammeln sich große Datenmengen an Bildern und Dokumenten an, die von Benutzern eingebracht werden. Spätestens bei Inbetriebnahme des zweiten Servers stellt sich die Frage, wie man diese Daten beiden Servern zugänglich macht. Wohin mit den Backups dieser großen Datenmengen? Wie die Redundanz und Hochverfügbarkeit sicherstellen? NFS- oder SMB-Shares kommen für eine ernsthafte Lösung dieser Probleme nicht in Frage, da sie dank Filesystem-Locking nicht über viele Server hinweg skalieren. Auch die Datenbank scheint nicht der richtige Ort für diese Daten. Genau hier bietet sich Amazon S3 [1] als Lösung an.
Für 0,15 US-Dollar pro Gigabyte im Monat kann man mit S3 unbegrenzten Speicherplatz in Amazons Rechenzentren mieten – ein günstiger Preis, wenn man bedenkt, dass man sich um Redundanz und Hochverfügbarkeit der Daten nun keine Gedanken mehr machen muss.
Um die eigenen Daten auf S3 zu speichern, stellt Amazon eine REST-API bereit. Da REST-Services über HTTP operieren, ist so eine Verschlüsselung mittels SSL sehr einfach möglich. Auf die Dateien in Amazons Datenspeicher kann ebenfalls über das REST-Interface zugegriffen werden. Daneben kann man über die API HTTP- und BitTorrent-Links anfordern, die als alternative Download-Möglichkeit fungieren. Die Einbindung von S3, die hier kompliziert erscheint, ist dank der vielen API-Implementationen [2] in den verschiedensten Sprachen wie PHP, Ruby oder Java sehr einfach zu realisieren. Neben den Bibliotheken, die man in die eigene Applikation einbinden kann, gibt es mittlerweile auch verschiedene Stand-Alone-Programme, mit denen man auf sein S3-Konto zugreifen und Dateien verwalten kann. Beispielhaft hierfür sind das Firefox-Addon S3-Organizer [3] oder Jungle Disk [4]. Während ersteres eine dem Norton Commander ähnliche Ansicht auf das S3-Konto gewährt, bindet Jungle Disk dieses als virtuelles Laufwerk auf dem Desktop ein.





