AWS bietet eine umfassende Tool-Produktfamilie, um Verarbeitungslasten für wissenschaftliches Computing zu verwalten, und zwar mit Services wie: Amazon Elastic Compute Cloud (Amazon EC2) für die Skalierung der Rechenkapazität bedarfsgerecht nach oben bzw. nach unten, Amazon Simple Storage Service (Amazon S3) für die Datenspeicherung und Amazon Elastic Map Reduce (Amazon EMR) für die Verwaltung Ihrer Workflows auf Hadoop-Basis. Insbesondere das Preismodell für EC2-Spot-Instances ist für Anwendungsfälle mit Batchverarbeitung konzipiert. Es bietet Ihren Kunden die Flexibilität von Ad-hoc-Provisioning und erzielt gegenüber anderen Preismodellen gleichzeitig erhebliche Kosteneinsparungen.


Einstieg in das Starten von Amazon EC2-Spot-Instances mit AWS CloudFormation
Sie können nun mithilfe von AWS CloudFormation-Vorlagen eine Zusammenstellung verwandter AWS-Ressourcen, einschließlich Spot-Instances, erstellen und verwalten. Zum Einstieg stellen wir drei neue CloudFormation-Vorlagen zur Verfügung, die für Kosteneinsparungen und den Umgang mit Unterbrechungen optimiert sind:

  • Verwalten der asynchronen Verarbeitung mithilfe von Amazon SQS und Auto Scaling. Jetzt starten!
  • Eine Vorlage zum Testen der Website-Last mithilfe von Bees with Machine Guns und Auto Scaling. Jetzt starten!
  • Eine Grid Computing-Vorlage unter Verwendung von StarCluster. Jetzt starten!

Weitere Informationen finden Sie unter Using Spot and CloudFormation im Amazon EC2-Benutzerhandbuch.

Effektives Arbeiten mit Spot-Instances über Auto Scaling
Sie können nun Ihre Spot-Instances mithilfe von Auto Scaling effizient verwalten. Mithilfe von Auto Scaling können Sie unter Verwendung von Startkonfigurationen Gebote für Amazon EC2-Spot-Instances abgeben, Benachrichtigungen zu Start- und Beendigungsvorgängen erhalten und einen Zeitplan für das Abgeben von Geboten einrichten. Weitere Informationen finden Sie im Abschnitt Launching Spot Instances with Auto Scaling im Amazon EC2-Benutzerhandbuch.

Erhalten von Benachrichtigungen zu Ihren Spot-Instances
Mithilfe dieses Code-Tutorials und der Beispielanwendung können Sie Amazon SNS-Benachrichtigungen zu Änderungen am Status Ihrer Amazon EC2-Instances, aktuellen Spot-Instance-Anforderungen und Spotpreisen in einer bestimmten Region aktivieren. Mithilfe dieses neuen Codebeispiels können Sie nun Ihre in Spot-Instances ausgeführten Anwendungen so einrichten, dass der Umgang mit etwaigen Unterbrechungen vereinfacht wird. Klicken Sie hier, um diese Beispielanwendung und das Tutorial anzuzeigen.


Wissenschaftliche Forscher arbeiten mit komplexen Rechenverarbeitungslasten von der DNA-Sequenzanalyse bis zu Simulationen in der Teilchenphysik. Unabhängig von der Anwendung müssen sich alle mit einem wichtigen Thema befassen: der Beschaffung und Bereitstellung von kosteneffektiven Rechenzyklen. In typischen Umgebungen für wissenschaftliches Computing ist die Warteschlange für den Zugriff auf die gemeinsam genutzte Infrastruktur lang, und der Erwerb spezieller, zweckgerichteter Hardware kostet Zeit und ist mit erheblichen Investitionen verbunden.
Ob Sie nun als Doktorand eine Dissertation schreiben oder als Pharmaunternehmen bahnbrechende Medikamentenforschung betreiben, Sie müssen die folgenden Fragen in Betracht ziehen, wenn Sie beurteilen, wo Ihre Anwendungen ausgeführt werden sollen.

  • Wie lange dauert es, bis meine Anwendungen verfügbar sind?
  • Kann ich meine Arbeit parallel ausführen, um meine Arbeit schneller zu erledigen?
  • Welches Elastizitätsniveau (Skalierung nach oben bzw. nach unten) ist für meine Anwendung erforderlich?
  • Wie kann ich meine Anwendung aufbauen, um die Kosten zu senken?

