it-swarm.dev

Utilisation de l'instance EC2 comme plate-forme de développement principale

Mon problème

Je travaille en tant que consultant pour différentes entreprises. Chaque entreprise me fournit un ordinateur portable avec son logiciel sous tension et j'ai aussi le mien, où j'ai mon environnement de développement. J'ai tendance à acheter un nouvel ordinateur portable tous les deux ans et je passe beaucoup de temps à configurer et à installer des logiciels. Je passe également beaucoup de temps à attendre que mon ordinateur portable traite les choses.

Pour résoudre tous ces problèmes, j'envisage maintenant d'utiliser EC2 (exécution d'instances Windows) comme ma principale plate-forme de développement et d'y accéder à partir de n'importe quel PC sur lequel je me trouve. J'ai calculé que l'exécution de l'instance Large (64 bits la moins chère) pendant 8 heures par jour pendant un an me coûte 960 $ par an, ce qui est acceptable.

J'imagine que lorsque j'approche du lieu de travail chaque jour, je vais appuyer une seule fois sur mon téléphone pour déclencher l'instance, il est donc prêt lorsque je me mets au travail. Je devrais avoir différentes icônes sur mon téléphone pour lancer les différents types d'instances. Le même logiciel devrait bien sûr être automatiquement chargé sur les différents matériels (parfois j'aurais même besoin de leur instance avec 68,4 Go de mémoire).

Un autre avantage est que si je rencontre un problème spécifique avec mon instance, je peux lancer une autre instance et demander à quelqu'un d'examiner le problème et de mettre à jour l'image.

Ma question:

Quelqu'un a-t-il de l'expérience avec une telle configuration sur EC2? Quel genre de problèmes prévoyez-vous?

28
David

Je n'utilise pas EC2, mais j'utilise une très grande ferme Xen. Franchement, je l'adore parce que:

  • Je peux aller travailler n'importe où
  • Il est simple de faire des instantanés de systèmes de fichiers entiers (j'utilise VHD)
  • Il est simple de produire des ISO pour l'installation
  • La migration des machines virtuelles est triviale si j'en ai besoin pour grandir et manquer de place
  • Des programmes comme distcc accélèrent vraiment les builds lorsque vous avez 8 à 10 machines virtuelles qu'il peut utiliser
  • Téléchargement de trucs très rapidement avec une connexion de 100 Mo :)

La mise en garde est, je suis foutu si je n'ai pas un tirage à jour de mes repos HG dans le cas où je ne peux pas obtenir Internet pour une raison quelconque, et cela s'est produit à quelques reprises.

Si vous avez une configuration vraiment très élaborée ... il n'y a aucun moyen que vous puissiez vraiment la reproduire localement (ou peut-être vous pourriez), mais le fait est, pas de connexion, pas de travail.

11
Tim Post

Vous découvrez ce que les gens d'Unix/Linux font depuis des années: développer sur des serveurs. Vous pouvez ensuite utiliser n'importe quelle machine et ssh/PuTTY dans vos serveurs et y développer.

Les serveurs Linux bon marché sont beaucoup moins chers que ec2. Vous pouvez aller avec rackspacecloud à 11 $/mois (ils ont aussi des images Windows), mais vous pouvez également aller avec un hébergement de machine de base à 15,00/an à http://buyvm.net/ (client satisfait, non autre relation)

Pour Amazon, vous pouvez consulter les instances prépayées de 3 ans. Cela pourrait vous faire économiser beaucoup.

6
Christopher Mahan

J'utilise EC2 plus traditionnellement, comme serveurs. Les problèmes que je prévoyais avec ce que vous tentez:

  • stockage: vous avez deux choix, EBS persistant et stockage éphémère. EBS est assez lent, ne peut pas vraiment imaginer travailler avec un IDE utilisant un disque aussi lent. Le stockage éphémère disparaît dès que vous arrêtez votre instance, donc ce n'est pas une très bonne option non plus. Et de bien sûr loin d'être aussi rapide que SSD.

  • mémoire: pas assez, surtout compte tenu du faible coût RAM est de nos jours.

  • CPU: vraiment, vraiment sous-alimenté, seulement 2 cœurs virtuels lents. Le niveau d'entrée i3 vous donnera de meilleures performances, sans parler de i5 ou i7.

  • connectivité: la latence à AWS est assez élevée, bien au-dessus de ce que vous attendez. Étant donné que j'utilise des instances EC2 en Europe tout en me connectant à partir de l'Europe, je m'attends à une latence bien inférieure à 30 ms, en attendant, elle ressemble plus à 300 à 500 ms. A titre de comparaison, la latence transatlantique est d'environ 50 ms. La latence rendrait tout environnement d'interface graphique interactif inutilisable.

Dans l'ensemble, le cloud pour les serveurs, son énorme avantage est la mise à l'échelle (en particulier la mise à l'échelle automatique). Que vous n'allez pas utiliser du tout. Pourtant, vous allez devoir supporter tous les ennuis du cloud.

MISE À JOUR mi-2015: depuis que j'ai écrit cette réponse en 2012, AWS a ajouté du stockage SSD, une latence réduite. Quant au CPU et à la RAM, il tient toujours, EC2 est sérieusement sous-alimenté par rapport à un ordinateur portable moyen, sauf si vous êtes prêt à dépenser bien au-delà de 200 $/mois.

6
vartec

J'ai utilisé une instance EC2 de cette façon pour effectuer un développement 64 bits à l'aide de Visual Studio 2010 sur une grande instance Windows. Cela a fonctionné à merveille!

Même si je suis en Afrique du Sud, la latence n'était pas un gros problème. Copier et coller et éditer de gros blocs de texte était un peu lent, mais lors du débogage, je n'ai même pas remarqué le décalage. Faire les gros téléchargements pour être opérationnel - pour moi VS 2010 et Office 2010 - était extrêmement rapide - quelques Go en quelques minutes. J'étais littéralement opérationnel en une demi-heure.

Je vous recommande donc de l'essayer.

4
Govert

Le plus gros problème que je vois - au moins avec une instance Windows et en supposant que vous utilisez un bureau à distance - est que les retards réseau sont ennuyeux. Selon votre proximité physique avec le centre de données Amazon, cela pourrait ne pas être un problème. Expérience personnelle: j'ai eu une semaine pendant laquelle mon FAI a décidé d'acheminer des paquets à travers les États-Unis pour se rendre à mon bureau (à 12 miles de distance); l'interface utilisateur était inutilisable.

3
Anon

J'utilise des micro-instances EC2 via le niveau gratuit et c'est fantastique. C'est rapide, réactif et je n'ai pratiquement pas à payer un centime. Cela dure environ un an, mais si vous avez besoin d'un environnement de développement temporaire, EC2 est le chemin à parcourir. Je n'ai eu que de grandes expériences là-bas. Pour moi, les micro-instances ont même pris en charge jusqu'à 100 000 visites par jour (très bien géré également, avec seulement un pic d'environ 70% d'utilisation du processeur).

Jetez un œil à bitnami - c'est une image de pile LAMP à démarrage rapide (ou n'importe quelle pile) pour fonctionner en 5 minutes. Assurez-vous également de configurer correctement votre sécurité! Autorisez uniquement les connexions SSH, HTTP/HTTPS dans vos groupes de sécurité Web. Utilisez SFTP pour le transfert de fichiers.

1
Kevin Wang