Dans mon esprit, ce qui définit le cloud computing, c'est que le sous-jacent de calcul des ressources (mémoire, processeurs, RAM, équilibreurs de charge, etc) de services basés sur le cloud et les logiciels sont entièrement abstraction de la consommation du logiciel / de services. Cela signifie que le fournisseur de cloud basée sur les ressources est de prendre la responsabilité de la performance / fiabilité / évolutivité de l'environnement informatique.
À partir d'un des développeurs d'applications point de vue, cela peut être un énorme avantage, comme le recrutement, le maintien, le réglage, la surveillance et la mise à l'échelle matérielle pour répondre aux exigences de la croissance est à la fois difficile et coûteux.
Pour les petits un éditeur de logiciels, informatique en nuage offre la possibilité de prototype, test et déploiement du logiciel sans aucune dépense en capital.
Pour des applications plus importantes, la prestation est généralement une évolutivité illimitée et quels sont les montants de la sous-traitance de lui / d'hébergement d'applications, de responsabilités, ainsi qu'un accès instantané à de nouveaux serveurs / stockage / quoi que ce soit sur la demande. Souvent, les fournisseurs de cloud offrira des niveaux de redondance, de la fiabilité et de la même sécurité de tous, mais la plus grande maison en informatique magasins ne pourrait jamais atteindre, 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-il hébergé en externe dans un environnement de cloud, mais en résumé, donc, si votre application a besoin d'un contrôle direct sur le matériel, vous êtes hors de la chance. Et vous avez besoin de faire confiance au fournisseur de cloud. Elles offrent toutes de 99,9% de répéter de temps et de niveau de service, mais je doute que ces stats sont réalisés. Mais vous devez vous demander, pourrais-je faire de mieux? La réponse est souvent non. Mais le contrôle de matériel n'est pas le seul endroit de perte de contrôle - intégration avec les systèmes basés sur le cloud peut également être plus difficile que sur la prémisse ou l'auto-logiciel de gestion pour des raisons évidentes. Cependant, il me semble que cet obstacle est d'évaporation de nouvelles technologies et robuste de l'API de éliminer beaucoup de difficultés d'intégration créé lors de l'exécution des applications en dehors du LAN/WAN.
Un autre inconvénient peut être la performance. Exécution d'une application sur votre réseau local fournira probablement un peu plus vif de l'expérience pour les utilisateurs locaux que de courir à partir du nuage. Mais si le public est distribué, cet avantage ne peut s'appliquer à un sous-ensemble de votre demande du public.
Le calcul distribué, comme il a été déjà dit plusieurs fois, est juste de l'informatique orchestrée entre deux ordinateurs ou plus. Le Cloud Computing est, par définition, calcul distribué, mais une forme spécialisée.
Voici un joli livre blanc par David Chappell. Il est parrainé par Microsoft papier, de sorte qu'il est présenté en termes de Microsoft de la plate-forme cloud (Azure), mais les principes sous-jacents sont assez universel, et David Chappell est toujours assez facile à lire.