Bei Spot-Instances können Sie auf nicht genutzte Amazon EC2-Kapazität zum vom Kunden gewünschten Preis bieten. Kunden, deren Angebote den Spotpreis übersteigen, erhalten so lange Zugriff auf verfügbare Spot-Instances, wie das Angebot den Spotpreis übersteigt. Rückblickend war der Spot-Instance-Preis 50 % bis 93 % niedriger als der Preis für On-Demand-Instances. Kunden, deren Angebote den Spotpreis übersteigen, erhalten so lange Zugriff auf verfügbare Spot-Instances, wie das Angebot den Spotpreis übersteigt. Spot-Instances arbeiten mit anderen Diensten wie Amazon S3 und Amazon EMR zusammen, um Ihnen beim Verwalten Ihres gesamten Rechenbedarfs zu helfen.

Viele beispielhafte Anwendungsfälle arbeiten gut mit Spot-Instances zusammen, etwa:

  • Genomsequenzierung und Datenverteilung
  • Simulationen in der Teilchenphysik
  • Bioinformatik
  • Molekularmodellierung
  • Forschung im Bereich künstlicher Intelligenz
  • Pharmaforschung
  • Wissenschaftliche Zusammenarbeit und zentralisierte Datenverwaltung

AWS ist so konzipiert, dass Ihnen die mühsamen Aufgaben bei der Einrichtung und Verwaltung Ihrer eigenen IT-Infrastruktur erspart bleibt. Sie können die AWS Management Console, verschiedene Verwaltungstools anderer Anbieter sowie die gut dokumentierten AWS Web-Service-APIs nutzen, um mit AWS zu beginnen und Ihre Cloud-Infrastruktur zu verwalten und zu warten.

Sie zahlen lediglich für die genutzte Rechenleistung, den genutzten Speicher sowie weitere Ressourcen, die Sie verwenden, und müssen dabei keine langfristigen Verträge eingehen oder Vorleistungen erbringen.

Bei AWS können Sie das Betriebssystem, die Programmiersprache, Softwaretools, die Anwendungsplattform sowie weitere benötigte Services auswählen. Auf diese Weise wird die Migration für bestehende Anwendungen erleichtert und gleichzeitig eine Optionsvielfalt für die Realisierung neuer Lösungen geboten.

Mit AWS können Sie die Kapazität innerhalb weniger Minuten erhöhen oder verringern, ohne für die benötigten Ressourcen Schlange stehen zu müssen. Sie können eine, Hunderte oder sogar Tausende von Server-Instances bereitstellen, sodass Sie Verarbeitungslasten mithilfe zusätzlicher Instances beschleunigen können, und diese schließen, sobald Sie fertig sind.

In einem gemeinsamen Bereich können Sie Daten, Ergebnisse und Methoden mit anderen Forschern gemeinsam nutzen.

AWS verfolgt einen umfassenden Ansatz, um die Infrastruktur durch physische, betriebliche und Software-basierte Maßnahmen zu sichern und zu festigen. Weitere Informationen erhalten Sie im AWS-Sicherheitszentrum.

Mit Spot-Instances können Sie auf nicht genutzte Amazon-EC2-Kapazität bieten. Für Instances gilt der Spot-Preis, der von Amazon EC2 festgelegt wird und der in regelmäßigen Abständen abhängig vom Angebot an und der Nachfrage nach Spot-Instance-Kapazität schwankt. Um Spot-Instances zu verwenden, geben Sie unter Angabe des Instance-Typs, der gewünschten Region, der Anzahl der Spot-Instances, die ausgeführt werden sollen, und des Höchstpreises, den Sie je Instance-Stunde bezahlen möchten, eine Spot-Instance-Anforderung ab. Mithilfe des Spot-Price-Verlaufs können Sie Ihren Höchstpreis mit den letzten Spot-Prices vergleichen. Der Verlauf ist über die Amazon EC2 API und die AWS Management Console verfügbar. Wenn das Gebot mit diesem Höchstpreis den aktuellen Spot-Instance-Preis übersteigt, wird Ihre Anforderung erfüllt, und Ihre Instances werden ausgeführt, bis Sie entweder entscheiden, diese zu beenden, oder bis der Spot-Instance-Preis Ihren Höchstpreis übersteigt.

Aus der folgenden Tabelle ist der Spotpreis pro Instance-Typ für die Availability Zone mit dem niedrigsten Preis ersichtlich (Aktualisierung alle 5 Minuten).


Falls nicht anders angegeben, gelten unsere Preise zuzüglich geltender Steuern und Abgaben, darunter MwSt. und Umsatzsteuer. Bei Kunden mit japanischer Rechungsadresse unterliegt die Nutzung der Region Asien-Pazifik (Tokio) der japanischen Verbrauchssteuer. Weitere Informationen.

