0251 / 590 837 15
info@a-coding-project.de

Mit Amazon S3 in die Cloud – Performant und Skalierbar

 

Amazon WebServices

Amazon WebServices

Amazon S3 (Simple Storage Service) ist ein performanceabhängiger Dienst zur Dateispeicherung in der Cloud. Diesen Dienst kann man einsetzen, um die Performance & Skalierbarkeit einer Website zu steigern.

Was ist eigentlich eine Cloud?

Beim Cloud-Computing werden die Ressourcen automatisiert so verteilt, dass diese so gut ausgenutzt werden wie möglich. Wenn eine Datei nun oft aufgerufen wird, wird sie automatisch auf einen schnelleren Server gelegt, als eine Datei die sehr wenig aufgerufen wird.

Amazon hat seinen S3-Dienst oder den Hosting-Dienst dazu gestartet, die eigene Infrastruktur auszubauen. Im Weihnachtsgeschäft gibt es einen sehr hohen Traffic, doch im Sommer sind einige Ressourcen ungenutzt. Um solche Höhen und Tiefen auszugleichen, teilt sich Amazon die Ressourcen mit Fremdanbietern.

Wer eine neue Website plant steht am Anfang oft vor der Entscheidung: Welches Hosting Paket ist für mich das Richtige? Das Problem dabei ist, dass man zum Beginn oft gar nicht weiß wie viel (Arbeits-)Speicher und CPU man wirklich benötigt. Um auf Nummer sicher zu gehen landet man meistens bei einen etwas größeren Paket, so dass man erst mal Ruhe hat -> und hohe Kosten!

Funktionen von Amazon S3

  • Unterstützt Dateien (Objekte) die zwischen 1 Byte und 5 Terabyte groß sind
  • Der Ort der Speicherung kann pro Region festgelegt werden. So kann man zum Beispiel für amerikanische Besucher die Dateien von einem amerikanischen Server nehmen.
  • Dateien können entweder verschlüsselt (z.B. für Backups) oder auch unverschlüsselt (Bilder etc.) gespeichert und abgerufen werden.
  • Die Speicherung der Daten erfolgt über Webservices (REST + SOAP). Es wird auch ein Programm für die manuelle Speicherung angeboten (AWS Management Console)
  • Der Abruf der Daten erfolgt normalerweise über HTTP, also optimal für Websites. Es ist auch möglich die Dateien über Bittorrent zu verteilen, was die Kosten senken kann. Bittorrent würde sich vor allen für größere Downloads anbieten

Amazon S3 für Website Betreiber

Das Cloud-System bietet für Websites einige Möglichkeiten. Da es nur statische Daten verwaltet, kann man natürlich auch nur diese benutzen. Besonders interessant ist es für Dateien die oft genutzt werden und somit den eigenen Server stark belasten. So kann man zum Beispiel Stylesheets oder JavaScript-Files in Amazon S3 auslagern.

Aber auch für Bilder ist der Dienst super geeignet. Bilder tragen durch ihre Größe einen großen Teil der Traffic-Auslastung mit. Wer einen Server mit nicht ganz so guter Netzanbindung hat kann somit die Performance der Seite stark steigern.

Kosten

Das Kostenmodell von den Amazon Cloud Diensten kann etwas verwirrend sein, da man nach der Intensivität der Nutzung bezahlt wird. Doch was genau zählt dazu? Im Prinzip, alles was bei Amazon Auslastung des Netzwerkes bedeutet. Die Kosten sind bei dem Simple Storage Service (S3) neben den gleich genannten Faktoren auch noch von Region und Menge der Nutzung („Mengenrabatt“) abhängig.

Speichergebühren

Man muss natürlich den genutzten Speicher bezahlen. Hierbei gibt es, abhängig von der Größe der gespeicherten Elemente, einen monatlichenPreis.

Abfragegebühren

Auch die Anzahl der Abfragen wird berechnet. Wenn man zum Beispiel eine Datei mit einem MB herunterlädt oder im Gegensatz dazu zwei Dateien mit einem halben MB herunterlädt muss man für die zwei Dateien (minimal) mehr zahlen.

Datenübertragungsgebühren

Die Datenübertragungsgebühren kann man auch als Traffic-Gebühren bezeichnen. Je mehr von einer Seite heruntergeladen wird, desto mehr muss man auch zahlen.

Kostenlose Nutzung

Ist das Kostensystem etwas zu kompliziert? Egal! Amazon bietet für das erste Jahr die kostenlose Nutzung des Dienstes an. Dabei bekommt man:

  • 5 GB Speicher
  • 20.000 GET-Abfragen (Dateien vom Server abholen)
  • 2.000 PUT-Abfragen (Dateien zum Server übertragen)
  • 15 GB Traffic

So kann man sich erst mal in den Dienst einarbeiten und muss nicht sofort zahlen.

Sicherheit

Ein Problem bei der performancebasierenden Bezahlung sind natürlich Hacker-Angriffe. Wenn ein Angreifer nun die eine Seite ganz oft aufruft verursacht er Traffic und somit Kosten. Bei einem eigenen Server würde dieser irgendwann streiken, doch bei den S3-Diensten steckt eine Infrastruktur dahinter, die die Belastung mitmacht – Die Kosten steigen.

In Vorbereitung zu diesem Artikel habe ich also einfach mal bei Amazon dieses Problem angefragt. Als Antwort bekam ich ein PDF zugeschickt, was das Sicherheitskonzept der Amazon Cloud Dienste erklärt. Darin steht unter anderen beschrieben, dass Amazon solche Angriffe erkennt und abwehrt.

Durch redundante Speicherung ist das System vor Serverausfällen geschützt und ist laut Angaben von Amazon zu 99,999999999 % verfügbar.

Für geschützte Dateien ist eine Verschlüsselung eingebaut, die auch Amazon selbst die Ansicht der Daten verweigert. So ist es ohne datenschutzrechtliche robleme möglich auch Benutzerdaten dort zu speichern. (Das ist aber keine rechtliche Auskunft von mir!)

Fazit

Amazon S3 bietet einen guten Einstieg ins Cloud-Computing. Ich habe es selbst noch nicht getestet, doch werde dies bald nachholen. Gerade durch das kostenlose Angebot hat man nicht viel zu verlieren.

Verwandte Artikel

Kommentare

Mein Besuch auf der Developer Conference 2013 in Hamburg schrieb am 12.11.2013:

[…] habe selbst schon einmal einen Artikel zu den Amazon Webservices geschrieben. Eine Vertiefung in das Thema hatte ich schon länger vor, war aber leider noch nicht […]