硕鼠的博客站

范路的博客主站,时而会发些东西。

国人所发明的各种各样的云计算

云计算其实是中国人发明的。

很多人看到这里可能就笑了,云计算这么先进的东西怎么会是中国人发明的呢?

中国的IT发展史,或者应该说是各个政府职能部门的IT应用发展史更加合适吧,就是一部不断集中再集中的历史。在不同的阶段,根据当时计算机、网络和软件技术的发展,进行不同层次的集中。县级集中、市级集中、省级集中、全国大集中。银行集中、税务集中、保险集中、电信结算集中。中国政府的IT应用史就是一部集中史。而将原来分散的应用,集中到一起。分散的节点,通过集中的服务,统一的处理原来在本地处理的业务,这就是一个将本地应用虚拟化到云端的过程。而这个过程又是受到了中国几千年集权思想的引导而形成的。所以说云计算是中国人发明的,也不算过分。总比说全天下的伟人都是韩国人要更靠谱一些。

云计算,现在好像不云一下都没法计算了。各大IT厂商都在纷纷推出自己的云计算的产品和服务,至少也会推出一些似是而非的云概念。

这里要讨论的并不是谁是真王麻子,谁是老王麻子,而哪一个是又真又老的王麻子的问题。而是想讲一下各种王麻子产生的过程和故事,他们之间的关系。以及大家通常是根据什么原因来选择不同的云服务厂商,这些运行在不同云服务平台上,都从这些平台上得到了些什么。

常见的云

云应用

现在大家经常能够在网络和媒体上看到的云。有云电视、云手机、云杀毒、云输入法、云邮件、云中相册、云中通讯录、云安全,甚至是云电子商务平台什么的。这些其实都是云应用,是面向最终用户的,也就是说不需要再编写任何程序,就可以直接被使用的云服务。最终用户不论是个人还是机构,都可以直接调用、使用这些服务。

由于是向最终用户提供的服务,所以这些应用在很多的公众媒体上投放了很多的力量,市面上能够看到最多的也就是这一类的云服务了。

所谓的运营用,分为几类。有的却是是将某些分散应用集中到云端去了。有些则仅仅是使用了其他层次的云服务构建的应用。或者在应用中提供了一些其他层次的云服务。这其中有很多云应用都是在中国独一无二的,只有作为云计算的发明国家,才会有那么多独特的云计算模式。

开放平台

这些应用,通常会在用户积累到一定程度时候,开放出API来。让其他个人或团体帮助他们开发一些辅助的功能或扩展。毕竟一旦大家开始使用一个服务或应用,就总会对其产生出这样或那样的需求。这些需求中有些是大多数人需要的,那么运营那些应用的机构会开发升级的版本来实现这些需求。另外,就是有些需求只为一部分人所需要,并不是所有用户的需求,那么就可以开放出接口来让其他人来开发。

当API聚集到一定程度,就会形成一个有规划的API包,这就是开放平台的由来。

现在国内腾讯、阿里、盛大、新浪等这些聚集了大量注册用户的服务商,都放出了庞大的开放平台。

这些平台功能之庞杂,变化、迭代之快,也绝对是世界范围内绝无仅有的。也算是一种中国特色了吧。

App Engine

有些人使用这些开放平台上的服务,开发出了新的应用。一开始的时候,这些应用还是跑在提供这些服务的各自的服务器上。为了能够提高这些应用的效率,很多IT服务商提供了App Engine,也就是说允许服务提供者开发一段代码,直接跑在提供开放平台的服务商的服务器上。这样做的好处有两个:第一、新服务提供者的开发量极大的降低了,很多重复模块不需要重复的开发;第二、这些程序运行在距离核心服务和应用很近的地方,效率和安全性都得到了有效的提高。

现在Google、新浪、腾讯、阿里提供的就是这种云。

根据平台的要求,开发者开发一段代码。这种代码要受到平台的限制,比如新浪要求的是php代码,google要求的是java或python代码。然后使用服务商提供的数据库存储数据,比如新浪使用的是一种NoSQL数据库,而腾讯提供的则是MySQL。再使用他们各自提供的其他相关服务,比如腾讯和新浪都提供了不同的,类似于Memcached的cache服务。然后,才可以连接开放平台所提供的各种API接口,比如调用新浪微博的认证,并向微博中发送内容,或读取微博数据进行一些统计和分析等。最后,这些代码将被上传到google、新浪或腾讯、阿里的服务器上。AppEngine通常会提供一个控制面板,来帮助开发者管理上传代码的版本,以及控制其启动、停止,监控这些代码的运营状态,甚至是计费。