Spot-Instances können über die AWS Management Console oder Amazon EC2 APIs angefordert werden. So starten Sie mit der AWS Management Console:

  1. Melden Sie sich bei der AWS Management Console an und klicken Sie auf die Registerkarte "Amazon EC2".
  2. Klicken Sie links im Navigationsbereich auf "Spot Requests".
  3. Klicken Sie auf "Pricing History", um eine Ansicht der früheren Preise zu öffnen, die nach Instance-Typ sortiert werden können. Diese Information wird Ihnen bei der Auswahl eines Höchstpreises für Ihre angeforderte Instance helfen. Die angegebenen Preise beziehen sich auf die ausgewählte Availability Zone. Wenn keine Availability Zone ausgewählt wurde, werden die Preise für alle Availability Zones in der Region angezeigt.
  4. Klicken Sie auf "Request Spot-Instances" und befolgen Sie die vom Assistenten zum Starten von Instances beschriebenen Schritte. Wählen Sie dabei ein AMI und einen Instance-Typ aus. Geben Sie die Anzahl der gewünschten Spot-Instances, Ihren Höchstpreis sowie die Art der Anforderung (einmalig oder permanent) an. Nachdem Sie Ihr Schlüsselpaar und Ihre Security Group(s) ausgewählt haben, können Sie Ihre Anforderung absenden.
video-thumb-spot-instances-getting-started
4:13
Erste Schritte mit Spot-Instances

Ausführliche Informationen zur Anforderung von Spot-Instances über die Amazon EC2 API finden Sie unter Amazon EC2 API in der neuesten technischen Dokumentation zu EC2.

Eine detaillierte Beschreibung der Schritte zur Verwendung von Spot-Instances sowie weitere Informationen dazu, wie Sie am besten von Spot-Instances profitieren, finden Sie in der ausgewählten Dokumentation und im Abschnitt mit Lernprogrammen.

Entwickeln oder Migrieren einer Anwendung, die auf Spot-Instances ausgeführt wird, ist einfach. In den folgenden Abschnitten finden Sie Hinweise, wie Sie Anwendungen entwickeln, migrieren und testen können, die mit Spot-Instances verwendet werden sollen.

Erstellen einer neuen Anwendung
Wenn Sie die Möglichkeit haben, ihre Anwendung völlig neu zu entwickeln, empfehlen wir, dass Sie sich die Zeit nehmen, den Abschnitt Häufig verwendete Architekturen und bewährte Methoden dieser Webseite durchzulesen, in dem zahlreiche Architekturen umrissen werden, die andere Kunden in der Vergangenheit mit Spot-Instances verwendet haben.

Migrieren einer vorhandenen Anwendung
Viele Anwendungen sind bereits fehlertolerant konzipiert, sodass die Migration Ihrer Anwendung für die Ausführung auf Spot-Instances möglicherweise recht einfach ist. Während der Migration empfehlen wir, die folgenden bewährten Methoden zu integrieren:

  • Start und Beendigung von Spot Instances nachverfolgen: Spot-Instances starten asynchron und können unterbrochen werden, wenn der Spotpreis Ihren Gebotspreis überschreitet. Deshalb ist es wichtig, den Status Ihrer Gebote und Instances zu verfolgen. Am besten bleiben Sie über den aktuellen Status Ihrer Spot-Instances informiert, wenn Sie Ihre Spot-Anforderungen und Ihre derzeit ausgeführten Instances über die AWS Management Console oder Amazon EC2-API überwachen.
  • Höchstpreis für Ihre Instance auswählen: Denken Sie daran, dass der mit Ihrer Anforderung übermittelte Höchstpreis nicht notwendigerweise der Preis ist, den Sie pro Stunde bezahlen werden, sondern der Preis, den Sie maximal bereit sind zu zahlen, um die Instance weiter auszuführen. Verfolgen Sie den Spot-Instance-Preisverlauf über die AWS Management Console oder Amazon EC2-API, um eine Orientierung für Ihren Höchstpreis zu erhalten.
  • Sicherstellen, dass Ihre Anwendung fehlertolerant ist: Da Spot-Instances ohne Vorwarnung beendet werden können, ist es wichtig, Ihre Anwendungen so zu gestalten, dass Sie auch dann Fortschritte machen, wenn Ihre Anwendung unterbrochen wird. Es gibt viele Möglichkeiten, dies zu erreichen. Zwei dieser Möglichkeiten sind zum Beispiel das Setzen von Checkpoints in Ihrer Anwendung und das Aufteilen Ihrer Arbeit in kleinere Einheiten. Mit Amazon EBS-Datenträgern können Sie Ihre Daten auf einfache Weise speichern und schützen.

Sehen Sie auch im Abschnitt Häufig verwendete Architekturen und bewährte Methoden nach, ob es weitere spezifische Tipps für Ihre Architektur gibt.

Testen Sie Ihren Setup
Bei der Verwendung von Spot-Instances sollten Sie unbedingt sicherstellen, dass Ihre Anwendung fehlertolerant ist und mit Unterbrechungen richtig umgeht. Während wir uns bemühen, Ihre Instances korrekt zu beenden, sollte Ihre Anwendung auf ein spontanes Herunterfahren vorbereitet sein. Sie können Ihre Anwendung testen, indem Sie eine On-Demand Instance ausführen und sie dann plötzlich beenden. Auf diese Weise können Sie bestimmen, ob Ihre Anwendung ausreichend fehlertolerant ist und mit unerwarteten Unterbrechungen umgehen kann.

