我姓太阳分享 http://blog.sciencenet.cn/u/whitesun 大学教师的那点事。

博文

不得不说的云计算三大核心技术

已有 24612 次阅读 2013-11-9 13:15 |个人分类:科研实践|系统分类:科研笔记| 云计算

   目前云计算已经作为一个日常用语被广大互联网用户掌握,在软件企业、高校提的更是平凡。云及云计算估计是最常用的科技词汇了。到底何为云计算?似乎普通大众以及未深入研究的学者被忽悠了,只是反复不断地传递基于云计算的应用的相关词汇,而不是云计算本身,当然,这也许是云或云计算被世人当成无空不入的高科技产品的根源。

  到底何为云?何为云计算?就计算机领域来说,云计算是一种利用计算机提供服务的方式,目前公认的是提供三个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)[1]

  2006年3月,亚马逊(Amazon)推出弹性计算云(Elastic Compute Cloud;EC2)服务后,云计算开始进入大家的视野,2006年8月9日,Google首席执行官埃里克·施密特(Eric Schmidt)在搜索引擎大会首次提出“云计算”(Cloud Computing)的概念。不管是亚马逊的EC2还是Goolge的云计算,均是联合非常多的计算机于一体,对外提供服务,具体来说依靠如下三类技术:

  • 服务器虚拟化:利用Xen或WMware等虚拟软件,将多台计算机联合起来,虚拟出更多的计算机提供给用户,方便其搭建自己的应用。现在政府官员眼中的就是这类云计算,所谓私有云、政府云等等,说白了就是买3-5个好的服务器,虚拟出10-20个服务器,每个服务器上安装一个具体的应用。这样做可以提高资源利用率、降低维护成本、省电等等;当然目前的阿里云等也是这类云计算,只是计算机公司专门基于Xen等虚拟化软件开发出来的一套方便管理万台甚至几十万台服务器的软件,该软件可以为用户提供定制性能的服务器(计算机),用户安装自己的操作系统,而后搭建自己的网站等应用,这其实就是所谓的公有云。

  • 存储:将大量计算机上的存储资源联合起来,形成一个海量的存储空间,用户需要多少分配多少。底层技术是分布式文件系统,如Google的GFS和Hadoop的HDFS。目前大家常用的百度云,360云等等几乎都是基于Hadoop的HDFS或其他分布式文件系统搭建起来的,并增加一些文件上传、播放音乐与视频等等功能,其实说白了这些云存储的具体应用,即一套分布式文件系统+加上一个Web网站。当然直接利用分布式文件系统很不方便,Google首先提出了BigTable,并实现了列式数据库,其实也是基于GFS这个分布式文件系统的,与此类似,Hadoop开发了HBase这个列式数据库,当然目前响应各种需求,发展出统称为NoSQL((NoSQL = Not Only SQL,指“不仅仅是SQL”)的一系列数据库,例如规模小的有redis以及Cassandra,MongoDB, CouchDB等等,目前各大互联网公司均采用这些数据库存储海量的用户数据,如淘宝就使用了HBase。

  • 计算:将大量计算机上的CPU计算资源利用起来,形成一个快速的计算平台,用户按照特定规范编制的程序可提交给这一计算平台进行计算,快速获得计算结果。这其实是云计算的根本所在,Google首先提出的Map/Reduce编程框架突破了以前分布式计算、网格计算的模式,能有效地利用几千台甚至几万台计算机在几秒至几分钟能统计出40G甚至几个T文本文件中各个单词数量,这种计算模式是搜索引擎得以服务大量用户的基础,目前大家常说的Hadoop就是Google云计算的开源实现,百度、淘宝等大公司都用Hadoop做数据分析,这就是所谓当前大数据分析用的基础软件。Goole提供的翻译服务其实就是基于自己的计算平台开发的一个具体应用程序,它可在不到1秒钟内利用几百甚至上千台计算机为你提交的翻译句子或段落进行分析,给出结果。

    可以这样讲,互联网公司往往利用上述三类技术为海量用户提供各种服务,而利用了这些技术的软件,这些公司在宣传时往往带个“云”,这就是到处是云的原因所在。当然当前互联网底层技术,其实还有很多,这里不展开说了。

   事实上为了迎合这种云计算的发展需要,硬件厂商也紧跟其后,开发适合云计算的服务器、硬盘、网络设备等等,例如购买上万台甚至几十万台的IBM服务器太贵,目前多用一些进行了专门设计的廉价PC服务器搭建互联网公司的集群。可以说,目前云计算产业链基本形成。

   本人从2006年到现在,搭建过多次Hadoop集群,讲过2门相关的课,研究过Xen虚拟化技术搭建云平台,搞过MogoDB,组织学生开发过自己的网盘和NoSQL数据库等,也正用Hadoop研究推荐系统,再到现在研究Storm等,就这些研究、学习与实践体会以及实际中碰到的问题,我认为搞云计算的门槛挺高,首先需要在Linux平台上搭建各种开源软件,需要有较强的专研精神,其次需要有硬件环境支持,最后需要有实际需求驱动,否则难以成功。为此,我不建议普通科研人员搞抽象的云计算,也不建议上来就搞什么大数据分析,否则会浪费大量精力。就我了解的情况,国内只有一些达到世界一流研究水平的研究团队,才能把这些技术搞得像回事,原因在于有钱也有聪明的人。

    回归主题,不得不说啊,真不忍心看着很多人瞎搞,浪费人力物力,也真不想看到一些人利用云计算这个词圈钱。


主要参考文献:

[1] 百度百科.云计算.http://baike.baidu.com/link?url=L2PPgz-08Ef20Hu71gNn8KLRl21NsWS9U5L-caSrlmJNrsUF3s62mbS2XXGimAeyb5DbYXWbD9gBC48U5TdJga.



https://blog.sciencenet.cn/blog-273829-740291.html

上一篇:无项目支持的科研
下一篇:搞科研的种类
收藏 IP: 117.190.68.*| 热度|

4 赵斌 张骥 黄富强 biofans

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-24 18:51

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部