Arbeitsablauf für die Entwicklung von Anwendungen zur Zahlenverarbeitung auf Amazon ec2 / S3

8

Es wurde viel über die Bereitstellung von Datenverarbeitungsanwendungen auf EC2 / S3 geschrieben, aber ich würde gerne wissen, was ist der typische Workflow für die Entwicklung solcher Anwendungen?

Sagen wir, ich habe eine 1 TB Zeitreihendaten zu Beginn und ich habe es geschafft, dies auf S3 zu speichern. Wie würde ich Anwendungen schreiben und interaktive Datenanalyse durchführen, um maschinelle Lernmodelle zu erstellen und dann große Programme schreiben, um sie zu testen? Mit anderen Worten, wie wird in einer solchen Situation eine Entwicklungsumgebung eingerichtet? Startreise ich eine EC2-Instanz, entwickle Software darauf und speichere meine Änderungen und schließe jedes Mal, wenn ich etwas arbeiten möchte?

Normalerweise starte ich R oder Pylab, lese Daten von meinen lokalen Laufwerken und mache meine Analyse. Dann erstelle ich Anwendungen, die auf dieser Analyse basieren, und lasse sie auf diese Daten los.

Bei EC2 bin ich mir nicht sicher, ob ich das kann. Speichern Personen Daten lokal zur Analyse und verwenden EC2 nur, wenn sie große Simulationsaufträge ausführen?

Ich bin sehr neugierig zu wissen, was andere Leute tun, besonders Start-ups, deren gesamte Infrastruktur auf EC2 / S3 basiert.

    
signalseeker 19.02.2010, 17:11
quelle

2 Antworten

2

Wir erstellen eine Grundlinie, benutzerdefinierte AMI mit allen Programme, von denen wir wissen, dass wir sie schon immer auf dem AMI brauchen.

Die Software, die wir entwickeln (und ständig aktualisieren) wird auf externem Speicher gespeichert (wir verwenden ein Maven-Repository, aber Sie können alles verwenden, was gut zu Ihrer Umgebung passt.

Wir starten dann unser benutzerdefiniertes AMI mit allem, was wir brauchen, setzen die neueste Version unserer Software von Maven ein und wir können loslegen.

Der Workflow ist also:

Einrichtung

Erstelle eine benutzerdefinierte AMI mit Dingen, die wir immer brauchen werden

Laufend

Entwickeln Sie Software lokal Binaries auf externen Speicher bereitstellen (in unserem Fall das Maven-Repository) Starten Sie nach Bedarf mehrere Instanzen von benutzerdefinierten AMI Kopieren Sie Binärdateien aus dem externen Speicher in jede Instanz Führen Sie jede Instanz

aus     
Eric J. 19.02.2010, 17:25
quelle
0

I-slash-Wir haben einige Erfahrung mit der Art von Dingen, die Sie versuchen zu tun. Was Eric J. gesagt hat, fasst es zusammen. Aber erlauben Sie mir, dies zu wiederholen,

  1. Richten Sie ein Code-Repository auf einem Server ein, der immer aktiv ist. Wir benutzen Subversion. Dieser Server muss keine ec2-Maschine sein, oder sehr gut könnte auch eine ec2 sein. Deine Entscheidung.

  2. Erstellen Sie ein benutzerdefiniertes AMI nach; (a) Überprüfen Sie Ihre Codebasis auf einem EC2-Rechner. (b) Installieren aller Codeabhängigkeiten auf diesem Computer. (c) Speichere das Bild auf s3.

  3. Das nächste Mal booten Sie mit AMI, das in 1 gespeichert wurde. Führen Sie Ihre Experimente durch, ändern Sie den Code nach Ihren Wünschen, überprüfen Sie die Änderungen in der Subversion, damit Sie sie bei der Rückkehr speichern können.

  4. Eine Alternative ist die Verwendung eines EBS-Volumes. Jedes Mal, wenn Sie eine EC2-Instanz starten, hängen Sie Ihr EBS-Volume an. Dieses Volume kann Ihren Code und alles andere enthalten, was Sie in der Cloud beibehalten müssen!

shrijeet 28.02.2010 01:43
quelle