Utilizzo dell'istanza EC2 come piattaforma di sviluppo principale [chiuso]


28

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. Lo stesso software dovrebbe ovviamente 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?


2
Se disponi di una connessione domestica abbastanza decente, puoi farlo utilizzando il Desktop remoto di Windows su un computer "server" a casa tua. Oppure, se desideri più istanze, eseguine diverse in Virtual Box. Nessuna quota mensile.
GrandmasterB,

2
@GrandmasterB: nessuna quota mensile? Vuoi dire che l'elettricità non costa denaro dove vivi? E la manutenzione del server di casa richiede zero tempo?
John Bartholomew,

Il metodo di accesso remoto sarà veloce "abbastanza" per te?

Che ne dite di macchine virtuali di Azure in alternativa a EC2 per l'esecuzione dell'ambiente desktop?
febbraio

Hai preso in considerazione l'utilizzo di alcuni VPS Linux anziché EC2?
Basile Starynkevitch,

Risposte:


11

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.


Grazie per l'ottima risposta. Ho aggiornato un po 'la domanda con il prezzo. Avrebbe dovuto essere 960 $ all'anno.
David,

@ David, aggiornato :)
Tim Post

6

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 su http://buyvm.net/ (cliente felice, nessun altro rapporto)

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


4
L'esecuzione in remoto di IDI GUI su server Linux di gran lunga non è ciò che le persone Unix / Linux stanno facendo.
vartec,

2
Non ho menzionato l'IDE della GUI. Le persone Unix in genere non usano gli IDE della GUI. Sono EMACS vs VIM e un po 'di Nano ed Ed.
Christopher Mahan,

1
Quindi, in primo luogo, AFAIK, non esiste una modalità di testo Visual Studio, quindi no, lo sviluppo in remoto su Windows non è la stessa cosa della modifica in remoto del file con vi. In secondo luogo, non sono del tutto d'accordo con la tua generalizzazione. Nella mia esperienza di 15 anni nello sviluppo per Linux, ho visto pochissime persone che usano solo l' editor in modalità testo. E la maggior parte di loro erano in realtà SysOps, non sviluppatori. D'altro canto, gli sviluppatori utilizzerebbero principalmente IDE completo (Komodo, Eclipse e derivati, KDevelop, Quanta +, InteliJ e derivati).
vartec,

Mmm, interessante. Forse la nostra esperienza varia. Lo terrò a mente quando faccio affermazioni di carattere generale.
Christopher Mahan,

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. E ovviamente da nessuna parte vicino come SSD.

  • memoria: non abbastanza, soprattutto vista la RAM economica 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.


4

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.


Cosa stavi facendo copiando e incollando nel tuo IDE? Cattiva forma!
lorddev, l'

@lorddev copia tra i file in Visual Studio? Cosa mi consigliate in alternativa?
Kirk Broadhurst il

Era uno scherzo. Ho incontrato un sacco di programmatori copia e incolla nel corso degli anni.
Lorddev,

3

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 attraverso gli Stati Uniti per raggiungere il mio ufficio (a 12 miglia di distanza); l'interfaccia utente era inutilizzabile.


Probabilmente sarà un problema, almeno se sono su una connessione mobile. Immagino di doverlo testare prima di decidere qualcosa.
David,

1
Uso molto RDP per accedere a una macchina di sviluppo personale. Per la programmazione non grafica, le prestazioni sono così buone che potresti facilmente dimenticare di non essere seduto alla macchina. Quindi dipenderà molto dalla tua connessione e da come configurarla (rimuovendo tutti gli effetti di fantasia).
GrandmasterB,

1
@GrandmasterB - dipende molto dalla latenza della tua connessione. Ad esempio, anche sulla mia LAN di casa, c'è una notevole differenza tra connessioni cablate e wireless. E il routing dei tuoi pacchetti su Internet può causare grandi latenze: un roundtrip di 6.000 miglia tra le coste statunitensi, ad esempio, aggiunge 3 / 100th di secondo.
Anon,

1

Sto usando 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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.