Google App Engine上的应用,五花八门,杂乱无章。再看看国内的情况,新浪SEA上的程序,基本上100%都是为新浪微博用户服务的,而腾讯和阿里上的应用也基本上都是为他们各自的基础服务,提供补充的。由此可见,国内互联网公司对App Engine的理解,要比美国人先进得多啊。

虚拟机

上面的App Engine方式,用起来实在是太憋屈了。有一种更加自由的方式,那就是有些云计算服务商直接提供虚拟化的基础设施。比如虚拟服务器、虚拟硬盘等。

亚马逊和盛大云,所提供的就是这种服务。开发者拿到的就是虚拟的服务器,开发者可以自由的决定在上面使用什么语言,什么架构来开发应用。

由于国家为我们建立了墙,可以很好的对天朝局域网进行保护,所以如果有人将应用放在亚马逊的云上,这个应用在过国内访问的速度将是任何人都无法忍受的,甚至还会有很多服务,突然就无法访问了,比如dropbox。所以国内的用户,或者是国外那些想要开展中国业务的用户,最佳的选择就是直接购买类似于盛大云这样的公司提供的云主机服务就好了。对于国人来说,根本就不需要知道亚马逊云,因为上面最著名,最有趣的应用在国内几乎都是无法访问的。越是有趣的应用,在国内能够被访问到的几率越小。

大家是怎么云起来的

以前本没有路,走的人多了自然也就形成路了。以前没有云,后来中国人实在是太喜欢集中,太喜欢统一了,于是就有了云。看来路是被走出来的,那么云到底是怎么来的呢?通常的、国际化的解释会从分布式计算讲到SOA,再到亚马逊宣布AWS,然后是google的云平台等等。这仅仅是美帝国主义为了掩盖他们剽窃中国人聪明才智所作出的掩饰。其实即使是在上面提到的这些公司里面也不乏大量的华人工程师、架构师、设计师。说任何一个美国软件公司的发明创造是中国人的发明,都是说得过去的。比如亚马逊著名的存储服务S3的构架师就是个中国人。这个人就是现任盛大云老总的何刚。老一辈的无产阶级革命家从美国回来建造两弹一星,现在也有在美国工作的科学家,回国建设云计算。

将应用通过虚拟化的方式进行集中

最标准的云服务,比如google document、salesforce。原来每个人都要在自己的电脑上安装office之类的文字处理软件的,现在不需要了,这些功能被虚拟化到云端了,虚拟化到google document上面去了。原来上些规模的销售型公司都要购置CRM(客户关系管理)系统的,现在也不需要了,只要直接使用salesforce的服务就好了。这就是云服务,或者叫做SaaS(软件即服务)。

集中过程或集中之后提供的API接口

服务已经被虚拟化到云端了,但是既然云计算是中国人发明的,也就必须符合中国人的基本哲学,那就是众口难调。服务集中了,但是总会有一些不同地区或人群的特殊需求需要解决。那么下一件事情就是制定标准和开放API接口了。最早想到这个问题的应该是秦始皇,他统一了度量衡。看看,我又找到了中国人发明云计算的证据了吧。

google API、Facebook API、新浪API、腾讯API、盛大的API Pool,这些都开放出来了,可以让不同的个人、团队或机构,根据各自的需要,开发出各种相关的应用出来。

通常API都是在应用运营成功之后才会推出来,因为使用一套API或框架,是需要消耗学习成本的,在没有足够利益(海量有价值的内容或用户)吸引的情况下,是不会有人愿意投入的。也有特例,那就是API所提供的服务是一些类似于存储之类的基础服务时除外。

将使用开放平台的应用再集中到一起

因为云计算是中国人发明的,所以那种大集中,在技术允许的情况下不断集中的倾向一直都在影响着云计算的走向。很多人通过使用开放平台上面的服务,开发出了许多新的应用和服务,这又是一个发散的过程了。于是在分久必合,合了之后还可以在更大的范围内再合的典型中国思想的指导下,App Engine诞生了,现在可以将那些分散出去的应用再重新集中回服务商的服务器上去了。每一个服务商,都是以“四海之内,莫非王土;率土之滨,莫非王臣”为目标而不断增长的。

GAE——google App Engine、SAE 新浪App Engine就是这么产生的。

