it-swarm-eu.dev

Verwendung der EC2-Instanz als Hauptentwicklungsplattform

Mein Problem

Ich arbeite als Berater für verschiedene Unternehmen. Jedes Unternehmen stellt mir einen Laptop mit eingeschalteter Software zur Verfügung, und ich habe auch einen eigenen, in dem ich meine Entwicklungsumgebung habe. Ich kaufe normalerweise alle zwei Jahre einen neuen Laptop und verbringe viel Zeit damit, Software zu konfigurieren und zu installieren. Ich verbringe auch viel Zeit damit, darauf zu warten, dass mein Laptop Dinge verarbeitet.

Um all diese Probleme zu lösen, denke ich jetzt darüber nach, EC2 (Windows-Instanzen ausführen) als meine Hauptentwicklungsplattform zu verwenden und von jedem PC, auf dem ich mich gerade befinde, darauf zuzugreifen. Ich habe berechnet, dass das Ausführen der Large-Instanz (billigste 64-Bit-Version) für 8 Stunden pro Tag und Jahr 960 US-Dollar pro Jahr kostet, was akzeptabel ist.

Ich stelle mir vor, dass ich, wenn ich mich jeden Tag dem Arbeitsplatz nähere, einmal auf mein Telefon tippe, um die Instanz zu starten, damit sie bereit ist, wenn ich zur Arbeit gehe. Ich sollte verschiedene Symbole auf meinem Telefon haben, um die verschiedenen Instanztypen zu starten. Die gleiche Software sollte natürlich automatisch auf die verschiedenen Hardware geladen werden (manchmal würde ich sogar ihre Instanz mit 68,4 GB Speicher benötigen).

Ein weiterer Vorteil ist, dass ich bei einem bestimmten Problem mit meiner Instanz eine andere Instanz starten und jemanden das Problem untersuchen und das Image aktualisieren lassen kann.

Meine Frage :

Hat jemand Erfahrung mit einem solchen Setup auf EC2? Welche Probleme sehen Sie?

28
David

Ich benutze kein EC2, aber ich benutze eine sehr große Xen-Farm. Ehrlich gesagt, ich liebe es, weil:

  • Ich kann von überall zur Arbeit gehen
  • Es ist einfach, Schnappschüsse von ganzen Dateisystemen zu erstellen (ich verwende VHD).
  • Es ist einfach, ISO-Werte für die Installation zu erstellen
  • Das Migrieren von VMs ist trivial, wenn ich eine brauche, um zu wachsen und keinen Platz mehr zu haben
  • Programme wie distcc beschleunigen Builds wirklich, wenn Sie über 8 bis 10 virtuelle Maschinen verfügen, die verwendet werden können
  • Sachen werden mit einer 100MB Verbindung sehr schnell heruntergeladen :)

Die Einschränkung ist, ich bin durchgeknallt, wenn ich keinen aktuellen Pull von meinen HG-Repos habe, falls ich aus irgendeinem Grund kein Internet bekommen kann, und das ist ein paar Mal passiert.

Wenn Sie ein wirklich sehr aufwändiges Setup haben, können Sie es auf keinen Fall lokal wieder produzieren (oder vielleicht auch nicht), aber der Punkt ist, keine Verbindung, keine Arbeit.

11
Tim Post

Sie entdecken, was die Unix/Linux-Leute seit Jahren tun: auf Servern entwickeln. Sie können dann einen beliebigen Computer und ssh/PuTTY auf Ihren Servern und Entwicklern verwenden.

Billige Linux Server sind viel billiger als ec2. Sie können mit Rackspacecloud für 11 US-Dollar pro Monat arbeiten (sie haben auch Windows-Images), aber Sie können auch mit 15,00 US-Dollar pro Jahr für das Hosting von Basismaschinen unter http://buyvm.net/ (zufriedener Kunde, nein andere Beziehung)

Für Amazon können Sie sich 3-Jahres-Prepaid-Instanzen ansehen. Das könnte dir viel sparen.

6