video-thumb-manage-spot-interruption
3:59
Vorgehensweise bei einer Unterbrechung von Spot-Instances

Da Spot-Instances ohne Vorwarnung beendet werden können, ist es wichtig, Ihre Anwendungen so zu gestalten, dass Sie auch dann Fortschritte machen, wenn Ihre Anwendung unterbrochen wird. Es gibt zahlreiche Mittel und Wege, dies zu erreichen. Eine Möglichkeit wäre, Ihre Arbeit in kleine Stufen aufzuteilen (über Grid, Hadoop-basierte oder Queue-basierte Architekturen), eine andere, Kontrollpunkte zu Ihrer Anwendung hinzuzufügen. Die folgenden Abschnitte vermitteln eine Übersicht über mehrere häufig verwendete Architekturen, die von vorhandenen Spot-Kunden genutzt werden.

Bei Apache Hadoop handelt es sich um ein Software-Framework auf Open-Source-Basis, das datenintensive dezentralisierte Anwendungen unterstützt. Es versetzt Anwendungen in die Lage, mit tausenden von Knoten zu arbeiten, um Petabytes von Daten über zwei Hauptkomponenten zu verarbeiten: (1) ein fehlertolerantes, verteiltes Speichersystem und (2) eine Technik mit der Bezeichnung „MapReduce“, die effiziente, ausführliche Analyse über massive verteilte Datenbestände unterstützt. Hadoop ist für verfügbare Hardware entwickelt, kann Daten mit oder ohne Schema speichern und bietet lineare Skalierbarkeit in Petabyte-Größenordnung. Kunden wie Backtype und Fliptop verwenden Amazon Elastic MapReduce, einen verwalteten Hadoop-Dienst, der Hadoop-Cluster-Provisioning, -Konfiguration und -Verwaltung sowie Spot-Instances vereinfacht, sodass die Kosten der Datenverarbeitung mit großem Umfang erheblich gesenkt werden.

Amazon Elastic MapReduce vereinfacht das Mischen von Spot-Instances mit On-Demand- oder Reserved Instances innerhalb desselben Datenverarbeitungs-Clusters. Dies reduziert Kosten, verkürzt die Verarbeitungsdauer und entfernt das Risiko des Cluster-Ausfalls aufgrund der Fluktuation des Spot-Marktes. Wenn Spot-Instances aufgrund einer Änderung beim Spotpreis unterbrochen werden, werden Tasks, die in diesen Instances laufen, einfach an das Ende der Datenverarbeitungs-Warteschlange gesetzt, damit sie von den verbleibenden On-Demand Instances verarbeitet werden. Kunden können entweder mit der reduzierten Cluster-Größe mit der Datenverarbeitung fortfahren oder dem Cluster dynamisch zusätzliche Instances hinzufügen, die die unterbrochenen Instances ersetzen.

video-thumb-emr-spot
3:27
Using Spot Instances with EMR

Zu den Beispielen für Anwendungsfälle, die ideal für den Einsatz von Spot-Instances mit Elastic MapReduce sind, gehören Anwendungen, in denen der Kunde horizontal skalieren kann, um die Ausführungsgeschwindigkeit zu erhöhen, in denen die Flexibilität hinsichtlich der Fertigstellungszeit genutzt werden kann, um signifikante Kosteneinsparungen zu erzielen, dauerhafte Hadoop-Cluster, in denen signifikante Fluktuationen bei der Verarbeitungslast eine häufige Größenanpassung erfordern, und für die Reduzierung der Kosten beim Testen von Hadoop-Anwendungen.

Stellen Sie sich als Beispiel einen Auftrag vor, der normalerweise innerhalb von 14 Stunden mit 4 On-Demand Instances ausgeführt wird, was in der Regel 28 USD kostet. Stellen Sie sich nun vor, dass wir 5 zusätzliche Spot-Instances hinzufügen können, (weil sich der Auftrag nicht-linear skalieren lässt), und der Auftrag kann in 7 Stunden ausgeführt werden. Die Gesamtkosten zum Ausführen des Auftrags betragen jetzt 15,75 USD, vorausgesetzt, dass der Spotpreis 90 % unter dem On-Demand-Preis lag. Durch Hinzufügen von Spot-Instances ließen sich 50 % der Zeit und 44 % der Kosten einsparen, siehe unten:

emr

Szenario 1: Keine Spot-Instances
4 On-Demand Instances * 14 Stunden * 0,50 USD = 28 USD

Szenario 2: On-Demand mit zusätzlichen Spot-Instances
4 On-Demand Instances * 7 Stunden * 0,50 USD = 14 USD
5 Spot-Instances * 7 Stunden * 0,05 USD = 1,75 USD
Gesamtsumme = 15,75 USD

