Entwicklung & Design

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.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.