这就是云计算说明文档或教程上经常出现的PaaS(平台即服务)了。通常,开放平台就能够算是PaaS了。

直接提供底层架构服务

总会有些团队希望开发出不同的应用来,不希望被各种App Engine所限制,希望发展自己的用户,而不是为其他平台的用户服务。甚至还有些团队心怀远大的理想,希望能够在将来的某一天,自己也能够开发出能够吸引到足够用户的应用。

比如Evernote或Dropbox那样的公司,现在已经吸引到了足够多的用户,他们也开放出API,希望其他人帮他们写出更加个性化的扩展,或为其他应用提供特定的服务。

这样的公司或团队,就对App Engine提出了质疑。

于是,直接提供底层架构虚拟化的服务就出现了。也就是说直接提供虚拟云主机和云存储、云端数据库等底层架构。这就是IaaS(基础设施即服务)了。

现在腾讯和阿里提供了一些介于基础IaaS和PaaS之间的东西,这其中的区分方式就在于是否限定开发者的开发语言和框架,开发者得到是否可以自由的使用裸服务器。他们在提供裸服务器的同时,主要推广的其实是一种被他们叫做“网站云”的东西,也就是使用php、mysql架构的PaaS。

如果说程序运行的控制面板是App Engine的一个标志(App可以随时根据开发者的需求上线、下线)的话,IaaS的一个标志就是按需计费,按小时计费。现在腾讯的云主机是按照天计费的,而阿里的有些服务更是按月计费的。

选择不同的云平台

普通用户

普通用户是没有选择的,他们只能选择开发好的云应用或在开放平台的基础上开发出来的,或架设在云主机上的云应用。

开放平台通常绑定一些资源

上面说了,选择开放平台是有成本的。所以那些资源不好的开放平台是没有人选择的。那么人们如果选择开放平,则是为了得到开放平台上的那些资源。

比如选择新浪开放平台的人,都是看中了新浪微博上面的海量用户、内容。选择腾讯平台的人,则是看重腾讯的十亿账号。选择盛大开发平台的,则是希望能够得到盛大十多亿的预付费账号,以及这些账号上以亿万计的预支付现金。

既然开发者是冲着这些资源去的,那么选择不同的平台,也就是为不同的用户群体在服务。最终,即使应用成功的赚到了钱,用户也还是属于平台的,并不属于应用。有些应用希望为不同平台上的用户服务,于是他们就会将应用部署到不同的PaaS上面去,这就导致了在同一个应用中的用户群体的认为割裂。就像是同样的手机用户,就会分为移动、联通、电信用户那样,而且不仅如此,手机号码还是属于移动公司的,是不可以被用户带着走的,那么如果希望为这三家移动运营商的用户提供应用的话,就必须将系统分别搭建在三家运营商的平台上。

这也是社会分工的一种,有人提供了平台,就要有人在上面做应用赚取利润。提供平台的人得到用户,使得平台的价值上升;而提供应用的人,则实打实的赚到了现金,并通过对不同平台用户的分析,得到了更进一步的数据,以便能够做出更加好的应用,术业有专攻。

在这个过程中,AppEngine只是PaaS的一个延伸。归根结底还是资源吸引了开发者。

底层基础设施的服务,是完全中立的

又要说到那些有理想,追求自由的开发者了。中国人大多都是很有理想的,比如人人都想当皇帝也算是一种很民族的理想吧。这些人就会选择完全中立的IaaS,不希望受到限制,期望能够积累自己的用户,并在将来的某一天中,自己也能成长为google、新浪、腾讯,甚至是盛大那样的公司。

结论

云有好多种,这些云是在中国人根深蒂固的中央集权的思想引导下,逐步演化产生出来的,适应于不同类型的用户和应用。不同形式的云,应该还会并存很长的一段时间,这是一个社会分工不断细化的过程,是社会生产力上升的一个标志。每一个层次的人,专心致志的做好自己的事情。选择任何一个层次的云计算,不论是选择构建云计算的服务,还是使用这些服务为最终用户提供服务,这并没有高低贵贱之分,只是社会分工不同罢了。

当然,中国人也还会凭借着自己的聪明才智,不断的创造出更多,很稀奇古怪的云应用和服务方式来的。

云计算是一种真正革命性的,会真正对每一个人都带来影响的东西。就像中国人的其他发明那样,不论是否理解,不论是否喜欢,都必将为人类带来全新的未来。

 

You can leave a response, or trackback from your own site.

Leave a Reply

Close Bitnami banner
Bitnami