一、云计算概述
云计算到底是什么呢这个问题上,可谓众说纷纭。比如,在维基百科上的定义是“云计算是一种基于互联 的计算新方式,通过互联 上异构、自治的服务为个人和企业用户提供按需即取的计算”;著名咨询机构 Gartner 将云计算定义为“云计算是利用互联 技术来将庞大且可伸缩的IT能力集合起来作为服务提供给多个客户的技术”;而 IBM 则认为“云计算是一种新兴的IT服务交付方式,应用、数据和计算资源能够通过 络作为标准服务在灵活的价格下快速地提供最终用户”。
虽然这几个定义都有一定的道理,但在我看来还没抓住云计算的核心,在我眼中, 云计算应该有如图 1-1 ,云计算是新一代IT模式,它能在后端庞大的云计算中心的支撑下能为用户提供更方便的体验和更低廉的成本。
(1)服务器供应商的角度
这类型的公司主要包括IBM、HP、Dell和Cisco等。主要有两个方面的变化:其一,是需求方面的变化,虽然中小企业会不断地加大对IT技术使用,但由于它们将会把云服务作为首选,所以对服务器供应商而言,来自中小企业的订单将会不断的减少,但来自云供应商的订单则会大量的增加;其二,是 产品方面的变化,由于大型云计算中心,对硬件有自己一套的设计和想法,所以会希望服务器供应商能生产为它们定制的硬件,这导致服务器供应商他们整体产品的方向将会从原先的以生产通用的x86服务器为主,转变为通用和定制兼顾,而且为云计算做优化的解决方案将受到极大欢迎。虽然云计算将会对部分非常依赖中小企业的硬件厂商带来非常不利的影响, 但是从长期而言,对那些不断创新,并且提出非常优秀的云计算解决方案的硬件厂商,将会脱颖而出,并从云计算大潮中获利丰厚。
(2)软件开发商的角度
最典型的公司有微软、Red Hat 、Oracle和VMware等。主要有三方面的变化:首先,在软件交付方式上的变化,由于虚拟器件(Virtual Appliance)等软件发布格式的引入,使得不仅软件的开发,维护和销售等方面的成本和复杂度得到了降低,而且也加快了软件部署的速度;其次,在软件销售和发布方式上的 变化,由于各种基于云的软件发布平台(比如苹果的App Store 、中国移动的Mobile Market和VMware Virtual Appliance Marketplace等)的出现,使得发布、推广和销售软件越来越简单,而且成本更低。比如,和传统软件发布前期需要大量资金支持不同的是,在苹果的App Store上发布软件的成本基本为零,而且能直面超过5000万iOS系统(包括iPhone 、iPod Touch和iPad)的使用者,同时这些用户的消费能力也是非常强大的;最后,在技术上的变化,软件将与云技术进行深度地整合,比如,应用类的软件,基本上都将选择Web作为其首选的界面,而中间件和底层的系统软件将会为运行在云中做更多的优化。
(3)云终端供应商的角度
这方面的公司有Apple、Nokia、三星和联想等。由于移动设备的轻便型,再加上性能的日渐提高和能方便地接入多种无线 络(比如 WIFI 和 3G 等),所以市场对移动设备需求将与日俱增,而且将来云终端将不会仅是手机、平板和笔记本这几种移动设备,而将会涉及 会的方方面面,比如电视和汽车等,所以在这方面会有非常大创新空间等待着这些公司。
(4)云供应商的角度
相关的公司有国外的Amazon、Google和RackSpace等,国内的有中国移动和中国电信等。随着云计算不断推广和被大众所接受,使得云计算中心在运营的规模上会不断地增大, 这将会给云供应商带来很多机会来降低其运营成本,并提升经营利润,比如,将云计算中心建设在能源成本底的地方(比如电厂附近)或者建在制冷成本低的地方(比如天气寒冷的地点)。而且由于运行的工作负载的规模非常庞大,将整体提高服务器利用率。同时云的业务都属于非常稳定的,所以能给云供应商带来持久的现金流。
(5)整个IT产业的角度
不可否认,在短期内,由于产业结构的变化,云计算有可能将会给整个IT产业带来一定程度的阵痛,但是从长期而言,云计算将会对整个IT产业带来非常正面的影响,因为云计算将推动整个产业的进一步的优化布局和专业分工,并且提供一个让所有IT人不断地创新的舞台,最终,这些参与者会像之前大型机时代和PC时代那样同心协力创造出一整套属于云计算的产业链。
3、云计算的应用
(4)虚拟桌面云
对许多企业而言,桌面系统的安装、配置和维护都是其IT运营非常重要的一个方面,桌面系统的分散管理将给整个IT部门带来沉重的压力,而且相关的数据和信息安全不能受到有效地监控,同时企业更希望能将降低终端桌面系统的整体成本,并且使用起来更稳定和灵活。虚拟桌面云是这方面一个非常不错的解决方案,其是利用了现在成熟的桌面虚拟化技术。桌面虚拟化技术是将用户的桌面环境与其使用的终端进行解耦,在服务器端以虚拟镜像的形式统一存放和运行每个用户的桌面环境,而用户则可通过小型的终端设备来访问其桌面环境。另外,系统管理员可以统一地管理用户在服务器端的桌面环境, 比如安装、升级和配置相应地软件等。这个解决方案比较适合那些需要使用大量桌面系统的企业。相关的产品有Citrix的Xen Desktop和VMware的VMware view。
(5)开发测试云
开发测试总是繁琐、易错和耗时的过程,特别是在准备测试环境上面,还有会遇到诸如测试资源管理混乱,难于重现问题发生的环境和缺乏压力测试所需要的强大计算能力等棘手问题。而开发测试云能有效解决上面这些问题,其通过友好的Web界面,可以预约、部署、管理和回收整个开发测试的环境,通过预先配置好(包括操作系统,中间件和开发测试软件)的虚拟镜像来快速地构建一个个异构的开发测试环境,通过快速备份/恢复等虚拟化技术来重现问题,并利用云的强大的计算能力来对应用进行压力测试,比较适合那些需要开发和测试多种应用的组织和企业,比如银行、电信和政府等。相关解决方案有IBM Smart Business Development and Test Cloud 。
(6)大规模数据处理云
企业需要分析大量的数据来洞察业务发展的趋势,可能的商业机会和存在的问题,从而做出更好、更快和更全面的决策。还有,物联 会采集海量需要处理的数据。大规模数据处理云通过将数据处理软件和服务运行在云计算平台上,能利用云平台的计算能力和存储能力来对海量的数据进行大规模的处理,除了上面提到的物联 之外,还有许多企业和机构都会有这方面的需求。相关产品有Apache的Hadoop等。
(7)协作云
电子邮件、IM(Instant Messaging,即时通讯)、SNS (Social Networking Services , 交 络服务)和通信工具(比如Skype和WebEx)等都是很多企业和个人必备的协作工具,但是维护这些软件和其硬件却是一件让人非常头疼的工作。协作云是云供应商在IDC云的基础上或者直接构建一个专属的云,并在这个云搭建整套的协作软件,并将这些软件共享给用户,非常适合那些需要一定的协作工具,但不希望维护相关的软硬件和支付高昂的软件许可证费用的企业与个人。这方面,最具代表性的产品莫过于IBM的 LotusLive ,它主要包括会议、办公协作和电子邮件这三大服务。当然Google Apps也是不容忽视的,其中Gmail和Gtalk都是协作的利器。
(8)游戏云
由于传统游戏软件容量都非常巨大,无论是单机,还是 游,都需要在游戏之前,花很多时间在下载和安装上,使玩家无法很尽兴地玩游戏,再加上游戏的购置成本偏高,使得玩家在尝试新游戏方面,兴趣骤降。在这方面,业界部分公司推出了游戏云的解决方案,主要有两大类:其一是使用更多基于Web的游戏模式,比如使用JavaScript 、Flash 和Silverlight等技术,并将这些游戏部署到云中,这种解决方案比较适合休闲游戏;其二是为大容量和高画质的专业游戏设计的,整个游戏都将在运行云中,但会将最新生成的画面传至客户端。总之,休闲玩家和专业玩家都会在游戏云找到自己的所爱。在产品方面:第一种游戏云,已经有很多游戏都采用这种方案,比如许多Facebook上的休闲游戏采用了后端云和前端Flash这样的组合;而第二种游戏云,AMD已经发布了类似的技术,但碍于现有的 络环境,所以短时间内不会有特别成熟技术出现。
(9)HPC云
在科学方面HPC(High Performance Computing,高性能计算)领域,现在主要有两方面挑战:其一是供需不平衡,要么是现有的HPC资源太过稀少,无法满足大众的需求,要么就是贫富不均,导致HPC资源无法被合理的分配;其二是现有的HPC设计和需求不符,虽然HPC已经发展了很多年,但是在设计还是将所有的计算资源整合在一起以追求极致速度为主,但是现在的主流需求则常以只需要一小块计算资源为主,这导致HPC计算资源被极大地浪费,所以新一代的高性能计算中心不仅仅需要提供传统的高性能计算,而且还需要增加资源的管理、用户的管理、虚拟化的管理、动态的资源产生和回收等等。这时,基于云计算的高性能计算应运而生,也就是HPC云,其能够为用户提供可以完全定制的高性能计算环境,用户可以根据自己的需求来改变计算环境的操作系统、软件版本和节点规模,从而避免与其他用户的冲突, 并可以成为 格计算的支撑平台,以提升计算的灵活性和便捷性。HPC云特别适合需要使用高性能计算,但缺乏巨资投入的普通企业和学校。北京工业大学已经和IBM合作建设国内第一个HPC云计算中心。
(10)云杀毒
新型病毒的不断涌现,使得杀毒软件的病毒特征库的大小与日俱增,如果在安装杀毒软件的时候,附带安装庞大的病毒特征库的话,将会影响用户的体验,而且杀毒软件本身的运行也会极大地消耗系统的资源。通过云杀毒技术,杀毒软件可以将有嫌疑的数据上传到云中,并通过云中庞大的特征库和强大的处理能力来分析这个数据是否含有病毒,这非常适合那些需要使用杀毒软件来捍卫其电脑安全的用户。现有的杀毒软件都支持一定的云杀毒这个特性,比如360杀毒和金山毒霸等。
二、云计算的架构
在对云计算进行了三年多的研究之后,觉得虽然云计算涉及了很多产品与技术,表面上看起来的确有点纷繁复杂,但是云计算本身还是有迹可循和有理可依的,所以在个人理解的基础上,我总结出了一套云计算的架构,具体请看图 2-1 。
既然理解了计算平台的概念,现在就来看看什么是解决方案堆。解决方案堆由应用程序组成,这些应用程序有助于开发过程和应用程序部署。这些应用程序是指操作系统、运行时环境、源代码控制存储库和必需的所有其他中间件。
2.3 PaaS供应商的选择
解决方案堆也反映不同PaaS公司的差异,在决定采用PaaS之前,需要深入考察各个提供商提供的解决方案堆。在与某家PaaS提供商签约之前,您应该问几个基本问题:
* 它支持哪些框架和语言想情况下,PaaS应该支持基于此平台选用的语言的任何框架。
* 可以创建多少个应用程序多数PaaS提供商会根据您签订的计划或服务包限制可以构建的应用程序数量。要确保提供商提供的计划或服务包能够满足您的需要。
* 允许哪些内容类型span>支持PaaS的基础设施通常涉及多租用者计算的概念,也就是说许多 “租用者” 分享单一服务器上的 “空间”,这些空间由系统管理程序管理的VM实例分隔。PaaS提供商可能会对要驻留的应用程序和内容的类型加以限制。
* 支持哪些数据库类型果您的数据要随应用程序转移,这个问题就是非常重要的。必须确保提供商提供的数据库与您想要用来导入数据的格式兼容。
* 它是否支持SSL (HTTPS)个问题对于确保安全性非常重要。如果您打算通过应用程序处理事务,但是发现不支持SSL,您就遇到大麻烦了。
在比较PaaS提供商时应该考虑的特性:应用程序开发框架、容易使用、业务流程建模(BPM)工具、可用性、可伸缩性、安全性、包容性、可移植性、移植工具、API等。
2.4 PaaS使用的技术
PaaS 层的技术比较多样性,下面是常见的五种:
(1)REST :通过 REST(Representational State Transfer,表述性状态转移)技术,能够非常方便和优雅地将中间件层所支撑的部分服务提供给调用者。
(2)多租户:就是能让一个单独的应用实例可以为多个组织服务,而且能保持良好的隔离性和安全性,并且通过这种技术,能有效地降低应用的购置和维护成本。
(3)并行处理:为了处理海量的数据,需要利用庞大的x86集群进行规模巨大的并行处理,Google的MapReduce是这方面的代表之作。
(4)应用服务器:在原有的应用服务器的基础上为云计算做了一定程度的优化,比如用于Google App Engine的Jetty应用服务器。
(5)分布式缓存:通过分布式缓存技术,不仅能有效地降低对后台服务器的压力,而且还能加快相应的反应速度,最著名的分布式缓存例子莫过于Memcached 。
对于很多PaaS平台,比如用于部署Ruby应用的Heroku云平台,应用服务器和分布式缓存都是必备的,同时REST技术也常用于对外的接口,多租户技术则主要用于SaaS应用的后台,比如用于支撑Salesforce 的CRM等应用的Force.com多租户内核,而并行处理技术常被作为单独的服务推出,比如Amazon的Elastic MapReduce 。
2.5 主要的PaaS产品
(1)Force.com:Force.com是业界第一个PaaS平台,其主要通过提供完善的开发环境和强健的基础设施等来帮助企业和第三方供应商交付健壮的、可靠的和可伸缩的在线应用。还有, Force.com本身是基于Salesforce著名的多租户的架构。
(2)Google App Engine:Google App Engine提供Google的基础设施来让大家部署应用,它还提供一整套开发工具和SDK来加速应用的开发,并提供大量的免费额度来节省用户的开支。
(3)Windows Azure Platform :它是微软推出的PaaS产品,并运行在微软数据中心的服务器和 络基础设施上的,通过公共互联 来对外提供服务,它由具有高扩展性云操作系统、数据存储 络和相关服务组成,而且服务都是通过物理或虚拟的Windows Server 2008实例提供。还有,其附带的Windows Azure SDK(软件开发包)提供了一整套开发、部署和管理Windows Azure云服务所需要的工具和API 。
(4)Heroku:是一个用于部署Ruby On Rails应用的PaaS平台,并且其底层基于Amazon EC2 的IaaS服务,而且在Ruby程序员中有非常好的口碑。
3、基础架构即服务IaaS
基础架构,或称基础设施(Infrastructure)是云的基础。它由服务器、 络设备、存储磁盘等物理资产组成。在使用IaaS时,用户并不实际控制底层基础架构,而是控制操作系统、存储和部署应用程序,还在有限的程度上控制 络组件的选择。
通过IaaS这种模式,用户可以从供应商那里获得他所需要的计算或者存储等资源来装载相关的应用,并只需为其所租用的那部分资源进行付费,而同时这些基础设施繁琐的管理工作则交给IaaS供应商来负责。
IaaS的关键概念:
* 云爆发(cloud bursting)
* 多租户计算(multi-tenant computing)
* 资源共用(resources pooling)
* 虚拟机监控程序(hypervisor)
IaaS最与众不同的两个方面:可伸缩性和虚拟化(elasticity and virtualization)。
对于企业而言,IaaS的巨大价值通过云爆发(cloudbursting)概念实现。云爆发是指当业务瞬间增长,需要大量的计算资源时,将任务负载扩展到云环境的过程。云爆发促成的资本节约潜力巨大,因为企业无需额外投资利用率很低的服务器,那些服务器一年中只有两三次使用 70% 的容量,其余时间仅有 7-10% 的负荷。
3.1 从”基础架构即资产“到”基础架构即服务”
在过去50年之内,大量成功的公司花费大量宝贵时间和资源来构建基础架构,其目标是通过创建一个更大、更快、更强的 络来获取战胜其竞争对手的竞争优势。IT 行业中的 “基础架构即资产” 范式拥有上世纪六七十年代的 “暴力跑车(muscle cars)” 所拥有的相同或类似的低效率和不利特征。对于企业计算,这些低效率包括:
* 大量未使用的计算能力和容量,它们耗费的成本与大型、昂贵的数据中心中的硬件消耗的大量空间相关联。比如服务器一年中可能只有两三次使用70%的容量,其余时间仅有7-10%的负荷。
* 昂贵的人力资源需求,包括要求基础架构资产(服务器、路由器、交换机等)所在的数据中心的 络管理员进行24小时监控。
* 旨在应对高水平能源浪费的Green Computing计划的一个巨大障碍。
IaaS标志着从 “基础架构即资产” 到 “基础架构即服务” 的转变。云计算的其他两个类别也标志着范式转变。对于Platform as a Service (PaaS),转变来自 “平台即资产” 范式,该范式的特征是大量采购许可。同样的转变也适用Software as a Service (SaaS),这种转变是从 “软件以许可形式作为组织资产” 到 “软件以服务形式提供”。
3.2 IaaS的主要特征
(1)可伸缩性
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!