60

我想知道云计算和分布式计算的区别。我读了一篇关于云计算的文章,感觉云计算和分布式计算之间存在某种关系,所以想问一下技术之间的区别。

此外,如果有人能指出我对云计算有用的资源,我将不胜感激。

谢谢

4

5 回答 5

55

在我看来,云计算的定义是基于云的服务和软件的底层计算资源(存储、处理器、RAM、负载平衡器等)完全从软件/服务的消费者中抽象出来。这意味着基于云的资源供应商对计算环境的性能/可靠性/可扩展性负责。

从应用程序开发人员的角度来看,这可能是一个巨大的优势,因为采购、维护、调整、监控和扩展硬件以满足增长需求既困难又昂贵。

对于较小的 ISV,云计算提供了原型、测试和部署软件的能力,而无需任何资本支出。

对于较大的应用程序,好处通常是无限的可扩展性,相当于外包 IT / 应用程序托管责任,以及即时访问新服务器 / 存储 / 任何需要的东西。通常,云提供商会提供冗余、可靠性甚至安全级别,但最大的内部 IT 商店无法以全部成本实现。

应用程序开发人员的主要缺点是失去控制。硬件不仅在外部托管在云环境中,而且是抽象的,因此如果您的应用程序需要直接控制硬件,那么您就不走运了。而且您需要信任云提供商。它们都提供 99.9% 的重复运行时间和 SLA,但我怀疑这些统计数据是否真的实现了。但你必须问自己,我能做得更好吗?答案通常是否定的。但对硬件的控制并不是唯一失去控制的地方——与基于云的系统集成也可能比内部部署或自我管理的软件更困难,原因很明显。然而,在我看来,随着新技术和强大的 API 消除了在 LAN/WAN 之外运行应用程序时产生的许多集成困难,这个障碍正在消失。

另一个缺点可能是性能。在本地 LAN 上运行应用程序可能会为本地用户提供比从云中运行更快速的体验。但是,如果您的受众是分布式的,那么这种好处可能只适用于您的应用程序的一部分受众。

正如已经说过几次的那样,分布式计算只是在两台或多台计算机之间编排的计算。云计算,顾名思义,是分布式计算,而是一种特殊形式。

这是 David Chappell 的一份不错的白皮书。这是 Microsoft 赞助的论文,因此它是根据 Microsoft 的云平台 (Azure) 呈现的,但其基本原理非常普遍,David Chappell 总是很容易阅读。

于 2009-08-29T00:07:40.067 回答
24

首先让我说,我们在 100% 基于云的环境中运行重要的金融服务产品。

云计算的定义并不那么明确(就像任何流行词一样,每个人都想以某种方式用最新的流行词来标记他们现有的产品)。

在我看来,云计算的关键是我可以将计算资源(CPU、内存等)视为商品而不是资本。

这意味着什么?

传统上,如果我想为我的组织增加一些计算能力,我需要出去购买更多的计算机,安装它们并维护它们。云计算(Eric J. 的定义)让我可以在需要时获取额外的计算能力,然后在不需要时释放它。我们提供销售税计算服务。在圣诞节前夕,我们需要比一年中其他时间更多的计算能力。我们的云环境让我可以在几秒钟内添加资源,然后在我不需要它们时尽快释放它们。我们的一位大客户有时会有 1 小时的超额销售。我可以在那一小时内增加额外的处理能力,然后在完成后释放它。

我们在该云计算基础架构之上提供的解决方案是软件即服务 (SaaS)。在我看来,像 GMail 这样的东西是 SaaS,而不是云计算。

那么所有这些与分布式计算相比如何呢?

分布式计算只是意味着我分解一个问题,以便我可以让一大堆计算机同时处理它。伯克利大学的BOINC项目就是一个很好的例子(请考虑注册)。他们在志愿者提供的所有计算机上分发科学研究项目。

BOINC 和其他分布式项目中涉及的计算机可以是人们的笔记本电脑、台式机、服务器。它们可以安装在我的办公室、从 ISP 租用的虚拟服务器或属于“云”的虚拟服务器。计算机来自哪里并不重要。如果我可以在计算机上安装分布式计算软件,它就可以成为分布式解决方案的一部分。

于 2009-08-29T00:06:41.083 回答
14

分布式计算涉及将一个大问题分成更小的切片,并让多台联网计算机处理这些切片。

云计算通常是指通过互联网提供服务。该服务几乎可以是任何东西,从通过网络访问的商业软件到异地存储或计算资源。

编辑:正如我下面的海报所指出的,它通常是这些服务的营销术语。

于 2009-08-28T23:44:28.677 回答
7

分布式计算是多台计算机参与解决/计算任务的地方。就像折叠@Home一样。

云计算是关于在互联网服务上拥有数据(文档、图片等)。我猜 GMail 和 Google Docs 形成了一种云计算。

于 2009-08-28T23:40:56.640 回答
6

请记住,云计算一词已成为一个营销术语,几乎可以代表任何事物。对于编码人员,该术语指的是存储和检索名称/值对的分布式方式。值得注意的例子包括BigTable(您最有可能从Google App Engine中访问)和EC2

于 2009-08-28T23:44:00.753 回答