Ich verwende EC2 eher traditionell als Server. Die Probleme, die ich mit dem, was Sie versuchen, vorhersehen würde:

  • speicher: Sie haben zwei Möglichkeiten: dauerhaften EBS und kurzlebigen Speicher. EBS ist ziemlich langsam, kann sich nicht vorstellen, mit einer IDE mit einer so langsamen Festplatte zu arbeiten. Der kurzlebige Speicher wird gelöscht, sobald Sie Ihre Instanz stoppen, also auch keine gute Option. Und von Natürlich bei weitem nicht so schnell wie SSD.

  • speicher: nicht genug, vor allem angesichts der Tatsache, wie billig RAM ist heutzutage).

  • CPU: wirklich, wirklich unterversorgt, nur 2 langsame virtuelle Kerne. Das Einstiegsmodell i3 bietet Ihnen eine bessere Leistung, ganz zu schweigen von i5 oder i7.

  • konnektivität: Die Latenz zu AWS ist ziemlich hoch und liegt weit über den Erwartungen. Angesichts der Tatsache, dass ich EC2-Instanzen in Europa verwende, während ich eine Verbindung von Europa aus herstelle, würde ich eine Latenz von weit unter 30 ms erwarten, während sie eher 300-500 ms beträgt. Zum Vergleich beträgt die transatlantische Latenz etwa 50 ms. Eine Latenz würde jede interaktive GUI-Umgebung unbrauchbar machen.

Insgesamt ist Cloud für Server der große Vorteil der Skalierung (insbesondere der automatischen Skalierung). Was du überhaupt nicht benutzen wirst. Dennoch müssen Sie sich mit allen Belästigungen der Cloud abfinden.

PDATE ab Mitte 2015: Seit ich diese Antwort 2012 geschrieben habe, hat AWS SSD-Speicher hinzugefügt und die Latenz verringert. Was CPU und RAM betrifft, so ist EC2 im Vergleich zu einem durchschnittlichen Laptop stark unterlastet, es sei denn, Sie sind bereit, weit über 200 US-Dollar pro Monat auszugeben.

6
vartec

Ich habe auf diese Weise eine EC2-Instanz verwendet, um eine 64-Bit-Entwicklung mit Visual Studio 2010 auf einer großen Windows-Instanz durchzuführen. Es hat wunderbar funktioniert!

Obwohl ich in Südafrika bin, war die Latenz kein großes Problem. Das Kopieren und Einfügen sowie das Bearbeiten großer Textblöcke war etwas träge, aber beim Debuggen bemerkte ich nicht einmal die Verzögerung. Die großen Downloads für die Inbetriebnahme - für mich VS 2010 und Office 2010 - waren extrem schnell - einige GB in wenigen Minuten. Ich war buchstäblich innerhalb einer halben Stunde einsatzbereit.

Deshalb empfehle ich Ihnen, es auszuprobieren.

4
Govert

Das größte Problem, das ich sehe - zumindest bei einer Windows-Instanz und unter der Annahme, dass Sie Remotedesktop verwenden - ist, dass Netzwerkverzögerungen ärgerlich sind. Abhängig davon, wie nahe Sie dem Amazon-Rechenzentrum physisch sind, ist dies möglicherweise kein Problem. Persönliche Erfahrung: Ich hatte eine Woche, in der mein ISP beschlossen hat, Pakete durch die USA zu leiten, um zu meinem Büro (12 Meilen entfernt) zu gelangen. Die Benutzeroberfläche war unbrauchbar.

3
Anon

Ich verwende EC2-Mikroinstanzen über die kostenlose Stufe und es ist fantastisch. Es ist schnell, reaktionsschnell und ich muss kaum einen Cent bezahlen. Es dauert ungefähr ein Jahr, aber wenn Sie eine temporäre Entwicklungsumgebung benötigen, ist EC2 der richtige Weg. Ich habe dort nur großartige Erfahrungen gemacht. Mikroinstanzen haben für mich sogar Datenverkehr mit bis zu 100.000 Treffern pro Tag unterstützt (auch sehr gut verarbeitet, mit nur einem Spitzenwert von etwa 70% CPU-Auslastung).

Schauen Sie sich bitnami an - es ist ein Schnellstart-LAMP-Stack-Image (oder ein beliebiges Stack-Image), das in nur 5 Minuten zum Laufen kommt. Stellen Sie außerdem sicher, dass Sie Ihre Sicherheit richtig konfigurieren! Erlauben Sie nur SSH-, HTTP/HTTPS-Verbindungen in Ihren Web-Sicherheitsgruppen. Verwenden Sie SFTP für die Dateiübertragung.

1
Kevin Wang