Bonjour,
Voici mon dilem actuel :
Nous sommes en train de developper un systeme impliquant de traiter des images plutot grosse ( actuelement 10m ) et en grande quantité. Le tout de maniere tres ponctuelle.
Le traitement des images implique principalement deux actions
  • Appliquer un de nos algo (travail machine) sur l'image
  • Verifier le résultat ( travail humain) et choisir d'appliquer un autre algo ou de traiter l'image à la main


Comme le nombre d'images augmente notre objectif est de rendre notre application "scalable".

Il faut donc pouvoir facilement diviser les temps :
--> des processeur pour traiter les images. ( consomation forte en acces au disque et en cpu)
--> des humains (+ d'images = + de vérification = + de traitement manuel = il faut + de monde)


Actuelement le prototype est hebergé sur une machine: 1 homme utilise une machine avec 1 cpu pour traiter le flux.
on peut facilement rajouter un autre homme dans le systeme mais pas un autre cpu...


Donc j'ai deux choix :
1) designer un super système extensible avec pleins de noeuds qui se répartissent la charge.
2) utiliser le super service d'amazon EC2 et garder un système de gestion centralisé beaucoup plus simple à maintenire/ faire evoluer/ développer

A priori j'essaierai bien l'option 2 mais je ne connais pas du tout amazon EC2, j'aimerai avoir votre avis.
Utilisez vous amazon dans des cas similaire ? Pensez vous qu'on peut l'utiliser?
Si nos images passent sur leurs serveurs, quel serront les goulots d'etranglement?
à priori je dirais les acces au disque. Peut on maximiser les accès au disque en répartissant les donné de maniere transparente avec ce service? ( un peu comme ils le font avec le cpu)
Actuellement sur nos disques de mauvaise facture rien que ouvrir et enregistrer une des images coute environ 3s ...

Merci de votre patience!