据我所知,云计算可能是软件架构师的演变,它将取代目前的一些架构,如客户端 - 服务器.
这两个架构似乎与我有相似之处(我对两者都知之甚少),但我不知道它们之间的差异.云计算在客户端 - 服务器架构上的缺点和优势是什么?
非常感谢.
客户端服务器
在广泛的计算世界中,只有两种应用程序,
独立应用程序,和
客户服务器应用程序
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将意识到云计算意味着业务,数据存储和其他资源是远程托管的,这使得在"云"中运行的任何应用程序都是客户端 - 服务器应用程序的一部分.