• 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. 最后
    我对于云的很多理解都是比较肤浅的,接触云的时间比较短,也没有在项目中真正使用过。说真的,现在对于云的使用还是比较麻烦的,计费方法也比较抽象,不容易理解。但是我觉得,云计算确实是当前软件发展的一个趋势(单省钱这一点就足够了)也是软件应用模式的一次革命,值得深入研究探讨。相信将来使用云可以像在家里使用电一样方便。
    以上个人意见,欢迎拍砖~



    本文是由葡萄城技术开发团队发布,转载请注明出处:葡萄城官网


  • 相关阅读:
    【Java EE 学习 81】【CXF框架】【CXF整合Spring】
    【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
    【Java EE 学习 80 上】【WebService】
    【Java EE 学习 79 下】【动态SQL】【mybatis和spring的整合】
    【Java EE 学习 79 上】【mybatis 基本使用方法】
    【Java EE 学习 78 下】【数据采集系统第十天】【数据采集系统完成】
    【Java EE 学习 78 中】【数据采集系统第十天】【Spring远程调用】
    【Java EE 学习 78 上】【数据采集系统第十天】【Service使用Spring缓存模块】
    【Java EE 学习 77 下】【数据采集系统第九天】【使用spring实现答案水平分库】【未解决问题:分库查询问题】
    【Java EE 学习 77 上】【数据采集系统第九天】【通过AOP实现日志管理】【通过Spring石英调度动态生成日志表】【日志分表和查询】
  • 原文地址:https://www.cnblogs.com/powertoolsteam/p/1904544.html
Copyright © 2020-2023  润新知