Zeiteinsparung: 50 %
Kosteneinsparung: 44 %

Weitere Informationen zu Amazon Elastic MapReduce finden Sie auf der Webseite „Amazon Elastic MapReduce“ oder im Amazon Elastic MapReduce Getting Started Guide.

Raster sind eine Form verteilter Verarbeitung, bei der ein Benutzer mehrere Instances nutzt, um Parallelverarbeitung durchzuführen. Kunden wie Numerate und Scribd verwenden Grid Computing mit Spot-Instances, weil dieser Architekturtyp die integrierte Elastizität und die niedrigen Preise der Spot Instances nutzen kann, um die Arbeit schneller und preisgünstiger zu erledigen.

Zunächst schlüsselt ein Benutzer seine Arbeit in separate Einheiten (Jobs) auf und anschließend übermittelt er diese Arbeit an einen „Master-Knoten“. Diese Jobs werden in eine Warteschlange eingereiht und ein Prozess namens „Scheduler“ verteilt diese Arbeit an andere Instances im Raster, sogenannte „Worker-Knoten“. Sobald das Ergebnis vom Worker-Knoten berechnet ist, wird der Master-Knoten benachrichtigt und der Worker-Knoten kann die nächste Operation aus der Warteschlange übernehmen. Wenn der Auftrag fehlschlägt oder die Instance unterbrochen wird, wird der Auftrag automatisch vom Scheduler-Prozess erneut in die Warteschlange eingereiht.

grid_computing

Wenn Sie Ihre Anwendung konzipieren, müssen Sie unbedingt darauf achten, ein angemessenes Arbeitsvolumen in Ihren Auftrag einzubeziehen. Wir empfehlen, Ihre Aufträge je nach der erwarteten Verarbeitungszeit in logische Gruppen aufzuschlüsseln. In der Regel sollten Sie eine Verarbeitungslastgröße von weniger als einer Stunde einrichten. Wenn die Verarbeitungslast dann erneut verarbeitet werden muss, entstehen keine zusätzlichen Kosten (Sie bezahlen nicht für die laufende Stunde, falls Ihre Instance unterbrochen wird).

video-thumb-launching-cluster-spot
7:50
Launching a Cluster on Amazon Ec2 Spot Instances Using StarCluster

Viele Kunden verwenden einen Raster-Scheduler wie Oracle Grid Engine oder UniCloud, um einen Cluster einzurichten. Wenn Sie Verarbeitungslasten mit langer Laufzeit haben, besteht die bewährte Methode darin, den Master-Knoten auf On-Demand oder Reserved Instances und die Worker-Knoten auf Spot-Instances oder einer Mischung aus On-Demand, Reserved und Spot-Instances auszuführen. Falls Sie eine Verarbeitungslast haben sollten, die weniger als eine Stunde in Anspruch nimmt, oder wenn Sie eine Testumgebung ausführen, haben Sie auch die Möglichkeit, alle Ihre Instances auf Spot auszuführen. Ganz gleich in welchem Setup, empfehlen wir, dass Sie ein Skript zum automatischen erneuten Hinzufügen von Instances erstellen, die möglicherweise unterbrochen werden. Einige der vorhandenen Tools können Ihnen helfen, diesen Prozess zu verwalten, etwa StarCluster.

Weitere Informationen zum Erstellen Ihres eigenen Rasters finden Sie im Video-Lernprogramm zu StarCluster oder im Grid Computing Getting Started Guide. Oder starten Sie unsere Vorlage StarCluster CloudFormation. Jetzt starten!

Zahlreiche Kunden wie DNAnexus haben Architekturen auf Warteschlangenbasis aufgebaut, bei der möglicherweise fehlschlagende Aufträge verarbeitet werden können. Viele dieser Anwendungstypen können sehr einfach für die Nutzung von Spot-Instances erweitert werden, indem die Spot-Provisioning-APIs integriert werden.

