web-dev-qa-db-fra.com

Différence entre le cloud computing et l'informatique distribuée?

Je voulais connaître la différence entre le cloud computing et l'informatique distribuée. J'ai lu un article sur le cloud computing et j'ai eu le sentiment qu'il y avait quelque part une relation entre le cloud computing et l'informatique distribuée et je voulais donc poser des questions sur la différence entre les technologies.

De plus, si quelqu'un pouvait me diriger vers des ressources utiles pour le cloud computing, ce serait très apprécié.

Merci

59
Rachel

Dans mon esprit, ce qui définit le cloud computing, c'est que les ressources de calcul sous-jacentes (stockage, processeurs, RAM, équilibreurs de charge, etc.) des services et logiciels basés sur le cloud sont entièrement abstraites du consommateur du logiciel/des services. Cela signifie que le fournisseur de ressources basées sur le cloud assume la responsabilité des performances/fiabilité/évolutivité de l'environnement informatique.

Du point de vue des développeurs d'applications, cela peut être un énorme avantage, car l'achat, la maintenance, le réglage, la surveillance et la mise à l'échelle du matériel pour répondre aux exigences de la croissance sont à la fois difficiles et coûteux.

Pour les petits éditeurs de logiciels indépendants, le cloud computing offre la possibilité de prototyper, tester et déployer des logiciels sans aucune dépense en capital.

Pour les applications plus grandes, l'avantage est généralement une évolutivité illimitée et ce qui équivaut à l'externalisation des responsabilités d'hébergement informatique/d'applications, ainsi qu'un accès instantané à de nouveaux serveurs/stockage/quoi que ce soit à la demande. Souvent, les fournisseurs de cloud offrent des niveaux de redondance, de fiabilité et même de sécurité, mais les plus grands magasins informatiques internes ne pourraient jamais le faire pour le simple coût de tout cela.

Le principal inconvénient pour les développeurs d'applications est la perte de contrôle. Non seulement le matériel est hébergé en externe dans un environnement cloud, mais il est abstrait, donc si votre application a besoin d'un contrôle direct sur le matériel, vous n'avez pas de chance. Et vous devez faire confiance au fournisseur de cloud. Ils offrent tous 99,9% de temps de répétition et SLA, mais je doute que ces statistiques soient réellement réalisées. Mais vous devez vous demander, pourrais-je faire mieux? La réponse est souvent non. Mais le contrôle du matériel n'est pas le seul endroit où le contrôle est perdu - l'intégration avec des systèmes basés sur le cloud peut également être plus difficile que sur un logiciel sur site ou autogéré pour des raisons évidentes. Cependant, il me semble que ce barrage routier s'évapore à mesure que les nouvelles technologies et les API robustes éliminent de nombreuses difficultés d'intégration créées lors de l'exécution d'applications en dehors du LAN/WAN.

Un autre inconvénient peut être la performance. L'exécution d'une application sur votre réseau local local offrira probablement une expérience quelque peu plus rapide aux utilisateurs locaux que l'exécution à partir du cloud. Mais si votre audience est distribuée, cet avantage ne peut s'appliquer qu'à un sous-ensemble de l'audience de votre application.

L'informatique distribuée, comme cela a déjà été dit à plusieurs reprises, est simplement de l'informatique orchestrée entre deux ou plusieurs ordinateurs. Le Cloud Computing est, par définition, de l'informatique distribuée, mais une forme spécialisée.

Voici un joli livre blanc par David Chappell. Il s'agit d'un document sponsorisé par Microsoft, il est donc présenté en termes de plate-forme cloud de Microsoft (Azure) mais les principes sous-jacents sont assez universels, et David Chappell est toujours assez facile à lire.

55
Nathan

Permettez-moi de commencer par dire que nous gérons une importante offre de services financiers dans un environnement 100% cloud.

Le cloud computing n'est pas vraiment bien défini (comme avec n'importe quel mot à la mode, tout le monde veut en quelque sorte marquer son produit existant avec le dernier mot à la mode).

La clé du cloud computing dans mon esprit est que je peux considérer les ressources informatiques (CPU, mémoire, etc.) comme une marchandise plutôt que comme un capital.

Qu'est-ce que ça veut dire?

Traditionnellement, si je veux ajouter de la puissance de calcul à mon organisation, je dois sortir et acheter plus d'ordinateurs, les configurer et les entretenir. Le cloud computing (définition d'Eric J.) me permet d'obtenir une puissance de calcul supplémentaire exactement quand j'en ai besoin, puis de la libérer lorsque je n'en ai pas. Nous offrons un service de calcul de taxe de vente. À l'approche de Noël, nous avons besoin de beaucoup plus de puissance de calcul qu'à d'autres moments de l'année. Notre environnement cloud me permet d'ajouter des ressources en quelques secondes, puis de les libérer aussi rapidement lorsque je n'en ai pas besoin. Un de nos gros clients réalise parfois des méga-ventes d'une heure. Je peux ajouter une puissance de traitement supplémentaire juste pour cette heure puis la relâcher une fois terminée.

La solution que nous proposons en plus de cette infrastructure de cloud computing est le logiciel en tant que service (SaaS). Des choses comme GMail sont SaaS, pas le cloud computing, à mon avis.

Alors, comment tout cela se compare-t-il à l'informatique distribuée?

L'informatique distribuée signifie simplement que je brise un problème afin que je puisse faire travailler tout un tas d'ordinateurs dessus en même temps. Le projet BOINC de l'Université de Berkeley en est un excellent exemple (et pensez à vous y inscrire). Ils distribuent des projets de recherche scientifique sur tous les ordinateurs fournis par les bénévoles.

Les ordinateurs impliqués dans BOINC et d'autres projets distribués peuvent être des ordinateurs portables, des ordinateurs de bureau, des serveurs. Ils peuvent être installés dans mon bureau, des serveurs virtuels loués auprès d'un FAI ou des serveurs virtuels qui font partie d'un "cloud". Peu importe d'où viennent les ordinateurs. Si je peux installer le logiciel informatique distribué sur un ordinateur, il peut faire partie de la solution distribuée.

24
Eric J.

L'informatique distribuée implique de diviser un gros problème en tranches plus petites et de faire traiter les tranches par plusieurs ordinateurs en réseau.

Le cloud computing fait généralement référence à la fourniture d'un service via Internet. Ce service peut être à peu près n'importe quoi, des logiciels d'entreprise accessibles via le Web au stockage hors site ou aux ressources informatiques.

Edit: Comme l'affiche l'affiche ci-dessous, c'est généralement un terme marketing pour ces services.

14
John D.

L'informatique distribuée est l'endroit où plusieurs ordinateurs participent à la résolution/au calcul d'une tâche. Comme Folding @ Home .

Cloud computing consiste à disposer de données (documents, images, etc.) sur les services Internet. Je suppose que GMail et Google Docs forment une sorte de cloud computing.

7
Skurmedel

Gardez à l'esprit que le terme cloud computing est devenu un terme marketing qui est devenu presque tout. Pour les codeurs, le terme fait référence à un moyen distribué de stockage et de récupération de paires nom/valeur. Les exemples notables incluent BigTable (auquel vous êtes le plus susceptible d'accéder depuis Google App Engine ) et EC2 .

6
Glenn