it-swarm.it

Utilizzo dell'istanza EC2 come piattaforma di sviluppo principale

Il mio problema

Lavoro come consulente per varie aziende. Ogni azienda mi fornisce un laptop con il proprio software acceso e ne ho anche uno mio, dove ho il mio ambiente di sviluppo. Tendo a comprare un nuovo laptop ogni due anni e mi ritrovo a passare molto tempo a configurare e installare software. Trascorro anche molto tempo ad aspettare che il mio laptop elabori le cose.

Per risolvere tutti questi problemi, sto prendendo in considerazione l'utilizzo di EC2 (esecuzione di istanze di Windows) come piattaforma di sviluppo principale e accedo a questo da qualsiasi PC in cui mi trovo. Ho calcolato che eseguire l'istanza Large (più economica a 64 bit) per 8 ore al giorno per un anno mi costa 960 $ all'anno, il che è accettabile.

Immagino che quando mi avvicinerò al posto di lavoro ogni giorno, farò un singolo tocco sul mio telefono per accendere l'istanza, quindi è pronto quando arrivo al lavoro. Dovrei avere diverse icone sul mio telefono per accendere i vari tipi di istanza. Ovviamente lo stesso software dovrebbe essere automaticamente caricato sui vari hardware (a volte avrei persino bisogno della loro istanza con 68,4 GB di memoria).

Un altro vantaggio è che se ho un problema specifico con la mia istanza, potrei avviare un'altra istanza e chiedere a qualcuno di esaminare il problema e aggiornare l'immagine.

La mia domanda:

Qualcuno ha esperienza con una tale configurazione su EC2? Che tipo di problemi prevedi?

28
David

Non utilizzo EC2, ma utilizzo una farm Xen molto grande. Francamente, lo adoro perché:

  • Posso andare al lavoro da qualsiasi luogo
  • È semplice creare istantanee di interi file system (sto usando VHD)
  • È semplice produrre ISO per l'installazione
  • Migrare le VM in giro è banale se ne ho bisogno per crescere ed esaurire lo spazio
  • Programmi come distcc velocizzano davvero le build quando hai 8-10 macchine virtuali che può usare
  • Download di roba molto rapidamente con una connessione da 100 MB :)

L'avvertenza è che sono fregato se non ho un pull aggiornato dai miei repository HG nel caso in cui non riesco a ottenere Internet per qualsiasi motivo, e questo è successo alcune volte.

Se hai un setup davvero molto elaborato .. non c'è modo di produrlo di nuovo localmente (o forse potresti farlo), ma il punto è, nessuna connessione, nessun lavoro.

11
Tim Post

Stai scoprendo cosa fanno le persone Unix/Linux da anni: svilupparsi su server. È quindi possibile utilizzare qualsiasi macchina e ssh/PuTTY nei server e svilupparli.

I server Linux economici sono molto più economici di ec2. Puoi andare con rackspacecloud a $ 11/al mese (hanno anche le immagini di Windows), ma puoi anche andare con l'hosting di macchine base 15.00/anno a http://buyvm.net/ (cliente felice, no altra relazione)

Per Amazon, puoi guardare le istanze prepagate di 3 anni. Questo potrebbe salvarti molto.

6

Sto usando EC2 più tradizionalmente, come server. I problemi che prevederei con quello che stai tentando:

  • archiviazione: hai due scelte, EBS persistente e memoria effimera. EBS è piuttosto lento, non riesco davvero a immaginare di lavorare con un IDE usando un disco così lento. L'archiviazione effimera scompare non appena interrompi l'istanza, quindi non è una buona opzione. ovviamente da nessuna parte più veloce di SSD.

  • memoria: non abbastanza, soprattutto se si considera quanto sia economico RAM al giorno d'oggi.

  • CPU: veramente, davvero sotto-alimentato, solo 2 core virtuali lenti. Il livello base i3 ti offrirà prestazioni migliori, per non parlare di i5 o i7.

  • connettività: la latenza verso AWS è piuttosto elevata, molto al di sopra di quello che ti aspetteresti. Dato che sto usando istanze EC2 in Europa durante la connessione dall'Europa, mi aspetto una latenza ben al di sotto di 30 ms, nel frattempo è più simile a 300-500 ms. Per confronto la latenza transatlantica è di circa 50 ms. La latenza renderebbe inutilizzabile qualsiasi ambiente con interfaccia grafica interattiva.

Nel complesso, cloud per server, il suo enorme vantaggio è il ridimensionamento (in particolare il ridimensionamento automatico). Che non hai intenzione di usare affatto. Eppure dovrai sopportare tutti i fastidi del cloud.

AGGIORNAMENTO a metà 2015: da quando ho scritto questa risposta nel 2012, AWS ha aggiunto l'archiviazione SSD, riducendo la latenza. Per quanto riguarda CPU e RAM, è ancora valido, EC2 è seriamente sotto-alimentato rispetto a un laptop medio, a meno che tu non sia disposto a spendere ben oltre $ 200/mese.

6
vartec

Ho usato un'istanza EC2 in questo modo per fare un po 'di sviluppo a 64 bit usando Visual Studio 2010 su una grande istanza di Windows. Ha funzionato magnificamente!

Anche se sono in Sudafrica, la latenza non è stata un grosso problema. Copiare e incollare e modificare grandi blocchi di testo era un po 'lento, ma durante il debug non ho nemmeno notato il ritardo. Fare i grandi download per iniziare e funzionare - per me VS 2010 e Office 2010 - è stato estremamente veloce - alcuni GB in pochi minuti. Ero letteralmente attivo e funzionante entro mezz'ora.

Quindi ti consiglio di provarlo.

4
Govert

Il problema più grande che vedo - almeno con un'istanza di Windows e supponendo che tu stia utilizzando il desktop remoto - è che i ritardi di rete sono fastidiosi. A seconda di quanto fisicamente sei vicino al data center di Amazon, potrebbe non essere un problema. Esperienza personale: ho trascorso una settimana in cui il mio ISP ha deciso di instradare i pacchetti negli Stati Uniti per raggiungere il mio ufficio (a 12 miglia di distanza); l'interfaccia utente era inutilizzabile.

3
Anon

Sto usando le microistanze EC2 tramite il livello gratuito ed è fantastico. È veloce, reattivo e difficilmente devo pagare un centesimo. Dura circa un anno, ma se hai bisogno di un ambiente di sviluppo temporaneo, EC2 è la strada da percorrere. Non ho fatto altro che fantastiche esperienze. Le microistanze per me hanno persino supportato il traffico fino a 100.000 hit al giorno (anche molto ben gestito, con un picco di circa il 70% dell'utilizzo della CPU).

Dai un'occhiata a bitnami: è un'immagine dello stack LAMP di avvio rapido (o qualsiasi stack) per iniziare in pratica in 5 minuti. Inoltre, assicurati di configurare correttamente la tua sicurezza! Consenti solo connessioni SSH, HTTP/HTTPS nei tuoi gruppi di sicurezza web. Usa SFTP per il trasferimento di file.

1
Kevin Wang