Stellen Sie sich beispielsweise eine Anwendung vor, die Amazon EC2-Spot-Instances und Amazon SQS nutzt. Die Anwendung hat drei SQS-Warteschlangen: „To-Process“, „Processed“ und „Exception“ (zu verarbeiten, verarbeitet und Ausnahme). Auf der Grundlage der Warteschlangentiefe verwendet der Master-Knoten die Spot-Provisioning-APIs, um Spot-Instance-Worker-Knoten nach oben oder unten zu skalieren. Die Spot-Instance kann auch als dauerhaftes Gebot gestartet werden, falls sie also fehlschlägt, wird sie automatisch neu gestartet. Sobald eine Spot-Instance gestartet wurde, bestimmt die Anwendung, welche Warteschlangen genutzt werden, indem die Benutzerdaten gelesen werden, die beim Start durch die Instance geleitet werden, bzw. die entfernt in Amazon SimpleDB oder Amazon S3 gespeichert sind. Auf Spot-Instances ausgeführte Worker-Knoten wählen dann den nächsten Auftrag aus der Warteschlange „To-Process“ und sperren den Auftrag. Die Sperrung des Auftrags verhindert, dass andere Worker-Knoten versuchen, denselben Auftrag zu verarbeiten, bis eine bestimmte Zeit verstrichen oder der Auftrag vollständig verarbeitet ist. Wenn der Auftrag erfolgreich verarbeitet ist, sendet der Worker-Knoten eine Antwort mit den Ergebnissen zur Warteschlange „Processed“, wo der Master-Knoten eine zusätzliche Logik anwenden kann. Falls der Auftrag nicht verarbeitet wird, weil es zu lange dauert oder der Worker-Knoten unterbrochen wird, kann der Auftrag auch in die Warteschlange „Exception“ verschoben werden, sodass der Master-Knoten eine zusätzliche, spezifische Logik anwenden kann, etwa den Auftrag neu in die Warteschlange einzureihen. Wenn der Auftrag fehlschlägt, weil die Spot-Instance nicht mehr verfügbar ist, kann der Master-Knoten gegebenenfalls auch wählen, eine neue Spot-Instance zu starten.

queue

Beim Ansatz auf Warteschlangenbasis muss sichergestellt sein, dass die Verarbeitung einer Arbeitseinheit idempotent ist (sicher mehrfach ausgeführt werden kann), damit gewährleistet ist, dass die Wiederaufnahme einer unterbrochenen Aufgabe keine Probleme verursacht.

Weitere Informationen zum Aufbau ähnlicher Architekturen finden Sie im Building Scalable Amazon EC2 Applications with Amazon SQS Guide oder im Beispiel Amazon SQS & Amazon EC2 Job Processor. Oder falls Sie Interesse haben, eine Vorlage zu starten, die die Warteschlange für Sie verwaltet, sehen Sie sich die Vorlage Asynchronous Queue-Based Processing an. Jetzt starten!

Je nach den Fluktuationen im Spotpreis, die von den Änderungen bei Angebot und Nachfrage für Spot-Kapazität verursacht werden, können die Spot-Instance-Anforderungen möglicherweise nicht sofort erfüllt und ohne Vorwarnung beendet werden. Um Ihre Arbeit vor potenziellen Unterbrechungen zu schützen, empfehlen wir, regelmäßige Prüfpunkte einzufügen, die Ihre Arbeit von Zeit zu Zeit speichern.

Eine Möglichkeit, wie Kunden wie BrowserMob diese Unterbrechung verwalten, ist, die Daten mit Prüfpunkten zu versehen. Die bewährte Methode ist, den Höchstwert für die Zeit zu wählen, die Sie bereit sind, erneut zu verarbeiten, und zumindest dies häufig zu prüfen.

Es gibt eine Vielzahl von Methoden, Prüfpunkte auf Ihre Anwendung anzuwenden, etwa die Folgenden:

  • Amazon EBS: Kunden weisen Ihrer Spot-Instance ein zusätzliches Amazon EBS-Volume zu und geben den Status ihrer Anwendung in regelmäßigen Abständen an das Volume aus. Wenn Sie diese Methode nutzen, ist es wichtig, sicherzustellen, dass Ihre Puffer regelmäßig geleert werden, damit gewährleistet ist, dass sich der gesamte Status auf dem Amazon EBS-Volume befindet.
  • Amazon S3: Amazon S3 ist ein Dauerspeicher, auf den Kunden Daten schreiben können. Wenn Ihre Anwendung es Ihnen gestattet, Ergebnisse in Form separater Dateien auszugeben, während Sie Daten verarbeiten, könnten Sie Amazon S3 verwenden, um Ihre Ergebnisse zu speichern. Anschließend reichen Sie lediglich die Bucket-URL an die Prozesse weiter, die die Ergebnisse lesen müssen.
  • Amazon RDS: Wenn Sie einen Strukturdatenspeicher benötigen, können Sie Amazon RDS nutzen, um Ergebnisse zu speichern. Da Amazon RDS es Ihnen ermöglicht, MySQL- oder Oracle-Datenbanken zu nutzen, können Sie Ihre Abfrage so einrichten, dass sie die Arbeit erst festschreibt, wenn Sie ausdrücklich den Befehl „Commit“ erteilen. Diese Methode gewährleistet, dass natürlich zurückgesetzt wird, wenn der Prozess unterbrochen wird.

Wenn Sie einen Ansatz auf Prüfpunktbasis verwenden, stellen Sie sicher, dass Ihre Verarbeitungslast zwischen Prüfpunkten idempotent ist, damit Ihre Verarbeitungslast sicher mehrfach verarbeitet werden kann, falls Sie eine unterbrochene Aufgabe fortsetzen.

