Cloud Computing Anbietervergleich
(etwa ein Video) verändert, lesen Prozesse so lange die alten Daten, bis die neuen über das Rechenzentrum verteilt werden. Das hat zur Folge, dass Daten, die nicht komplett sind, auch nie zurückgeliefert werden. Andererseits kann es unter Umständen eine Weile dauern, bis Aktualisierungen für andere Prozesse oder Anwendungen verfügbar sind. Abbildung 1.1 4 stellt ein solches Szenario dar. Dabei wird ein Lesevorgang gestartet, bevor der Schreibvorgang abgeschlossen ist. Der Lesevorgang bekommt in diesem Szenario Inhalte, die der Version 1 entsprechen.
Abbildung 1.14: Ein Lesevorgang wird gestartet, bevor der Schreibvorgang abgeschlossen ist.
Das kann bedeuten, dass Aktualisierungen gegebenenfalls länger brauchen. Löscht man eine Datei, kann es vorkommen, dass sie noch für einen kurzen Zeitraum verfügbar ist. Tatsächlich gelöscht ist sie erst, sobald sie von allen Replikaten im Rechenzentrum entfernt wurde. Erwähnenswert ist auch, dass es keinen Lock-Mechanismus für Dateien gibt. Wird eine Datei zeitversetzt von zwei Prozessen geschrieben, ist jene Datei die aktuelle, die den aktuellsten Timestamp hat.
REST-API und Entwicklertools
Das REST-API wird in drei Ebenen unterteilt. Die höchste Ebene sind Anfragen an den Service. Hier bekommt man Informationen über alle Buckets, die dem Account angehören. In der nächsten Ebene kann man Buckets erstellen, löschen und konfigurieren. Die letzte Ebene ist ein Objekt, das eine Datei repräsentiert. In diesem Abschnitt werden nur wenige dieser möglichen REST-Operationen erklärt, es gibt noch wesentlich mehr.
Die Inhalte eines Buckets erhält man, indem man eine GET-Abfrage an den Namen des Buckets startet, normalerweise MyBucket.s3.amazonaws.com . Weitere Anfragen, die jeweils auf den Root gehen, sind für Benachrichtigungen in Buckets ( /?notification ), Logging für Buckets ( ?logging ), die Sicherheitsrichtlinie für Buckets ( ?policy ) sowie den Bucket-Speicherort ( ?location ). Operationen auf Objekte sind einfach möglich, sofern man mit REST vertraut ist. Hierbei kommen die Standard-REST-Parameter DELETE, GET, HEAD, POST und PUT zum Einsatz.
REST hat einen niedrigen Abstraktionsgrad. Um die Entwicklung für Amazon S3 zu vereinfachen, bietet Amazon High-Level Libraries für gängige Entwicklungsplattformen an:
Java (J2SE 5.0 oder neuer)
.NET (ab Version 2.0)
PHP wird derzeit nicht offiziell von Amazon unterstüzt. Es gibt jedoch einige Community-Projekte wie etwa das Zend Framework, das S3 unterstützt. Ähnlich verhält es sich mit Python, das über ein Community-Projekt namens „boto“ verfügt, das eine Unterstützung für S3 enthält. Entwickler, die Ruby bevorzugen, können auf auf das Community-Projekt „AWS::S3“ zurückgreifen.
1.1.7 Amazon Simple Queue Service
Amazon bietet einen einfachen Benachrichtigungsdienst für die Cloud an, „Amazon Simple Queue Service“. Wie erwähnt, sind Queues (Nachrichten) vor allem für die Kommunikation zwischen mehreren Rechnern gedacht. Das bietet vor allem Softwarearchitekten viele interessante Möglichkeiten. Das Thema „Paralellisierung“ ist ein ähnlich oft diskutiertes Thema in der Softwareentwicklung. Das soll dank der Benachrichtigungsdienste vereinfacht werden.
Mit dem Amazon Simple Queue Service kann man zuverlässig und skalierbar zwischen mehreren Systemen kommunizieren. Möglich ist es beispielsweise, dass eine Anwendung mehrere virtuelle Instanzen der Amazon EC2 benötigt. Damit diese Instanzen sich gegenseitig ergänzen, kann man Nachrichten versenden. Nachrichten sind hierbei äußerst zuverlässig, da sie in der Queue unabhängig von den virtuellen Instanzen oder Rechensystemen sind. Benachrichtigungen dienen oft dazu, neue Arbeitsanweisungen durchzuführen. Mithilfe der Amazon Simple Queue Services können automatisierte Workflows erstellt werden. Abbildung 1.15 stellt ein mögliches Anwendungsszenario der Amazon Simple Queue Services dar.
Abbildung 1.15: Szenario Versandhaus
In Abbildung 1.15 wird ein Szenario für ein großes Versandhaus dargestellt. Der stark vereinfachte Workflow stellt einen Bestellvorgang vor, wobei von einer bereits durchgeführten Bestellung ausgegangen wird. Als ersten Schritt schließt der Benutzer eine Bestellung in Punkt 1 ab. Dadurch schreiben die Websiteinstanzen eine Nachricht in den Simple Queue Service, der mitteilt, dass Dokumente generiert werden müssen. Diese Dokumente sind Acrobat-(PDF-)Dateien oder Word-(DOCX-)Dateien. Die
Weitere Kostenlose Bücher