8

On a beaucoup écrit sur le déploiement des applications gourmandes en calculs sur les données EC2/S3, mais je voudrais savoir, quel est le flux de travail typique pour le développement de ces applications?Workflow pour le développement de applications gourmandes en calculs sur EC2 amazon/S3

Disons que j'ai un 1 To de données de séries chronologiques pour commencer et j'ai réussi à enregistrer ce sur S3. Comment écrire des applications et faire des analyses de données interactives pour construire des modèles d'apprentissage automatique, puis écrire de grands programmes pour les tester? En d'autres termes, comment va-t-on mettre en place un environnement de dev dans une telle situation? Dois-je démarrer une instance EC2, développer un logiciel dessus et sauvegarder mes modifications, et arrêter chaque fois que je veux travailler?

En général, je lance R ou Pylab, lire les données de mes lecteurs locaux et faire mon analyse. Ensuite, je crée des applications basées sur cette analyse et je laisse libre cours à ces données.

Sur EC2, je ne suis pas sûr de pouvoir le faire. Les personnes conservent-elles les données localement pour l'analyse et n'utilisent EC2 que lorsqu'elles ont de gros travaux de simulation à exécuter?

Je suis très curieux de savoir ce que les autres font, en particulier start-ups qui ont toute leur infrastructure basée sur EC2/S3.

Répondre

2

Nous créons une base, custom AMI avec tous les programmes que nous savons que nous aurons toujours besoin déjà sur l'AMI.

Le logiciel que nous développons (et constamment mise à jour) est stockée sur le stockage externe (nous utilisons un dépôt Maven, mais vous pouvez utiliser tout ce qui fonctionne bien avec votre environnement.

Nous tirons alors notre coutume AMI avec tout nous avons besoin sur elle, déployer la dernière version de notre logiciel de Maven, et nous sommes bons pour aller

Ainsi, le flux de travail est la suivante:.

Configuration

Créer une coutume AMI avec des trucs que nous aurons toujours besoin

En cours

développe des logiciels localement binaires Déployer pour le stockage externe (dépôt Maven dans notre cas) Révolutionnez instances multiples d'AMI de mesure selon les besoins Copie des fichiers binaires du stockage externe vers chaque instance Exécution sur chaque instance

+0

Merci pour le partage. Donc, fondamentalement, vous garderez une copie locale (hors amazon) des données et développerez également localement (hors amazon) mais courrez des expériences sur amazon? – signalseeker

+0

Nos affaires ne sont pas des expériences, mais c'est ce que nous faisons essentiellement. Une partie de l'application comprend de très grandes tables et règles fiscales. Nous les conservons dans notre propre réseau et transmettons les mises à jour à Amazon chaque fois que les tarifs ou les règles changent (généralement minuit à la fin de chaque mois). –

0

I-barre oblique-Nous avons une certaine expérience dans l'exécution de ce que vous essayez de faire. Ce que dit Eric J. résume tout cela. Mais permettez-moi de réitérer,

  1. Mettre en place un référentiel de code sur un serveur qui est toujours en place. Nous utilisons la subversion. Ce serveur n'a pas besoin d'être une machine ec2, ou très bien pourrait aussi être un ec2. Votre choix.

  2. Créer une AMI personnalisée par; (a) Vérification de votre base de code sur une machine EC2. (b) Installation de toutes les dépendances de code sur cette machine. (c) Enregistrer l'image sur s3.

  3. Le démarrage suivant avec AMI enregistré dans 1.Faites vos expériences, changez le code comme vous le souhaitez, vérifiez les changements de subversion de sorte que lorsque vous revenez vous l'avez enregistré là.

  4. Une alternative consiste à utiliser un volume EBS. Chaque fois que vous démarrez une instance EC2, attachez-y votre volume EBS. Ce volume peut contenir votre code et tout ce dont vous avez besoin pour persister sur le cloud!

+0

Merci. Donc, encore une fois, le point important est que tout le développement/analyse se passe hors-amazon et une fois que vous êtes prêt à lancer des expériences, vous le configurez sur un cluster ec2 personnalisé. – signalseeker

Questions connexes