Möchten Sie eine neue Möglichkeit zum Verwalten von Unterbrechungen beim Verwenden von Spot-Instances empfehlen?

DNAnexus
DNAnexus bietet ein einheitliches System zur Datenverwaltung und Sequenzanalyse für Einrichtungen und Forscher, die sich mit der DNA-Sequenzierung befassen. DNAnexus verwendet zudem Amazon EC2-Spot-Instances zur Durchführung all seiner DNA-Analysen, während Amazon EC2-On-Demand-Instances die interaktiven Dienste des Unternehmens, wie Kunden-Endportal- und Visualisierungstools, abwickeln. DNAnexus verlässt sich ganz auf Amazon Simple Storage Service (Amazon S3), um die umfassenden Speicheranforderungen des Unternehmens zu erfüllen, die sich von Terabytes auf Petabytes erhöhen werden.

BioTeam
BioTeam Inc. ist ein unabhängiges Beratungsunternehmen, im Eigentum und geleitet von Wissenschaftlern, die sich darauf konzentrieren, die Lücke zwischen Wissenschaft und Hochleistungs-IT zu schließen. Die große Stärke und das breite Angebot der Kompetenzen unserer Mitarbeiter ermöglicht es uns, eine breite Palette professioneller Dienstleistungen anzubieten. Das Unternehmen hat seit 2007 Amazon AWS eingesetzt, um kundenseitige Probleme zu lösen. Dank langjähriger Erfahrung beim Betrieb herkömmlicher HPC-, Cluster- und Grid Computing-Umgebungen kann BioTeam Kunden, die Cloud Computing in Betracht ziehen, praktische Dienstleistungen anbieten. Weitere Informationen zu BioTeam.

CycleComputing
Cycle Computing ist führend bei Software für Computing-Cluster mit hoher Leistung und hohem Durchsatz unter Verwendung offener Technologien auf Amazon EC2. Die Lösungen von Cycle unterstützen wissenschaftliche, finanzielle, geschäftliche und technische Anwendungen. Fortune-500-Unternehmen verlassen sich auf das CycleCloud™-Angebot und CycleServer™-Software kombiniert mit Open-Source-Frameworks wie Condor, SGE and Hadoop, um unternehmenskritische Geschäftsanwendungen wie Wirkstoffentdeckung, Risikomanagement-Berechnungen, Bioinformatik, numerische Strömungssimulationen auf Public Clouds wie Amazon EC2 und auf internen Ressourcen bereitzustellen. Weitere Informationen zu CycleComputing.

Eagle Genomics
Eagle Genomics verwendet Amazon EBS, EC2, RDS, S3, Load Balancing und Auto Scaling sowie Befehlszeilen-Tools, um genomische Daten für Pharma-, Landwirtschafts- und Tiergesundheitsunternehmen sowie akademische Zentren zu verarbeiten und zu analysieren. Eagle Genomics verwendete Spot-Instances kürzlich bei der Entwicklung einer Pipeline für die Entdeckung einer neuartigen microRNA, die vom ARK Genomics im Roslin Institute in Edinburgh beauftragt wurde.

video-thumb-spot-instances-getting-started
4:13
Erste Schritte mit Spot-Instances

Video-Tutorial: Starten einer Spot-Instance
Schauen Sie sich dieses Video-Tutorial an, um zu erfahren, wie Sie Ihre erste Spot-Instance starten. In diesem Tutorial wird erklärt, wie Sie ein Gebot abgeben, wie Sie ermitteln, wann die Instance bereitgestellt wurde, und wie Sie sie kündigen/beenden.

Anleitung: Getting Started with Spot Instances
Eine detaillierte Beschreibung der Schritte zur Verwendung von Spot-Instances sowie weitere Informationen dazu, wie Sie am besten von Spot-Instances profitieren, finden Sie in diesem Handbuch.

video-thumb-when-to-use-spot-instances
6:02
Einsatzgebiete von Amazon Spot-Instances

Video-Tutorial: Typische Anwendungsfälle für Spot-Instances
In diesem Video werden Beispiele für Spot-Anwendungsfälle gezeigt. Es umfasst u. a. die Betrachtung der verschiedenen Kundenbeispiele, zu denen Numerate, Clarity Solutions, Ooyala und BrowserMob gehören, und die Erläuterung, wie sich diese Kunden die Spot Instances in ihren Architekturen zunutze machen.

video-thumb-manage-spot-interruption
3:59
Vorgehensweise bei einer Unterbrechung von Spot-Instances

Video-Tutorial: Umgang mit Unterbrechungen
Schauen Sie sich dieses Video an, um zu erfahren, wie einige Kunden mit der Unterbrechung ihrer Spot-Instances umgehen.

