客户端服务器上的云计算:差异,缺点和优点?

时间:2010-04-08 13:59:19

标签: architecture client-server cloud

据我所知,云计算可能是软件架构师的演变,它将取代目前的一些架构,例如客户端 - 服务器。

这两个架构似乎与我有相似之处(我对两者都知之甚少),但我不知道它们之间的差异。云计算在客户端 - 服务器架构上的缺点和优势是什么?

非常感谢你。

4 个答案:

答案 0 :(得分:16)

<强>客户端 - 服务器

在广泛的计算领域,只有两种应用程序,

  1. 独立应用程序,
  2. 客户端 - 服务器应用程序
  3. Standalone只是意味着用户界面,业务逻辑和数据存储区以及任何和所有资源完全自包含在单个执行环境中 - 最终用户的计算机。

    相比之下,客户端 - 服务器意味着这些组件,服务和资源存在一些逻辑隔离。通常,我们在本地执行[aka“client”]和业务和数据存储以及远程执行[aka“server”]中的其他资源中看到用户界面。一些例子,

    • MSN Messenger [包含我们在本地计算机上运行的应用程序,而后端服务便于在远程位置进行通信]
    • Facebook [包含一个瘦应用程序 - 我们的网络浏览器 - 和一个远程服务 - 他们的服务器]
    • StackOverflow [同Facebook]

    有了这个,让我们来看看云计算。

    云计算

    云计算是传统服务器托管解决方案的抽象。我现在不是自己购买10台服务器来在我自己的运营数据中心运行和管理,而是从供应商处租用X服务器,其中X是我随时决定的变量号。

    利用云有一个明显的优势。如果我购买了10台服务器,我必须管理和维护这10台服务器,即使它们未得到充分利用[假设90%的时间只使用1台服务器,而所有10台服务器都在高峰时段固定10%]。这意味着我在90%的时间里都在支付太多的维护费用,而在我需要增加10%的剩余时间时却不灵活。

    云计算的优势在于“其他人”正在为我们管理服务器场,并愿意根据需要向我们出租可变数量的机器。因此,在上面的场景中,我可以在非工作时间内90%的时间租用1台机器,并在剩余的10%时间内扩展到10台或更多机器。

    Microsoft使用Windows Azure进一步提升了这一抽象概念。它们不租用通用服务器,而是租用应用程序域。这是[想到]云实现具有实际设计含义的一个示例 - 但它基于弹性托管的相同前提。

    <强>关系

    在大多数情况下,因为客户端 - 服务器是软件范例而云计算是托管抽象,所以它们是独立的概念。然而,Keeners将意识到云计算意味着远程托管业务,数据存储和其他资源,这使得在“云”中运行的任何应用程序都是客户端 - 服务器应用程序的一部分。

答案 1 :(得分:2)

云架构是使用可通过Internet访问的按需服务的软件应用程序的设计。构建在云架构上的应用程序使得底层计算基础架构仅在需要时使用(例如处理用户请求),按需绘制必要的资源(如计算服务器或存储),执行特定的工作,然后放弃不需要的资源,经常在工作完成后自行处理。在运行期间,应用程序会根据资源需求弹性扩大或缩小。

示例:使用Amazon Web Services提供的按需基础架构当前正在生产的应用程序。该应用程序允许开发人员在数百万个Web文档中进行模式匹配。该应用程序按需提供数百个虚拟服务器,使用名为Hadoop的开源分布式处理框架对它们运行并行计算,然后关闭所有虚拟服务器,将所有资源释放回云端 - 所有这些都是编程工作量少​​且以非常合理的费用为来电者。

答案 2 :(得分:1)

云计算只是客户端 - 服务器架构的营销措辞。

答案 3 :(得分:0)

我认为客户端服务器通常被视为软件/应用程序的必需品,但云计算通常选择优化,例如节省成本和维护。