Tel. 06151 / 39 10 793

Skalierbare Webanwendungen mit Amazon S3 als CDN

Skalierbarkeit und Erweiterbarkeit von Webanwendungen vor allem im Bezug auf den Traffic der Seite sind gerade bei hochfrequentierten Communities und Portalen ein heikles Thema. Gerade wenn man zum Darstellen der Webseite große Bilder oder gar Flashanwendungen und Flashanimationen verwendet kann der Traffic schnell und unerwartet in die Höhe schnellen und somit den Server unnötig belasten.

Diese Tatsache brachte uns auch beim Entwickeln des Online-Rätsel-Dienstes krupion.de und beim Rätsel-Grußkartenportal puzzlecards.de zum Nachdenken. Da die Rätsel auf diesen Seiten aus Flashdateien mit meist 300kb bestehen, sollte der Ladevorgang dieser Flashanwendungen ausgelagert werden. Vor allem auf Krupion.de, wo die User Rätsel für Ihre Webseite erstellen und einbinden können, multipliziert sich der Traffic um ein Vielfaches mit jedem neuen Kunden. Wir könnten somit zusehen, wie der Server Tag für Tag weiter in die Knie geht. Um dieses Problem zu lösen war uns klar, dass kein Weg an einer Auslagerung der Flashdateien vorbeiführt. Unsere Webanwendung wurde so erweitert, dass wir eine beliebige Anzahl an Hosts definieren können und die Flashanwendung zufällig von einem dieser Hosts geladen wird. Da die Rätseldaten jedoch direkt von krupion.de geladen werden müssen, bekamen wir schnell Probleme mit der Sandbox von Flash. Soll dann noch ein JavaScript von den SWF-Dateien aus aufgerufen werden, schreit die Sandbox gerade zu laut. Die Lösung war es, die Crossdomainpolicy so zu entschärfen und den Embedcode entsprechend anzupassen, dass dieses verteilte Laden der Inhalte gelingt. Die Werbung in den Rätsel wird wiederrum von einem anderen Server geladen. Somit werden unsere Flashapplet mit Daten von 3 Hosts versorgt.

Als diese Konzept stand und das verteilte Laden (Load Balancing) erfolgreich implementiert worden war, suchten wir nach einem günstigen und einfach Skalierbaren Provider für das Ausliefern der Flashrätsel. Da ich auch zuvor schon von Amazon S3 Storage gehört hatte, machten wir uns darüber schlau und stellten fest, dass wir genau diesen Service benötigen. Man legt einfach die Flashapplets auf Amazon S3 und Krupion.de bzw. Puzzlecards.de laden diese bei Bedarf direkt vom Brightsolutions-Cluster des S3. Somit ist der Traffic auf unseren Servern erheblich gesunken. Und wenn man dann bedenkt dass 1GB bei Amazon S3 gerade einmal 13 Cent kostet, freut mach sich doch schon jetzt auf die erste Million an ausgelieferten Rätseln.

Übrigends ist es auch ohne Weiteres möglich, Backups auf Amazon S3 zu lagern. Ein Einfaches Script sorgt dann für eine sichere Authentifizierung und der Speicherplatz ist riesen groß. Zum Lagern und ausliefern von Backups, Flashanwendungen und auch Werbemitteln ist Amazon S3 meiner Meinung nach die Lösung.

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
CAPTCHA
Diese Frage hat den Zweck zu testen, ob Sie ein menschlicher Benutzer sind und um automatisierten Spam vorzubeugen.
So finden Sie uns