我想了解云计算和分布式计算的区别。我读了一篇关于云计算的文章,并感觉云计算和分布式计算之间存在某种关系,因此想要询问技术之间的差异。
如果有人能指出我有用的云计算资源,我们将非常感激。
由于
答案 0 :(得分:55)
在我看来,定义云计算的是基于云的服务和软件的底层计算资源(存储,处理器,RAM,负载平衡器等)完全从软件/服务的消费者中抽象出来。这意味着基于云的资源供应商负责计算环境的性能/可靠性/可扩展性。
从应用程序开发人员的角度来看,这可能是一个巨大的优势,因为采购,维护,调优,监视和扩展硬件以满足增长需求既困难又昂贵。
对于较小的ISV,云计算提供了原型,测试和部署软件的能力,而无需任何资本支出。
对于大型应用程序,其好处通常是无限的可扩展性,相当于IT /应用程序托管职责的外包,以及即时访问新服务器/存储/随需应变。云提供商通常会提供冗余,可靠性甚至安全性等级,但是最大的内部IT商店永远无法实现这一切的全部成本。
应用程序开发人员的主要缺点是失去控制。硬件不仅外部托管在云环境中,而且是抽象的,因此如果您的应用程序需要直接控制硬件,那么您就不幸了。您需要信任云提供商。他们都提供99.9%的重复时间和SLA,但我怀疑这些统计数据是否真正实现了。但你必须问自己,我能做得更好吗?答案通常是否定的。但是控制硬件并不是控制丢失的唯一地方 - 出于显而易见的原因,与基于云的系统的集成也比内置或自我管理的软件更难。然而,在我看来,这个障碍正在消失,因为新技术和强大的API消除了在LAN / WAN之外运行应用程序时产生的许多集成困难。
另一个缺点可能是性能。在本地LAN上运行应用程序可能会为本地用户提供比从云端运行更快捷的体验。但是,如果您的受众群体是分发的,则该优势可能仅适用于您应用的受众群体。
分布式计算,正如已经多次说过的那样,只是在两台或多台计算机之间进行计算编排。根据定义,云计算是分布式计算,但却是一种专门的形式。
David Chappell的Here is a nice whitepaper。它是微软赞助的论文,因此它以微软的云平台(Azure)的形式呈现,但其基本原则非常普遍,David Chappell总是非常容易阅读。
答案 1 :(得分:24)
首先我要说的是,我们在100%基于云的环境中运行重要的金融服务。
云计算的定义并不是很明确(就像任何热门话题一样,每个人都希望用最新的热门词汇来标记他们现有的产品)。
云计算的关键在于我可以将计算资源(CPU,内存等)视为商品而非资本。
这是什么意思?
传统上,如果我想为我的组织增加一些计算能力,我需要出去买更多的计算机,设置它们并维护它们。云计算(Eric J.的定义)让我可以在需要时获得额外的计算能力,然后在我不需要的时候释放它。我们提供销售税计算服务。在圣诞节前夕,我们需要比一年中其他时间更多的计算能力。我们的云环境让我可以在几秒钟内添加资源,然后在不需要时快速释放它们。我们的一个大客户有时拥有1小时的超级销售额。我可以为那个小时添加额外的处理能力 然后在完成时释放它。
我们在云计算基础架构之上提供的解决方案是软件即服务(SaaS)。在我看来,像GMail这样的东西是SaaS,而不是云计算。
那么所有这些与分布式计算相比如何?
分布式计算只是意味着我解决了一个问题,这样我就可以让一大堆计算机同时处理它。伯克利大学的BOINC项目就是一个很好的例子(请考虑报名参加)。他们在志愿者提供的所有计算机上分发科学研究项目。
BOINC和其他分布式项目中涉及的计算机可以是人们的笔记本电脑,台式机,服务器。它们可以安装在我的办公室,从ISP租用的虚拟服务器或属于“云”的虚拟服务器。重要的不是计算机的来源。如果我可以在计算机上安装分布式计算软件,它可以是分布式解决方案的一部分。
答案 2 :(得分:14)
分布式计算涉及将大问题划分为较小的片段,并让多台联网计算机处理片段。
云计算通常是指通过互联网提供服务。该服务几乎可以是任何东西,从通过网络访问的商业软件到非现场存储或计算资源。
编辑:正如我下面的海报所说,它通常是这些服务的营销术语。
答案 3 :(得分:7)
分布式计算是多台计算机参与解决/计算任务的地方。与Folding@Home一样。
Cloud computing是关于在互联网服务上提供数据(文件,图片等)。我猜GMail和Google Docs构成了一种云计算。
答案 4 :(得分:6)
请注意,cloud computing一词已成为marketing term,几乎可以代表任何事物。对于编码员,该术语指的是存储和检索名称/值对的分布式方式。值得注意的示例包括BigTable(您最有可能在Google App Engine内访问)和EC2。