Les besoins de mon entreprise sont assez simples: Nous avons un programme informatique .Net multithread qui lit beaucoup de fichiers binaires, traite des calculs massifs et stocke les résultats dans une base de données SQL Server. Nous aimerions le faire sur le cloud pour effectuer cette tâche récurrente dans les plus brefs délais.
Nous sommes donc dans le cloud computing/grid/cluster computing.Amazon Web Services: quelles solutions pour le calcul de réseau .Net sur un cloud EC2?
Je pensais qu'il y aurait des tonnes de ressources sur le sujet et beaucoup d'alternatives disponibles. J'étais simplement stupéfait de comprendre à quel point j'étais mal. Tandis que le montage/l'exécution d'instances EC2 était un jeu d'enfant, trouver un moyen relativement simple et direct de paralléliser et d'agréger la puissance de traitement de ces instances EC2 n'était pas facile. Le service clientèle d'Amazon ne cesse d'esquiver et je n'ai tout simplement pas pu obtenir de réponse concrète de leur part.
J'ai trouvé utilify ce qui semble prometteur. Il est développé par les alchemi personnes. Cependant, le documentation link est cassé et je n'avais pas de réponse à mes emails quand j'ai contacté le support donc ce n'était pas très rassurant. Nous avons choisi Amazon sur Azure car les AMI sont de simples machines virtuelles sans soudure (pas besoin de "regrouper" l'application ou autre) et parce que EBS est un stockage plus pratique car c'est un "vrai" système de fichiers. D'autre part, Azure semble HPC prêt pour Windows, alors que AWS offre que pour les AMI alimentés par Linux seulement.
Toute aide et propositions sont plus que bienvenus
EDIT:
L'application .Net est multi-thread et se composent de centaines de travailleurs parallèles qui font exactement la même tâche de manière asynchrone.
Azure dispose actuellement d'un accès au système de fichiers natif, je crois qu'il s'appelle "Cloud Drive". Deuxièmement, il n'y a pas de solution évidente pour la paralleisation, tout dépend de votre application. Je recommanderais de travailler d'abord sur la mise en parallèle de votre application, puis de la développer en grille de calcul. Essayer de passer d'une application synchrone ** directement ** à une application de calcul de grille paralellisée est «folie». –
@Chris Marisic: S'il vous plaît Voir modifier. Je pensais que dire multi-thread était suffisant pour souligner notre application est asynchrone. De plus, le déploiement d'une application sur Azure est invasif comparé à un VM simple, donc nous ferions mieux de nous en tenir à EC2 à moins que nous n'ayons pas le choix. –
De la formulation de la question, il m'a semblé que vous essayiez de prendre une application normale et de la calculer immédiatement. En ce qui concerne vos déclarations à propos d'Azure, il semble que vous soyez largement conscient de la plate-forme actuelle et que vous ayez un point de vue biaisé par rapport aux versions précédentes. Je recommande de réévaluer Azure pour ce rôle car le scénario que vous décrivez est la raison exacte pour laquelle Azure a été créé. –