Anleitung: Getting Started Programming Guide for Spot Instances
Dieses Code-Tutorial bietet einen Kurzüberblick über das programmgesteuerte Abgeben von Geboten für Spot-Instances sowie deren Beschreibung und Stornierung.

Anleitung: Advanced Programming Guide for Spot Instances
Dieses Tutorial mit Beispielcode bietet einen kurzen Überblick über komplexere Aufgaben bei der Bereitstellung und beim Umgang mit Unterbrechungen von Spot-Instances.

Anleitung: How to Track Spot Instance Activity with the Spot Notifications Sample Application
Mithilfe dieses Tutorials und Beispielcodes können Sie Amazon SNS-Benachrichtigungen zu Änderungen am Status Ihrer Amazon EC2-Instances, aktuellen Spot-Instance-Anforderungen und Spotpreisen in einer bestimmten Region generieren und verwalten. Mithilfe dieses Codebeispiels können Sie nun Ihre in Spot-Instances ausgeführten Anwendungen so einrichten, dass das Bewältigen etwaiger Unterbrechungen vereinfacht wird.

video-thumb-spot-bidding-strategy
4:34
Bestimmen der Strategie zum Bieten auf Spot-Instances

Video-Tutorial: Deciding on Your Spot Bidding Strategy
Schauen Sie sich dieses Video an, um alle Tipps und Tricks für das Bieten auf Spot-Instances kennenzulernen. Darin werden verschiedene Bietstrategien behandelt, die unsere Kunden erfolgreich nutzen.

video-thumb-spot-emr
3:27
Using Spot Instances with EMR

Video-Tutorial: Launching Amazon Elastic MapReduce Job Flows with Spot Instances
In diesem Video erfahren Sie, wie Sie Amazon Elastic MapReduce-Auftragsabläufe auf Ihren Spot-Instances gestartet werden können. Das Starten und das Deaktivieren eines Spot-Clusters in der AWS Management Console stellen Themen dar, die im Rahmen des Videos abgedeckt werden.

video-thumb-launching-cluster-spot
7:50
Launching a Cluster on Amazon Ec2 Spot Instances Using StarCluster

Video-Tutorial: Starten eines Clusters auf Spot-Instances
Chris Dagdigian von BioTeam gibt einen kurzen Überblick darüber, wie Sie einen Cluster innerhalb von 10 bis 15 Minuten mithilfe von StarCluster auf Amazon EC2-Spot-Instances starten können. Bei StarCluster handelt es sich um ein Open Source-Tool, das von einem Labor des MIT entwickelt wurde und die Einrichtung eines neuen Oracle Grid Engine Cluster vereinfacht. Im Rahmen der Präsentation kommt Chris Dagdigian auf das Installieren und Einrichten eines Clusters sowie auf das Ausführen einfacher Aufgaben in einem Cluster zu sprechen. Zudem nutzt Chris Spot-Instances, damit die Arbeit tendenziell schneller erledigt wird und unter Umständen Kosteneinsparungen im Vergleich zum On-Demand-Instance-Preis von bis zu 93 % erzielt werden. Wenn Sie sich für dieses Tutorial interessieren, ist vielleicht auch unsere StarCluster CloudFormation-Vorlage etwas für Sie.

video-thumb-launching-spot
7:40
Launching Spot Instances in Amazon VPC

Video-Tutorial: Launching Spot Instances in Amazon VPC
Schauen Sie sich dieses Video an, um zu erfahren, wie Sie Ihre Spot Instances in Amazon VPC starten können. In diesem Tutorial wird erklärt, wie Sie ein Gebot abgeben, wie Sie ermitteln, wann die Instance bereitgestellt wurde, und wie Sie sie kündigen/beenden.

Öffentliche Datensätze in AWS stellen ein zentralisiertes Repository zur Verfügung, in dem Daten gemeinsam genutzt und nahtlos in AWS Cloud-basierte Anwendungen integriert werden können. Ein Beispiel hierfür ist das 1000-Genome-Projekt, ein internationales öffentlich-privates Konsortium, das an dem bislang detailliertesten Verzeichnis menschlicher Genvariationen arbeitet. Annotated Human Genome Data for MySQL von Ensembl, das Genome für mehr als 50 Spezies enthält, darunter des Menschen, und Human Liver Cohort von Sage Bionetwork, das die Genausdrücke in Leberproben charakterisiert. Weitere Informationen erhalten Sie auf der Webseite Öffentliche Datenbestände.

Bei „AWS im Bildungswesen“ können sich Lehrkräfte, wissenschaftliche Forscher und Studenten weltweit um kostenlose Nutzungsguthaben bewerben, um die Infrastruktur von Amazon Web Services für den Unterricht in Aufbau- und Leistungskursen, zum Umsetzen von Forschungsvorhaben und für die Untersuchung neuer Projekte bedarfsabhängig nutzen. Weitere Informationen zu diesem Programm erhalten Sie auf der Webseite AWS in Education.