Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

t3n 15

Mit Amazon AWS, Google App Engine & Co. Applikationen auslagern: Die Cloud für Webentwickler

Bei einer neuen Webanwendung ist die oberste Maxime für Entwickler, die gestellten Anforderungen an die Anwendung akkurat umzusetzen. Die Dimensionierung der Infrastruktur liegt hingegen nicht immer in der Kernkompetenz des Webentwicklers. Auch für Startups ist es zu Beginn in der Regel nicht finanzierbar, riesige Rechnerfarmen zu unterhalten. Um trotzdem auf eine performante Infrastruktur zurückgreifen zu können, lohnt sich ein Blick in die Wolken. Wir stellen die Cloud-Computing-Lösungen von Amazon, Google und Co. vor.

Im Zusammenhang mit Cloud Computing fällt unweigerlich der Begriff Software-as-a-Service (SaaS). Dabei handelt es sich um eine Anwendung, die nicht mehr auf lokalen Rechnern installiert, sondern als Dienst in Anspruch genommen wird. Cloud Computing ist sehr ähnlich, wobei hier noch einen Schritt weitergegangen wird, da zusätzlich ein Online-Speicher zur Verfügung gestellt wird. Sowohl Saas als auch Cloud Computing haben gemeinsam, dass man sich um die Infrastruktur für seine Anwendung keine Gedanken mehr machen muss.

Mit dem GoogleAppEngineLauncher lassen sich einfache Skelette für Anwendungen erstellen.

Mit dem GoogleAppEngineLauncher lassen sich einfache Skelette für Anwendungen erstellen.

Klassische Cloud-Computing-Lösungen spielen sich komplett im Browser ab. Die Vorreiter sind die vielfach bewährten Webmailer wie Web.de oder GMX. Neben fertigen Anwendungen existiert aber auch die Möglichkeit, eigene Anwendungen als Cloud-Computing-Lösung zu betreiben – das so genannte Platform-as-a-Service (PaaS). Mit Amazon AWS und Google App Engine existieren zwei populäre Anbieter von PaaS, die wir im Folgenden näher beleuchten.

Die Wolken von Amazon

Amazon ist schon längst über den Status des reinen Online-Versandhandels hinaus und bietet unter anderem auch sein Wissen rund um den Betrieb von großen Webanwendungen an. Das Dach, unter dem diese angeboten werden, heißt Amazon Webservices (AWS) [1]. Die Dienste werden im Baukasten-Prinzip angeboten und können individuell zusammengesetzt werden. Folgende Bausteine befinden sich aktuell im Portfolio:

  • Amazon Simple Storage Service (Amazon S3)
  • Amazon Elastic Compute Cloud (Amazon EC2)
  • Amazon CloudFront
  • Amazon SimpleDB
  • Amazon Simple Queue Service (Amazon SQS)

Für die Ablage von bis zu fünf GB großen Daten steht Amazon S3 zur Verfügung. Amazon EC2 ist die zentrale Infrastrukturkomponente und stellt die notwendige Ablaufplattform für Anwendungen bereit. Eine Anwendung läuft somit innerhalb der Amazon EC2. Das Image der Anwendung wird dabei in Amazon S3 gespeichert. Der Name Elastic in EC2 rührt daher, dass zu jedem Zeitpunkt neue Ressourcen hinzugefügt und entfernt werden können. Das System ist somit sprichwörtlich elastisch. Neben unterschiedlichen Linuxderivaten wie Red Hat Enterprise Linux, Fedora oder Ubuntu Linux stehen auch OpenSolaris und Windows Server 2003 zur Verfügung.

Wie bereits erwähnt, wird ein Image der Anwendung innerhalb von Amazon S3 gespeichert. Dieses Image muss dabei im AMI-Format (Amazon Image) vorliegen. Amazon bietet einige vorkonfigurierte Images an, die als Basis für ein eigenes AMI verwendet werden können. Außerdem ist es möglich, ein komplett eigenes AMI zu erstellen. Genaue Details dazu sind in der Dokumentation zu finden [2]. Für Firefox gibt es das Plugin Elasticfox [3], das die Arbeit mit Amazon EC2 erleichtern soll. Speziell auf Java-EE-Anwendungen ausgerichtet sind die Cloud Tools [4].

Amazon CloudFront als einfaches CDN

Bei vielen Internetauftritten ist es keine Seltenheit, dass große Dateien wie Filme oder andere Multimedia-Inhalte zum Download angeboten werden. Aufgrund der wachsenden Verbreitung von Breitbandinternet werden solche Angebote von Anwendern auch immer stärker genutzt. Dies kann aufgrund der hohen Datenmengen und einer hohen Anzahl an Requests zu einer Überlastung des gesamten Servers führen. Um dies zu vermeiden, ist es ratsam, große Dateien in ein so genanntes Content Distribution Network (CDN) auszulagern. Auf der Website wird dann nur noch ein Link auf die Datei im CDN verwendet.

Finde einen Job, den du liebst

Bitte beachte unsere Community-Richtlinien

Schreib den ersten Kommentar!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden