Zur Erklärung
Das größte Problem bei EC2 Instanzen bisher bestand darin, dass es keine Datenpersistenz gab. Das bedeutet, alle während der Laufzeit einer Instanz geänderten Daten die auf die Festplatte dieser Instanz geschrieben wurden waren verloren wenn die Instanz beendet wurde.
Wie jedem sofort einleuchten wird, ist dies natürlich ein großes Problem, wenn sich eine Maschine auf Grund irgendeines Fehlers während der Laufzeit verabschiedet. Normale Server fährt man wieder hoch und dank der Innovation bei den Journaling-Dateisystemen der letzten zehn Jahre kommt es nur sehr selten zu Datenverlusten. EC2 Instanzen hingegen kann man nicht wieder hoch fahren. Das Prinzip der Wolke ist ja gerade, dass man nur virtuelle Maschinen hat. Es kann einem also egal sein auf welcher physischen Hardware man tatsächlich landet. Weil nach mir höchstwahrscheinlich jemand anderes auf der Maschine landet, ist es sogar in meinem Interesse, dass die Daten nicht auf der Platte bleiben.
Nun stellte die fehlende Persistenz Unternehmen vor 2 Probleme. Das eine Problem ist noch relativ leicht zu verkraften. Während der Laufzeit installierte Software, Sicherheitsupdates oder Konfigurationsänderungen wurden eben auch nicht übernommen. Jedesmal wenn das Image neu gestartet wurde hatte es wieder genau den Stand in dem man es bei S3 abgelegt hatte. Was im übrigen auch Vorteile hat. Man startet dadurch jede neue Instanz in einem genau vorhersehbaren Zustand. Lösungen für dieses Problem gab es zwei, entweder man lud nach seinen Änderungen jedesmal ein neues Image auf den S3 Speicherdienst hoch oder man speicherte die Änderung in kleinen inkrementellen Archiven ab. Diese wurden dann nach dem Start des Image nacheinander eingespielt und enthielten die nötigen Änderungen.
Wirklich problematisch ist, bzw. jetzt war, die fehlende Persistenz bei Datenbankservern. Wenn man nämlich seine komplette Infrastruktur innerhalb von Amazons EC2 betreiben wollte, hatte man immer das Problem, dass man seine Datenbankserver redundant und am besten nochmal irgendwo ausserhalb von EC2 vorhalten musste. Sonst wären nämlich alle Daten in der Datenbank seit dem letzten Backup beim beenden der Instanz verloren gewesen. Sobald eine Webapplikation die Datenbank aber ein bisschen intensiver nutzt als das 0815 Katzencontentblog sind häufige Backups ein echtes Problem.
EBS zur Rettung
EBS steht für Elastic Block Store und ist quasi eine Festplattenwolke. EBS ist ein Blockspeicher, der von jeder EC2 Instanz aus gemountet werden kann. Daten die auf EBS gespeichert sind, sind somit auch von jeder EC2 Instanz aus zu erreichen.
Details wie das ganze technisch umgesetzt ist und wie das ganze genutzt werden kann werde ich in Kürze nachliefern. Dazu möchte ich mir zwecks Recherche ein weniger mehr Zeit nehmen. Jetzt nur so viel, bereits der erste Blick auf die Möglichkeiten von EBS hat mir ein Lächeln ins Gesicht getrieben.
Abgerechnet wird EBS jedenfalls wie alle Amazon Web Services nach tatsächlicher Nutzung.
Ausblick
Mir persönlich fällt damit nur noch ein wirklicher Kritikpunkt bezüglich der Amazon Web Services ein. Es gibt keine SLAs (Service Level Agreements). D.h. Amazon garantiert nicht, dass man innerhalb einer bestimmten Zeit neue Maschinen bekommt. Sei es weil die eine ausgefallen oder man wegen eines Lastanstiegs mehr braucht.
Wer also sehr knapp kalkuliert und das werden junge Startups und Hobbyadmins, die EC2 als Ersatz für einen einzelnen Dedicated Server nutzen möchten, tun, hat ein Problem. Sobald man eine größere Anzahl EC2 Maschinen gleichzeitig nutzt spielt das ganze eine untergeordnete Rolle. Ob jetzt von meinen 3000 Instanzen 3 ausgefallen sind und ich die nächsten Stunden mit 2997 auskommen muss sollte den meisten Admins keine wirklichen Kopfschmerzen bereiten.
Fazit
Alles in allem ist EBS genau der Service der den Amazon Web Services noch gefehlt hat. Genau wie Markus auf Netzwertig.com bin auch ich hellauf begeistert von dieser Neuigkeit. Markus kreidet noch an, dass ein einfaches Benutzerinterface bisher fehlt. Aber wie er auch direkt prognostiziert werden wir da in Zukunft sicher noch einiges sehen. Wenn es nach mir geht in sehr naher Zukunft! Aber mehr kann ich dazu, zum jetzigen Zeitpunkt noch nicht verraten.
