【转】 TechED2010与我(三) —— 初识云计算

做者用到的比喻很好。html

网址:TechED2010与我(三) —— 初识云计算前端

初识云计算
最近“云计算”被炒的很热,可是因为工做重点主要是作WinForm的控件开发,对云计算的接触比较少,甚至一直没搞清楚到底什么是“云计算”,感受上“云”是个神乎其神的东西。此次借参加Tech-ed的机会重点了解了下“云计算”。写篇博文分享一下本身的理解。初次接触,理解的比较肤浅,若是有误欢迎你们指正。
1. 为何须要云计算 
微软给了个颇有意思的比喻。     
不少年之前,一个很牛的人发明的电灯泡,致使人们须要电,这个牛人就成立了一个公司,这个公司专门卖发电机,全部须要使用电灯泡的人都要买发电机,因而这个牛人发了大财。后来,人们发现买发电机本身发电好贵呀。因而有些大公司就创建了大型的发电站,我的和小公司只要按时交电费就能够获得电,这种新方法比买发电机省钱,到今天一直在使用。     
不少年之后,一个很牛的人发明了计算机网络,致使人们须要网络服务。人们为了提供网络服务(电气时代的电灯泡),每家公司都要买服务器(电气时代的发电机),后来,人们发现买服务器好贵呀。因而一些大公司创建了大型的数据中心(就是不少不少…的服务器)。我的和小公司只要按时交使用费就可使用服务器,这种新方法比买服务器省钱。对于这个新方法,你们给起了个很抽象的名字——“云计算”。
2. 什么是云计算     
听说在2008年的一次国际云计算大会上,主持人对于“什么是云计算?”这个问题上随机采访了20个听众,结果获得了22种答案。对于云计算准肯定义的争论,至今也没有中止过(怪不得我一直没搞清楚什么是云计算J)。     
在维基百科里给出了这样的描述性定义“云计算就是基于互联网的计算,它能像电网供电同样,按需把共享的资源,软件和信息提供给计算机和其余设备。”     
可能有人像我同样思考过,“云计算”和“分布式计算”有什么区别。对于这个问题,个人理解是,云计算强调的是服务,是一项租赁业务。而分布式计算强调的是技术实现。
3. 云计算的做用      
云计算最重要的做用固然是被提到好几回的一点——“省钱”,不能省钱估计就没人用了,呵呵。那么,它为何能省钱呢?原来本身买服务器,如今租大公司的服务器,多转一次手,应该费钱才对。就好象租房住显然没有买房住合算呀(除非房东是慈善家或者脑壳有问题)。     
就个人理解,云计算是基于两个考虑来省钱的。     
一是避免浪费。     
最简单的例子,一个网络公司,通常高负载都是在晚上8点到11点左右。这段时间须要20台服务器才能保证稳定的访问,不宕机。而其余时段可能只须要2台服务器就能够了。这种状况下若是用买的,公司就必须一直保持20台甚至30台服务器(以备突发的大规模访问),而若是是使用云服务,就能够根据负载,动态的调整使用服务器的个数,8点的时候租20台,10点的时候若是忽然访问量变大就租30台,过11点网民都睡觉了就把多余的退掉,就留一两台。这样就能够省钱了。     
二是集中管理,下降成本。     
在传统模式中,并非服务器买回来就万事大吉了,几十台服务器的机房要面临着场地费用,人工管理成本,软件升级,服务器备份,维护,甚至布线,租用宽带等等的成本。而使用“云计算”的模式,以上问题都由提供商来集中解决,而集中管理的成本显然是低于分散到全部小公司的管理成本的。
4. 如何使用“云计算”资源      
说了这么多,还不知道“云”怎么用呢,其实,上云是比较简单的,不少大公司提供了这样的服务。因为Tech-ed是微软搞的,固然微软介绍的都是他本身的东西Windows Azure。     
对于使用微软的云,有个讲师说的颇有意思,他说,只须要两步:一.到微软网站上注册账号,二. 刷信用卡。他尤为强调,千万不要刷本身的信用卡,必定要刷老板的,要不你会很快破产的J。     
微软的云要求云端的应用程序分红两个模块,一个是WorkRole,一个是WebRole,WorkRole负责后台逻辑,WebRole负责前端展现逻辑,二者靠一个队列通讯。若是装了Windows Azure SDK,能够在VS2010中建立出相应的工程模板。也有对应的向导把应用程序部署到云上。对于既有的ASP.net项目,若是想迁移到云上则首先须要对程序进行重构,按微软的结构要求把程序划分红WorkRole和WebRole在部署上去。
5. “云计算”能够为控件开发带来什么好处      
最后一个部分是我对本身工做的一个思考,毕竟我不是作网络应用的,第一感受是暂时还用不上云。可是有一个点上可能仍是能够在云计算上获得实惠的。场景是这样的,在每个控件产品发布前,都须要对不少环境作集成测试,如不一样的操做系统,WindowsXP,WindowVista,Windows7,不一样的系统语言版本,英文,中文,日文,不一样的IDE版本,如VS2005,VS2008,VS2010,这些条件组合起来的环境是很是多的,咱们不得不许备不少的环境,有实机也有虚机,管理起来很麻烦。尤为是测试在特定环境下发现的bug在开发的环境里又很难重现和修复。最重要的是这个环境测试一年中可能只有一个月是须要的,其余时间这么的机器就会显得比较浪费。 而“云”的使用可能能够很好的解决这个问题,云服务中有一种模式叫平台即服务,当我须要时,我就能够根据个人要求到云上申请一个特定环境的机器,用完就归还。是否是能够少不少麻烦呢?     
这一部分都是基于个人理解想象的,尚未实践过。也不知道成本上是否划得来,要知道改变传统的作法自己就是要付出很大成本的。可是,全部的实现不都是从想象开始的么
6. 最后      
我对于云的不少理解都是比较肤浅的,接触云的时间比较短,也没有在项目中真正使用过。说真的,如今对于云的使用仍是比较麻烦的,计费方法也比较抽象,不容易理解。可是我以为,云计算确实是当前软件发展的一个趋势(单省钱这一点就足够了)也是软件应用模式的一次革命,值得深刻研究探讨。相信未来使用云能够像在家里使用电同样方便。     
以上我的意见,欢迎拍砖~服务器

相关文章
相关标签/搜索