2006年谷歌推出了“Google 101方案”,并正式提出“云”的概念和理论。随后亚马逊、微软、惠普、yahoo、英特尔、IBM等公司都宣告了自己的“云方案”,云安全、云存储、内部云、外部云、公共云、私有云……一堆让人目不暇接的概念在不断冲击人们的神经。那么究竟什么是云核算技能呢?对云核算技能的产生、概念、原理、运用和远景又在哪里?
一、云核算思维的产生
传统办法下,企业树立一套IT体系不只仅需求购买硬件等根底设备,还有买软件的答应证,需求专门的人员保护。当企业的规划扩展时还要持续晋级各种软硬件设备以满意需求。关于企业来说,核算机等硬件和软件自身并非他们真实需求的,它们仅仅是完结作业、供给功率的东西罢了。对个人来说,咱们想正常运用电脑需求装置许多软件,而许多软件是收费的,对不常常运用该软件的用户来说购买是非常不划算的。可不能够有这样的服务,能够供给咱们需求的一切软件供咱们租借?这样咱们只需求在用时付少数“租金”即可“租借”到这些软件服务,为咱们节省许多购买软硬件的资金。
咱们每天都要用电,但咱们不是每家自备发电机,它由电厂会集供给;咱们每天都要用自来水,但咱们不是每家都有井,它由自来水厂会集供给。这种办法极大得节省了资源,便利了咱们的日子。面对核算机给咱们带来的困扰,咱们可不能够像运用水和电相同运用核算机资源?这些主意终究导致了云核算的产生。
云核算的终究目标是将核算、服务和运用作为一种公共设备供给给大众,使人们能够像运用水、电、煤气和电话那样运用核算机资源。
云核算办法即为电厂会集供电办法。在云核算办法下,用户的核算时机变的非常简略,或许不大的内存、不需求硬盘和各种运用软件,就能够满意咱们的需求,因为用户的核算机除了经过浏览器给“云”发送指令和承受数据外基本上什么都不用做便能够运用云服务供给商的核算资源、存储空间和各种运用软件。这就像衔接“显示器” 和“主机”的电线无限长,然后能够把显示器放在运用者的面前,而主机放在远到乃至核算机运用者自己也不知道的当地。云核算把衔接“显示器”和“主机”的电线变成了网络,把“主机”变成云服务供给商的服务器集群。
在云核算环境下,用户的运用观念也会产生彻底的改动:从“购买产品”到“购买服务”改动,因为他们直接面对的将不再是杂乱的硬件和软件,而是终究的服务。用户不需求具有看得见、摸得着的硬件设备,也不需求为机房付出设备供电、空调制冷、专人保护等等费用,而且不需求等候绵长的供货周期、项目施行等冗长的时刻,只需求把钱汇给云核算服务供给商,咱们将会立刻得到需求的服务。二、
二、云核算的概念
云核算(Cloud Computing)是由散布式核算(Distributed Computing)、并行处理(Parallel Computing)、网格核算(Grid Computing)开展来的,是一种新式的商业核算模型。现在,关于云核算的知道在不断的开展改动,云核算没仍没有遍及一起的界说。
我国网格核算、云核算专家刘鹏给出如下界说 :“云核算将核算使命散布在许多核算机构成的资源池上,使各种运用体系能够依据需求获取核算力、存储空间和各种软件服务”。
狭义的云核算指的是厂商经过散布式核算和虚拟化技能树立数据中心或超级核算机,以免费或按需租借办法向技能开发者或许企业客户供给数据存储、剖析以及科学核算等服务,比方亚马逊数据仓库租借生意。
广义的云核算指厂商经过树立网络服务器集群,向各种不同类型客户供给在线软件服务、硬件租借、数据存储、核算剖析等不同类型的服务。广义的云核算包含了更多的厂商和服务类型,例如国内用友、金蝶等办理软件厂商推出的在线财务软件,谷歌发布的Google运用程序套装等。
浅显的了解是,云核算的“云“便是存在于互联网上的服务器集群上的资源,它包含硬件资源(服务器、存储器、CPU等)和软件资源(如运用软件、集成开发环境等),本地核算机只需求经过互联网发送一个需求信息,远端就会有不计其数的核算机为你供给需求的资源并将成果返回到本地核算机,这样,本地核算机简直不需求做什么,一切的处理都在云核算供给商所供给的核算机群来完结。
三、云核算的首要服务办法和典型运用
云核算还处于萌发阶段,有杂乱的各类厂商在开发不同的云核算服务。云核算的表现办法多种多样,简略的云核算在人们日常网络运用中随处可见,比方腾讯QQ空间供给的在线制造Flash图片,Google的查找服务,Google Doc, Google Apps等。现在,云核算的首要服务办法有:SaaS(Software as a Service), PaaS(Platform as a Service), IaaS(Infrastructure as a Service)。
(1)软件即服务(SaaS)
SaaS服务供给商将运用软件一致布置在自己的服务器上,用户依据需求经过互联网向厂商订货运用软件服务,服务供给商依据客户所定软件的数量、时刻的长短等要素收费,而且经过浏览器向客户供给软件的办法。这种服务办法的优势是,由服务供给商保护和办理软件、供给软件运转的硬件设备,用户只需具有能够接入互联网的终端,即可随时随地运用软件。这种办法下,客户不再像传统办法那样花费许多资金在硬件、软件、保护人员,只需求开支必定的租借服务费用,经过互联网就能够享受到相应的硬件、软件和保护服务,这是网络运用最具效益的营运办法。关于小型企业来说,SaaS是选用先进技能的最好途径。
以企业办理软件来说,SaaS办法的云核算ERP能够让客户依据并发用户数量、所用功用多少、数据存储容量、运用时刻长短等要素不同组合按需付出服务费用,既不用付出软件答应费用,也不需求付出收购服务器等硬件设备费用,也不需求付出购买操作体系、数据库等渠道软件费用,也不用承当软件项目定制、开发、施行费用,也不需求承当IT保护部分开支费用,实际上云核算ERP正是承继了开源ERP免答应费用只降服务费用的最重要特征,是突出了服务的ERP产品。
现在,Salesforce.com是供给这类服务最有名的公司,Google Doc, Google Apps和Zoho Office也归于这类服务。
(2)渠道即服务(PaaS)
把开发环境作为一种服务来供给。这是一种散布式渠道服务,厂商供给开发环境、服务器渠道、硬件资源等服务给客户,用户在其渠道根底上定制开发自己的运用程序并经过其服务器和互联网传递给其他客户。PaaS能够给企业或个人供给研制的中间件渠道,供给运用程序开发、数据库、运用服务器、实验、保管及运用服务。
Google App Engine, Salesforce的force.com渠道,八百客的800APP是PaaS的代表产品。以Google App Engine为例,它是一个由python运用服务器群、BigTable数据库及GFS组成的渠道,为开发者供给一体化主机服务器及可主动晋级的在线运用服务。用户编写运用程序并在Google的根底架构上运转就可认为互联网用户供给服务,Google供给运用运转及保护所需求的渠道资源。
(3)根底设备服务(IaaS)
IaaS即把厂商的由多台服务器组成的“云端”根底设备,作为计量服务供给给客户。它将内存、I/O设备、存储和核算才干整组成一个虚拟的资源池为整个业界供给所需求的存储资源和虚拟化服务器等服务。这是一种保管型硬件办法,用户付费运用厂商的硬件设备。例如Amazon Web服务(AWS), IBM的BlueCloud等均是将根底设备作为服务租借。
IaaS的长处是用户只需低成本硬件,按需租借相应核算才干和存储才干,大大下降了用户在硬件上的开支。
现在,以Google云运用最具代表性,例如GoogleDocs、GoogleApps、Googlesites,云核算运用渠道GoogleApp Engine。
GoogleDocs是最早推出的云核算运用,是软件即服务思维的典型运用。它是相似于微软的Office的在线作业软件。它能够处理和查找文档、表格、幻灯片,并能够经过网络和别人同享并设置同享权限。Google文件是依据网络的文字处理和电子表格程序,可进步协作功率,多名用户可一起在线更改文件,并能够实时看到其他成员所作的修正。用户只需一台接入互联网的核算机和能够运用Google文件的规范浏览器即可在线创立和办理、实时协作、权限办理、同享、查找才干、修订历史记录功用,以及随时随地拜访的特性,大大进步了文件操作的同享和协同才干。
GoogleAPPs是Google企业运用套件,运用户能够处理日渐巨大的信息量,随时随地保持联络,并可与其他搭档、客户和合作伙伴进行交流、同享和协作。它集成了Cmail、GoogleTalk、Google日历、GoogleDocs、以及最新推出的云运用GoogleSites、API扩展以及一些办理功用,包含了通讯、协作与发布、办理服务三方面的运用,而且具有着云核算的特性,能够更好的完成随时随地协同同享。别的,它还具有低成本的优势和保管的快捷,用户无需自己保护和办理树立的协同同享渠道。
Googlesites是Google最新发布的云核算运用,作为GoogleApps的一个组件呈现。它是一个侧重于团队协作的网站修正东西,可运用它创立一个各种类型的团队网站,经过Googlesites可将一切类型的文件包含文档、视频、相片、日历及附件等与老友、团队或整个网络同享。
Google AppEngine是Google在2008年4月发布的一个渠道,运用户能够在Google的根底架构上开发和布置运转自己的运用程序。现在,Google AppEngine支撑Python言语和Java言语,每个Google AppEngine运用程序能够运用到达500MB的耐久存储空间及可支撑每月500万归纳浏览量的带宽和CPU。而且,Google AppEngine运用程序易于构建和保护,并可依据用户的拜访量和数据存储需求的增加轻松扩展。一起,用户的运用能够和Google的运用程序集成,Google AppEngine还推出了软件开发套件(SDK),包含能够在用户本地核算机上模仿一切Google AppEngine服务的网络服务器运用程序。
四、云核算的中心技能
云核算体系运用了许多技能,其间以编程模型、数据办理技能、数据存储技能、虚拟化技能、云核算渠道办理技能最为要害。
(1)编程模型
MapReduce是Google开发的java、Python、C++编程模型,它是一种简化的散布式编程模型和高效的使命调度模型,用于大规划数据集(大于1TB)的并行运算。严厉的编程模型使云核算环境下的编程非常简略。MapReduce办法的思维是即将履行的问题分解成Map(映射)和Reduce(化简)的办法,先经过Map程序将数据切割成不相关的区块,分配(调度)给许多核算机处理,到达散布式运算的作用,再经过Reduce程序将成果汇整输出。
(2) 海量数据散布存储技能
云核算体系由许多服务器组成,一起为许多用户服务,因而云核算体系选用散布式存储的办法存储数据,用冗余存储的办法确保数据的牢靠性。云核算体系中广泛运用的数据存储体系是Google的GFS和Hadoop团队开发的GFS的开源完成HDFS。
GFS即Google文件体系(Google File System),是一个可扩展的散布式文件体系,用于大型的、散布式的、对许多数据进行拜访的运用。GFS的规划思维不同于传统的文件体系,是针对大规划数据处理和Google运用特性而规划的。它运转于廉价的一般硬件上,但能够供给容错功用。它能够给许多的用户供给全体功能较高的服务。
一个GFS集群由一个主服务器(master)和许多的块服务器(chunkserver)构成,并被许多客户(Client)拜访。主服务器存储文件体系所以的元数据,包含姓名空间、拜访操控信息、从文件到块的映射以及块的当时方位。它也操控体系规划的活动,如块租约(lease)办理,孤儿块的废物搜集,块服务器间的块搬迁。主服务器定时经过HeartBeat音讯与每一个块服务器通讯,给块服务器传递指令并搜集它的情况。GFS中的文件被切分为64MB的块并以冗余存储,每份数据在体系中保存3个以上备份。
客户与主服务器的交流只限于对元数据的操作,一切数据方面的通讯都直接和块服务器联络,这大大进步了体系的功率,避免主服务器负载过重。
(3) 海量数据办理技能
云核算需求对散布的、海量的数据进行处理、剖析,因而,数据办理技能必需能够高效的办理许多的数据。云核算体系中的数据办理技能首要是Google的BT(BigTable)数据办理技能和Hadoop团队开发的开源数据办理模块HBase。
BT是树立在GFS, Scheduler, Lock Service和MapReduce之上的一个大型的散布式数据库,与传统的联系数据库不同,它把一切数据都作为目标来处理,构成一个巨大的表格,用来散布存储大规划结构化数据。
Google的许多项目运用BT来存储数据,包含网页查询,Google earth和Google金融。这些运用程序对BT的要求各不相同:数据巨细(从URL到网页到卫星图象)不同,反应速度不同(从后端的大批处理到实时数据服务)。关于不同的要求,BT都成功的供给了灵敏高效的服务。
(4)虚拟化技能
经过虚拟化技能可完成软件运用与底层硬件相阻隔,它包含将单个资源划分红多个虚拟资源的裂分办法,也包含将多个资源整组成一个虚拟资源的聚合办法。虚拟化技能依据目标可分红存储虚拟化、核算虚拟化、网络虚拟化等,核算虚拟化又分为体系级虚拟化、运用级虚拟化和桌面虚拟化。
(5)云核算渠道办理技能
云核算资源规划巨大,服务器数量很多并散布在不同的地址,一起运转着数百种运用,怎么有用的办理这些服务器,确保整个体系供给不间断的服务是巨大的应战。
云核算体系的渠道办理技能能够使许多的服务器协同作业,便利的进行事务布置和注册,快速发现和康复体系故障,经过主动化、智能化的手法完成大规划体系的牢靠运营。
五、典型云核算渠道介绍
因为云核算技能规划很广,现在各大IT企业供给的云核算服务首要依据自身的特色和优势完成的。下面以Google、IBM、Amazon为例阐明:
(1)Google 的云核算渠道
Google的硬件条件优势,大型的数据中心、查找引擎的支柱运用,促进Google云核算迅速开展。Google的云核算首要由MapReduce、Google文件体系(GFS)、BigTable组成。它们是Google内部云核算根底渠道的3个首要部分。Google 还构建其他云核算组件,包含一个范畴描绘言语以及散布式锁服务机制等。Sawzall是一种树立在MapReduce根底上的范畴言语,专门用于大规划的信息处理。Chubby是一个高可用、散布式数据锁服务,当有机器失效时,Chubby运用Paxos算法来确保备份。
(2)IBM“蓝云”核算渠道
“蓝云”解决方案是由IBM云核算中心开发的企业级云核算解决方案。该解决方案能够对企业现有的根底架构进行整合,经过虚拟化技能和主动化技能,构建企业自己具有的云核算中心,完成企业硬件资源和软件资源的一致办理、一致分配、一致布置、一致监控和一致备份,打破运用对资源的独占,然后协助企业完成云核算理念。
IBM 的“蓝云”核算渠道是一套软、硬件渠道,将Internet上运用的技能扩展到企业渠道上,使得数据中心运用相似于互联网的核算环境。“蓝云”许多运用了IBM先进的大规划核算技能,结合了IBM自身的软、硬件体系以及服务技能,支撑敞开规范与敞开源代码软件。
“蓝云”依据IBM Almaden研究中心的云根底架构,选用了Xen和PowerVM虚拟化软件,Linux操作体系映像以及Hadoop软件(Google File System以及MapReduce的开源完成)。IBM现已正式推出了依据x86芯片服务器体系的“蓝云”产品。下图为IBM “蓝云”的架构:
由图可知,“蓝云”核算渠道由一个数据中心、IBM Tivoli布置办理软件(Tivoli provisioning manager)、IBM Tivoli监控软件(IBM Tivoli monitoring)、IBM WebSphere运用服务器、IBM DB2数据库以及一些开源信息处理软件和开源虚拟化软件一起组成。“蓝云”的硬件渠道环境与一般的x86服务器集群相似,运用刀片的办法增加了核算密度。“蓝云”软件渠道的特色首要表现在虚拟机以及关于大规划数据处理软件Apache Hadoop的运用上。
“蓝云”渠道的一个重要特色是虚拟化技能的运用。虚拟化的办法在“蓝云”中有两个等级,一个是在硬件等级上完成虚拟化,另一个是经过开源软件完成虚拟化。硬件等级的虚拟化能够运用IBM p系列的服务器,取得硬件的逻辑分区LPAR(logic partition)。逻辑分区的CPU资源能够经过IBM Enterprise Workload Manager来办理。经过这样的办法加上在实际运用过程中的资源分配战略,能够使相应的资源合理地分配到各个逻辑分区。p系列体系的逻辑分区最小粒度是1/10颗CPU。Xen则是软件等级上的虚拟化,能够在Linux根底上运转别的一个操作体系。
虚拟机是一类特别的软件,能够彻底模仿硬件的履行,运转不经修正的完好的操作体系,保留了一整套运转环境语义。经过虚拟机的办法,在云核算渠道上取得如下一些长处 :
1)云核算的办理渠道能够动态地将核算渠道定位到所需求的物理节点上, 而无须中止运转在虚拟机渠道上的运用程序,进程搬迁办法愈加灵敏;
2)下降集群电能耗费,将多个负载不是很重的虚拟机核算节点合并到同一个物理节点上,然后能够封闭闲暇的物理节点,到达节省电能的意图;
3)经过虚拟机在不同物理节点上的动态搬迁,搬迁了全体的虚拟运转环境,能够取得与运用无关的负载平衡功能;
4)在布置上也愈加灵敏,即能够将虚拟机直接布置到物理核算渠道上,而虚拟机自身就包含了相应的操作体系以及相应的运用软件,直接将许多的虚拟机映像复制到对应的物理节点即可。
“蓝云”核算渠道中的存储体系结构:“蓝云”核算渠道中的存储体系结构关于云核算来说也是非常重要的,无论是操作体系、服务程序仍是用户的运用程序的数据都保存在存储体系中。“蓝云”存储体系结构包含相似于Google File System 的集群文件体系以及依据块设备办法的存储区域网络SAN。
在规划云核算渠道的存储体系结构时,能够经过组合多个磁盘取得很大的磁盘容量。相关于磁盘的容量,在云核算渠道的存储中,磁盘数据的读写速度是一个更重要的问题,因而需求对多个磁盘进行一起读写。这种办法要求将数据分配到多个节点的多个磁盘傍边。为到达这一意图,存储技能有两个挑选,一个是运用相似于Google File System的集群文件体系,另一个是依据块设备的存储区域网络SAN体系。
在蓝云核算渠道上,SAN 体系与散布式文件体系(例如Google File System)并不是彼此敌对的体系,SAN供给的是块设备接口,需求在此根底上构建文件体系,才干被上层运用程序所运用。而Google File System正好是一个散布式的文件体系,能够树立在SAN之上。两者都能供给牢靠性、可扩展性,至于怎么运用还需求由树立在云核算渠道上的运用程序来决议,这也表现了核算渠道与上层运用彼此协作的联系。
(3)Amazon的弹性核算云
Amazon是互联网上最大的在线零售商,为了敷衍买卖顶峰,不得不购买了许多的服务器。而在大多数时刻,大部分服务器搁置,造成了很大的糟蹋,为了合理运用闲暇服务器,Amazon树立了自己的云核算渠道弹性核算云EC2(elastic compute cloud),而且是第一家将根底设备作为服务出售的公司。
Amazon将自己的弹性核算云树立在公司内部的大规划集群核算的渠道上,而用户能够经过弹性核算云的网络界面去操作在云核算渠道上运转的各个实例(instance)。用户运用实例的付费办法由用户的运用情况决议,即用户只需为自己所运用的核算渠道实例付费,运转完毕后计费也随之完毕。这儿所说的实例便是由用户操控的完好的虚拟机运转实例。经过这种办法,用户不用自己去树立云核算渠道,节省了设备与保护费用。
上图为EC2体系的运用办法。从图中能够看出,弹性核算云用户运用客户端经过SOAP over HTTPS协议与Amazon弹性核算云内部的实例进行交互。这样,弹性核算云渠道为用户或许开发人员供给了一个虚拟的集群环境,在用户具有充沛灵敏性的一起,也减轻了云核算渠道具有者(Amazon公司)的办理担负。弹性核算云中的每一个实例代表一个运转中的虚拟机。用户对自己的虚拟机具有完好的拜访权限,包含针对此虚拟机操作体系的办理员权限。虚拟机的收费也是依据虚拟机的才干进行费用核算的,实际上,用户租借的是虚拟的核算才干。
总而言之,Amazon经过供给弹性核算云,满意了小规划软件开发人员对集群体系的需求,减小了保护担负。其收费办法相对简略明了:用户运用多少资源,只需为这一部分资源付费即可。
为了弹性核算云的进一步开展,Amazon规划了怎么在云核算渠道根底上协助用户开发网络化的运用程序。除了网络零售事务以外,云核算也是Amazon公司的中心价值地点。Amazon将来会在弹性核算云的渠道根底上增加更多的网络服务组件模块,为用户构建云核算运用供给便利。
六、云核算技能开展面对的首要问题
虽然云核算办法具有许多长处,可是也存在的一些问题,如数据隐私问题、安全问题、软件答应证问题、网络传输问题等。
· 数据隐私问题:怎么确保存放在云服务供给商的数据隐私,不被不合法运用,不只需求技能的改善,也需求法令的进一步完善。
· 数据安全性:有些数据是企业的商业秘要,数据的安全性联系到企业的生计和开展。云核算数据的安全性问题解决不了会影响云核算在企业中的运用。
· 用户运用习气:怎么改动用户的运用习气,运用户习惯网络化的软硬件运用是长时间而艰巨的应战。
· 网络传输问题:云核算服务依靠网络,现在网速低且不安稳,使云运用的功能不高。云核算的遍及依靠网络技能的开展。