仰望-“云”是什么东西
【这是一个初学者对“云”的一些理解和看法,可能错误百出,如果有幸您看到并发现错误,请指正以帮助作者理清概念。】
?
我看了一个2008年台湾一个google工程师关于云计算的介绍视频,大致了解了一下google云的起源。他是从google的发展角度来讲解的,大致的简单的概括可以这样来说:
最初google的服务器很少,但随着用户访问量的增加,他们的服务器不断增加。但是昂贵的服务器从成本和稳定性角度来看相当的不划算,于是他们希望通过廉价的服务器来支撑庞大的用户访问。这些廉价的服务器随时可以增加,坏了就扔掉换一个,反正便宜嘛,这就是最原始的动机。然后他们的工程师从软件及网络技术出发,开发了一系列的支撑软件,使这些廉价的服务器可以联合起来工作,最终满足客户的访问需求。
?
记得好几年前的曾看到过一个关于网格计算的新闻,大意好像是用于天文运算的方面的,普通的客户端机器可以自愿申请加入该网格计算网络,成为其中的一份子,为庞大的天文计算贡献一点绵薄之力。它的原理好像是将一个庞大的计算任务分解成各个小的计算任务包,然后分派到网格中的计算单位,计算单位完成后将结果反馈到服务器汇总。这应当是我印象中最早的一个关于云计算的实例。
?
再看看云计算平台的三层结构Iaas、Paas、Saas。专业的名词解释网上一搜就有,但感觉还是很抽象。
我想Iaas应该就是指使廉价服务器能够一起工作起来的支撑平台,其中涉及的可能包括文件分布式存储、消息传递、虚拟服务器等技术,像Hadoop、VM的虚拟系统技术等。
Paas是一个云应用的支撑平台。为什么这么说,因为我了解到Cloud Foundry是一个Paas平台,它即可对应用进行支撑。比方说你用Grails开发了一个应用程序,是可以直接上传到Cloud Foundry上运行的,当然这是因为Grails符合它的结构要求,不是随便一个应用都能放到上面的。另外还看到Google的云平台开始支持Python的新闻了嘛,那也就是说Paas所支持的应用是有语言以及程序结构限定的。这应当是对头的,不然Paas怎么知道让你的应用运行起来,它必须有一个约定的规则,计算机技术不存在玄幻。
Saas是什么,我想可能就是指运行在Paas上的应用吧。如果是这样,看起来“云”不是很难理解是不是,呵呵。
?
我曾从一个开发人员容易理解的角度去描述一个云服务的具体实例,当然是我想象出来的。我们用Eclipse开发,那么假设Eclipse现在是一个云服务应用,我们是怎么使用Eclipse的呢。打开浏览器,输入网址,进入到Eclipse的云服务器应用,或许你得有个帐号,登录进入后你看到的依旧是Eclipse的这个界面,只是它现在嵌在浏览器中了。
嗯,你正在开发的项目依然列在左边的项目树中。代码?代码当然也在,只是这些代码不在本地的机器中,它在云端的云存储服务器中,这个不太难理解,现在这么多云存储。
打开代码编辑修改保存,都在云端,本地的计算机只应用了CPU和内存,和硬盘没啥关系。然后部署调试,也在云端,云端给你开启了一个Tomcat服务,你的代码运行起来了。哦,忘了说数据库,数据库当然也在云端,你的配置指向就可以了。
好吧,搞定收工,我要正式让它运行在互联网上,你可以直接选择部署到指定的云服务平台上,好了,输入网址你看到自己的工作成果了。
以上纯属臆想,是我觉得云发展到一定阶段可能发生的事情,初级阶段我们还是多利用本地电脑的资源吧,Eclipse仍然在本地机器,代码、SVN、数据库、应用服务器什么的都在本地或局域网内,但我们可以直接把应用部署到云服务平台,恩,Cloud Foundry不就是这样嘛。
?
回到现实来看云的应用吧,应该是各个方面的,从我熟悉的方面来看或许可以有几个实例。电信提供主机托管服务,简单的讲你自个搬台服务器去放在它机房的架子上,它给你拉跟网线,给你个IP,域名你自己搞定,然后你服务器上的应用就可以通过域名来访问了。服务器出问题了?那自个去它机房看呀,是应用服务器挂了还是数据库挂了,自己搞定,人可不管你这些,它只给你个地方放机器,拉根网线就管你要钱的哦,每年...好像8千大洋吧,这个不定。
如果电信来个云的话,那么自己不用买服务器了,用它的,我们要买个帐号,上个应用后根据应用的需求付费就行了,担心服务器挂掉吗?除非它的服务器群都挂了。当然,电信需要提供的云服务平台需要支持的内容就比较多了,PHP/Java/ASP你都得支持,那就得分几个云服务平台吧。
?
做了好多年的电子政务,政府的信息中心也算相当熟悉了,各个局/部门/机构什么的都有自己的应用,都是自个买服务器,然后放到信息中心,说白了信息中心也就是政府内部的一个电信托管服务部。那么同理了,整合整合,引入云服务平台。不管哪个局、那个部的应用都可以往上部署了,想想还是相当不错的,对于资源的利用会充分很多,采购成本应当也会小很多,而稳定性、性能等等都会有相当的保障,比起单台单台的服务器强大多了。
?
至于企业内部也可以啊,大企业就自己弄私有云吧,小企业可以租用公共云,相当便利不是吗。至于成本,肯定会比自己整的要便宜,而私有云平台的话就得看提供商了,整套弄下来要你个千几万的你别嫌贵啊,当然从长远角度看的话比传统的方式肯定是要节省成本的。
?
当云兴起并成熟后,给软件行业将带来巨大的变化,从商业角度来看最最最大的变化应该就是收费的方式了。这个微软什么的已经想了N年了吧,我记得好像10年前都有软件要面向服务收费的概念了。也就是说不存在买软件拷贝这回事,买的就是服务,比方说现在买一套OFFICE上万大洋,将来可能买一年的OFFICE使用服务几千大洋。为啥没有软件拷贝了,因为OFFICE在云端啊,你要用直接浏览器上去用就行了。盗版什么的...没了,除非你把整个云服务给盗回来,盗回来你自己架环境吗?不排除可能有人这么干,呵呵。到时候微软收几千一年,你收个几百一年也行啊,是吧?这么看来盗版从技术角度来说还是不可能绝迹啊,只有法律行政手段才是靠谱的。
?
这么说来,又不得不说到Google的浏览器即操作系统的构想了,可能吗?为什么不可能,到了云应用成熟的那天,这是很自然的一件事情,不是吗?
?
看看国内形势,一个一个的云都冒出来了,我看也就有限的几个大型的互联网公司推出云还有点靠谱。
为啥?因为有运作的技术积累作为基础啊,至于其他的云更多的真的是云吧--浮云。
看看老外推出云的公司都是什么样的基础和底气,已经在其中浸淫了多少年,投入了多少资金,再回头来看国内公司就知道差距了。当然我也相当的相信国内公司抄袭模仿克隆包装的能力,所以“云”还是会开遍神舟大地的。
?
对于绝大大部分的技术人员或许都只能仰望--“云”是什么东西了。
呵呵,也没那么悲观,做不了云平台我们可以做云应用嘛。