全部博文(221)
2012年(221)
分类: 云计算
2012-07-31 14:53:08
在公有云计算领域,Amazon可以说是一个先行者,从S3到EC2,从EC2到EBS、RDS等等服务,Amazon一直跑在公有云计算阵营的最前方,直到Windows Azure出现,Amazon一直没有遇到一位能在整条云计算产品线上能与之竞争的一个强有力的对手。
自从Google提出云计算这个概念伊始,整个IT行业一直在讨论到底什么是云计算。到目前为止,官方的一个定义倒是有了,不过这个模糊的定义并不能说明什么问题,而且相信大家每个人眼里都会有一个自己对云计算的理解。
想必广大程序员都听说过“不要重复发明轮子”这句话。当然,我们也很努力地在程序方面做到尽量不重复发明轮子,但当我们部署一个应用程序呢?老板会说,程序应该是高可用的,可以处理大量的并发……
听到这些需求,你脑子里可能已经想到了很多方法和工具能帮你做到这些要求。但问题在于——你并不只是按照这个要求部署一个应用程序。也许公司有很多的系统,应用需要如此部署;而从行业角度来看,很多公司对部署都有这种需求。到此,你应该看到了,在部署层面,我们一直在“重复发明轮子”。
这对于运维人员来说,恰恰体现了他的价值,但对于公司来说,意味着更多的成本。为了应用程序的高可用,你需要每个应用至少两台服务器做主备;为了处理更多的请求,你需要更多的应用程序服务器,当然,如果公司没有足够的技术实力,花更多的钱买一个像F5这样的负载均衡设备也是可能的。而当运维人员发现设备的负载并不高的时候,由于设备上已经部署好了应用程序,你也不大敢冒着可能出问题的风险把设备挪作他用。
有时候资源就是这么浪费的。
而云计算有些时候恰恰可以解决这些问题,当然,也不能夸下海口——云计算并不能完美解决上面的问题。如果你了解过Windows Azure,你会发现Windows Azure的产品线已经很完备了,使用其中的两三个产品,就可以搭建出一个高可用,可以处理高并发的应用程序。Windows Azure内建了一个高可用的负载均衡系统,在部署应用程序时,开发者可以根据需要来指定Web Role和Worker Role虚拟机的数量。如果需要数据库,那么连上SQL Azure,一切趋近于完美。
Windows Azure平台会监控Web Role和Worker Role的虚拟机,如果虚拟机出现问题,平台会自动重新启动一个新的虚拟机来接替。如果Web Role或者Worker Role虚拟机处理不了更多的请求,那么随时可以增加一台新的虚拟机以提供服务。如果你觉得SQL Azure可能不如自己维护一个SQL Server靠谱,那么我也实在想不出还能有谁比微软自己运营SQL Azure更靠谱的了。
当你用一种更贴近云计算的方式编写应用,并部署它的时候,你会发现,一切变得跟以前不太一样了,而且更简单了。你可以不用考虑高可用和负载均衡方面的问题,也不用太考虑部署时的硬件配置(毕竟在云计算平台上调整资源更简单了)。就连最让人头疼的网络问题,Windows Azure也帮您做了不少。