Mein Problem
Ich arbeite als Berater für verschiedene Unternehmen. Jede Firma stellt mir einen Laptop mit ihrer 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, auf meinen Laptop zu warten, um Dinge zu verarbeiten.
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-Instanz) für 8 Stunden pro Tag pro Jahr mich 960 USD pro Jahr kostet, was akzeptabel ist.
Ich stelle mir vor, dass ich jeden Tag, wenn ich mich dem Arbeitsplatz nähere, ein einziges Mal 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 Arbeitsspeicher benötigen).
Ein weiterer Vorteil ist, dass ich, wenn ich ein bestimmtes Problem mit meiner Instanz habe, eine andere Instanz starten und jemand das Problem untersuchen und das Image aktualisieren lassen kann.
Meine Frage:
Hat jemand Erfahrung mit einem solchen Setup auf EC2? Welche Probleme sehen Sie?
quelle
Antworten:
Ich verwende EC2 nicht, aber ich benutze eine sehr große Xen-Farm. Ehrlich gesagt, ich liebe es, weil:
Die Einschränkung ist, ich bin beschissen, wenn ich nicht auf dem neuesten Stand von meinen HG-Repos bin, falls ich aus irgendeinem Grund kein Internet bekomme, und das ist ein paar Mal passiert.
Wenn Sie ein wirklich, wirklich ausgeklügeltes Setup haben, können Sie es auf keinen Fall lokal neu produzieren (oder vielleicht auch), aber der springende Punkt ist, keine Verbindung, keine Arbeit.
quelle
Sie entdecken, was die Unix / Linux-Leute seit Jahren tun: Entwicklung auf Servern. Sie können dann eine beliebige Maschine und ssh / putty in Ihre Server und Entwickler dort einsetzen.
Billige Linux-Server sind viel billiger als ec2. Sie können mit rackspacecloud für $ 11 / Monat (sie haben auch Windows-Images) loslegen, aber Sie können auch mit 15.00 / Jahr-Hosting für Basismaschinen unter http://buyvm.net/ (glücklicher Kunde, keine andere Beziehung) loslegen.
Für amazon können Sie sich 3-Jahres-Prepaid-Instanzen ansehen. Das könnte dir viel sparen.
quelle
Ich verwende EC2 traditioneller als Server. Die Probleme, die ich mit dem, was Sie versuchen, vorhersehen würde:
Speicher: Sie haben zwei Möglichkeiten: Permanenter EBS- und kurzlebiger Speicher. EBS ist ziemlich langsam, kann mir nicht vorstellen, mit einer IDE zu arbeiten, die eine so langsame Festplatte verwendet. Der kurzlebige Speicher verschwindet, sobald Sie Ihre Instanz stoppen. Daher ist dies auch keine gute Option. Und natürlich bei weitem nicht so schnell wie eine SSD.
Gedächtnis: nicht genug, besonders wenn man bedenkt, wie billig RAM heutzutage ist.
CPU: sehr, sehr unterlastet, nur 2 langsame virtuelle Kerne. Das Einstiegsniveau i3 bietet eine bessere Leistung, ganz zu schweigen von i5 oder i7.
Konnektivität: Die Latenz zu AWS ist ziemlich hoch, weit über dem, was Sie erwarten würden. Angesichts der Tatsache, dass ich EC2-Instanzen in Europa verwende, während ich von Europa aus eine Verbindung herstelle, erwarte ich eine Latenz von deutlich unter 30 ms. In der Zwischenzeit sind es eher 300 bis 500 ms. Zum Vergleich beträgt die transatlantische Latenz ca. 50 ms. Latenz macht jede interaktive GUI-Umgebung unbrauchbar.
Insgesamt gesehen ist Cloud für Server der große Vorteil der Skalierung (insbesondere der automatischen Skalierung). Welches Sie überhaupt nicht verwenden werden. Trotzdem müssen Sie sich mit allen Unannehmlichkeiten der Cloud abfinden.
UPDATE ab Mitte 2015 : Seitdem ich diese Antwort im Jahr 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, deutlich mehr als 200 US-Dollar pro Monat auszugeben.
quelle
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 und Bearbeiten großer Textblöcke war etwas träge, aber beim Debuggen bemerkte ich nicht einmal die Verzögerung. Das Ausführen der großen Downloads für die Inbetriebnahme - für mich VS 2010 und Office 2010 - war extrem schnell - einige GB in wenigen Minuten. Ich war buchstäblich innerhalb einer halben Stunde einsatzbereit.
Also empfehle ich Ihnen, es zu versuchen.
quelle
Das größte Problem, das ich sehe - zumindest bei einer Windows-Instanz und der Annahme, dass Sie Remotedesktop verwenden - ist, dass Netzwerkverzögerungen ärgerlich sind. Je nachdem, wie nahe Sie sich physisch am Amazon-Rechenzentrum befinden, ist dies möglicherweise kein Problem. Persönliche Erfahrung: Ich hatte eine Woche Zeit, in der mein ISP beschlossen hat, Pakete durch die USA zu leiten, um zu meinem Büro (20 km entfernt) zu gelangen. Die Benutzeroberfläche war unbrauchbar.
quelle
Ich verwende EC2-Mikroinstanzen über die kostenlose Ebene und es ist fantastisch. Es ist schnell, reagiert 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. Für mich haben Micro-Instanzen sogar Datenverkehr mit bis zu 100.000 Treffern pro Tag unterstützt (auch sehr gut verarbeitet, bei nur einer Spitzenlast von etwa 70% der CPU-Auslastung).
Schauen Sie sich Bitnami an - es ist ein Schnellstart-LAMP-Stack-Image (oder ein beliebiges Stack-Image), mit dem Sie in nur 5 Minuten loslegen können. 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.
quelle