精华内容
下载资源
问答
  • 云计算框架图
    2021-08-12 14:55:50

    在这里插入图片描述

    更多相关内容
  • 云计算的架构

    万次阅读 多人点赞 2017-11-30 09:32:59
    一、云计算概述  云计算到底是什么呢?在这个问题上,可谓众说纷纭。比如,在维基百科上的定义是“云计算是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算”;...

    一、云计算概述

        云计算到底是什么呢?在这个问题上,可谓众说纷纭。比如,在维基百科上的定义是“云计算是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算”;著名咨询机构 Gartner 将云计算定义为“云计算是利用互联网技术来将庞大且可伸缩的IT能力集合起来作为服务提供给多个客户的技术”;而 IBM 则认为“云计算是一种新兴的IT服务交付方式,应用、数据和计算资源能够通过网络作为标准服务在灵活的价格下快速地提供最终用户”。
        虽然这几个定义都有一定的道理,但在我看来还没抓住云计算的核心,在我眼中, 云计算应该有如图 1-1 ,云计算是新一代IT模式,它能在后端庞大的云计算中心的支撑下能为用户提供更方便的体验和更低廉的成本。


        具体而言,由于在后端有规模庞大、非常自动化和高可靠性的云计算中心的存在,人们只要接入互联网,就能非常方便地访问各种基于云的应用和信息, 并免去了 安装和维护等繁琐操作,同时,企业和个人也能以低廉的价格来使用这些由云计算中心提供的服务或者在云中直接搭建其所需的信息服务。在收费模式上,云计算和 水电等公用事业非常类似,用户只需为其所使用的部分付费。对云计算的使用者(主要是个人用户和企业)来讲,云计算将会在用户体验和成本这两方面给他们带来 很多非常实在的好处。 

    1、云计算的特点

        (1)超大规模:大多数云计算中心都具有相当的规模,比如, Google云计算中心已经拥有几百万台服务器, 而Amazon 、IBM 、微软、Yahoo等企业所掌控的云计算规模也毫不逊色,并且云计算中心能通过整合和管理这些数目庞大的计算机集群来赋予用户前所未有的计算和存储能力。
        (2)抽象化:云计算支持用户在任意位置、使用各种终端获取应用服务,所请求的资源都来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置,这样能有效地简化了应用的使用。
        (3)高可靠性:在这方面,云计算中心在软硬件层面采用了诸如数据多副本容错、心跳检测和计算节点同构可互换等措施来保障服务的高可靠性,还在设施层面上的能源、制冷和网络连接等方面采用了冗余设计来进一步确保服务的可靠性。
        (4)通用性:云计算中心很少为特定的应用存在,但其有效支持业界大多数的主流应用,并且一个“云”可以支撑多个不同类型应用的同时运行,并保证这些服务的运行质量。
        (5)高可扩展性:用户所使用“云”的资源可以根据其应用的需要进行调整和动态伸缩,并且再加上前面所提到的云计算中心本身的超大规模,使得“云”能有效地满足应用和用户大规模增长的需要。
        (6)按需服务:“云”是一个庞大的资源池,用户可以按需购买,就象自来水、电和煤气等公用事业那样根据用户的使用量计费,并无需任何软硬件和设施等方面的前期投入。
        (7)廉价:首先,由于云计算中心本身巨大规模所带来的经济性和资源利用率的提升,其次,“云”大都采用廉价和通用的 X86 节点来构建,因此用户可以充分享受云计算所带来的低成本优势,经常只要花费几百美元就能完成以前需要数万美元才能完成的任务。
        (8)自动化:云中不论是应用、服务和资源的部署,还是软硬件的管理,都主要通过自动化的方式来执行和管理,从而极大地降低整个云计算中心庞大的人力成本。
        (9)节能环保:云计算技术能将许许多多分散在低利用率服务器上的工作负载整合到云中,来提升资源的使用效率,而且云由专业管理团队运维,所以其PUE(Power Usage Effectiveness ,电源使用效率值)值和普通企业的数据中心相比出色很多,比如, Google数据中心的PUE值在 1.2 左右,也就是说,每一块钱的电力花在计算资源上,只需再花两角钱电力在制冷等设备,而常见的PUE在2和3之间,并且还能将云建设在水电厂等洁净资源旁边,这样既能进一步节省能源方面开支,又能保护了环境。
        (10)完善的运维机制:在“云”的另一端,有全世界最专业的团队来帮用户管理信息,有全世界最先进的数据中心来帮用户保存数据。同时,严格的权限管理策略可以保证这些数据的安全。这样,用户无需花费重金就可以享受到最专业的服务。
        由于这些特点的存在,使得云计算能为用户提供更方便的体验和更低廉的成本,同时这些特点也是为什么云计算能脱颖而出,并且能被大多数业界人员所推崇的原因之一。

    2、云计算的影响

        虽然云计算最初只是由IBM和Google这两家公司所主导的,但是就像图1-4所示那样云计算将会对整个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、云计算的应用

        有些 IT 从业人员在谈到云计算的时候,总是认为云计算只是广告词而已,实际的用处是非常有限。对于这种看法,我不以为然,因为不仅云计算的部分技术已经落地,而且云计算将在 IT 产业各个方面都有其用武之地,在这里,选择十个比较典型的应用场景来加以介绍。
        (1)IDC云
        传统IDC(Internet Data Center,互联网数据中心)的服务已经无法满足用户的需求,用户期望更强大、更方便和更灵活的IDC服务。IDC云是在IDC原有数据中心的基础上,加入更多云的基因,比如系统虚拟化技术、自动化管理技术和智慧的能源监控技术等。通过IDC的云平台,用户能够使用到虚拟机和存储等资源。还有,IDC可通过引入新的云技术来提供许多新的具有一定附加值的服务,比如,PaaS等。现在已成型的IDC云有Linode和Rackspace等。
        (2)企业云
        对任何大中型企业而言, 80%的IT资源都用于维护现有应用的,而不是让IT更好地为业务服务。使用专业的企业云解决方案来提升企业内部数据中心的自动化管理程度,将整个 IT 服务的思维从过去的软硬件思维转变为以提供服务为主,使得IT人员能分出精力来为业务创新,成为半个业务人员。企业云对于那些需要提升内部数据中心的运维水平和希望能使整个IT服务更围绕业务展开的大中型企业非常适合。相关的产品和解决方案有IBM的WebSphere CloudBurst Appliance、Cisco的UCS和VMware的vSphere等。企业自己使用的云也称为私有云,位于公司防火墙之内,由组织自己管理。它们是在企业内部创建和控制的云服务。私有云具有许多与公有云相同的优点,主要差异在于您的组织负责创建和维护云。公有云是供一般公众或大型行业组织使用的云,由销售云服务的组织拥有和供应。公有云被看作一般意义上的云;也就是说,离站的第三方提供商使用web应用程序通过Internet动态地供应资源,它们提供共享的资源并按使用量收费。
        (3)云存储系统
        由于数据是企业的非常重要的资产和财富,所以需要对数据进行有效的存储和管理,而且普通的个人用户也需要大量的存储空间用于保存大量的个人数据和资料,但由于本地存储在管理方面缺失,使得数据的丢失率非常高。而云存储系统能解决上面提到这些问题,它是通过整合网络中多种存储设备来对外提供云存储服务,并能管理数据的存储、备份、复制和存档,还有,良好的用户界面和强大的API支持也是不可或缺的。云存储系统非常适合那些需要管理和存储海量数据的企业,比如互联网企业,电信公司等,还有广大的网民。相关的产品有中国电信的E云、 Amazon的S3云存储服务、 Google的Picasa相册和微软的SkyDrive网络硬盘等。

        (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 。


        上面这个云架构共分为服务和管理这两大部分。

        在服务方面,主要以提供用户基于云的各种服务为主,共包含三个层次:其一是Software as a Service软件即服务,简称SaaS,这层的作用是将应用主要以基于Web的方式提供给客户;其二是Platform as a Service平台即服务,简称PaaS,这层的作用是将一个应用的开发和部署平台作为服务提供给用户;其三是Infrastructure as a Service基础架构即服务,简称IaaS,这层的作用是将各种底层的计算(比如虚拟机)和存储等资源作为服务提供给用户。从用户角度而言,这三层服务,它们之间关系是独立的,因为它们提供的服务是完全不同的,而且面对的用户也不尽相同。但从技术角度而言,云服务这三层之间的关系并不是独立的,而是有一定依赖关系的,比如一个SaaS层的产品和服务不仅需要使用到SaaS层本身的技术,而且还依赖PaaS层所提供的开发和部署平台或者直接部署于IaaS层所提供的计算资源上,还有,PaaS层的产品和服务也很有可能构建于IaaS层服务之上。
        在管理方面,主要以云的管理层为主,它的功能是确保整个云计算中心能够安全和稳定的运行,并且能够被有效地管理。 

    1、软件即服务SaaS

        软件即服务(SaaS)为商用软件提供基于网络的访问。您有可能已经使用过SaaS,即使您当时并不知道。SaaS的示例太多了,例如Netflix、Photoshop.com、Acrobat.com、Intuit QuickBooks Online、Gmail、Google Docs、Office Web Apps、Zoho、WebQQ、新浪微盘等等。可能不太明显的SaaS实现包括移动应用程序市场中的相当一部分。

        SaaS为企业提供一种降低软件使用成本的方法 — 按需使用软件而不是为每台计算机购买许可证。尤其是考虑到大多数计算机在差不多70%的时间是空闲的,SaaS可能非常有效。企业不必为单一用户购买多个许可证,而是让许可证的使用时间尽可能接近100%,从而尽可能节省成本。

    1.1 SaaS的优势

        SaaS 给软件厂商提供了新的机会。尤其是,SaaS软件厂商可以通过四个因素提高 ROI(投资回报):提高部署的速度、增加用户接受率、减少支持的需要、降低实现和升级的成本。
        (1)提高部署的速度
        在过去,部署传统的桌面应用程序需要很大的工作量。实际上,我曾经多次听到桌面应用程序开发人员把更新他们的应用程序称为 “部署噩梦”。正如Tariq Ahmed在Flex 4 in Action (Manning Press) 的第1章中指出的,“要想让数千甚至数万客户机同时运行软件的某一版本,后勤方面的复杂性是非常高的。”
        Ahmed说,复杂性这么高,以致于大多数桌面软件开发公司甚至认为这根本不合理或不可行。过去受到这个问题困扰的开发商应该考虑部署软件的SaaS版本。但是,妨碍传统软件开发公司进入SaaS市场的最大障碍是让桌面应用程序能够作为SaaS应用程序运行。在许多情况下,这需要在某种程度上重新编写软件,一些公司觉得这么做成本太高。
        这正是向云计算转移的过程比较缓慢且平缓的主要原因之一。在大多数情况下,符合逻辑的解决方案是分阶段地把软件转移到云中,首先以SaaS的形式提供原应用程序的高度简化的版本。考虑到开发商对版本控制的控制水平,这么做是很合理的。在这里,分析一下SaaS的特点会很有帮助。
        您可以看出在云计算与过去的 “LAN 计算” 之间有许多相似之处。典型的LAN架构由站内的许多工作站组成,它们常常被称为哑终端,它们通过连接强大的大型机(常常由IBM 提供)运行应用程序。这种计算类型过去非常适合企业,因 IT部门能够完全控制版本,可以非常方便地多次部署更新。同样,过去妨碍桌面软件应用程序开发商进行版本控制的后勤障碍在云中也不存在,因为软件在开发公司能够直接访问的基础设施上运行。
        考虑到SaaS必须能够服务的客户机数量,SaaS基础设施的规模要比LAN大得多。但是底层的概念是相同的。大型机能够驻留足够多的软件实例,从而为本地网络中连接它的所有客户机提供服务;而云由许多不同的计算机资源组成,它们共同提供计算能力,从而运行为世界各地的客户机提供服务所需的许多软件实例。 

        (2)增加接受率
        如果您走出企业,看看SaaS对于一般消费者的意义,就会发现以前一些软件的许可证费用太高,而现在SaaS让一般消费者能够以合理的价格使用它们。一个好例子是 Adobe 以SaaS的形式提供Adobe Photoshop。尽管这项工作是Adobe正在做的试验,但是已经取得了一些效果。例如,我注意到在需要执行简单的照片编辑任务时,在我的朋友和家庭成员中越来越多的人开始使用Photoshop.com进行基本的照片编辑,而不是启动全功能的版本。出现这种趋势的原因是,不需要完整版本中的功能的人现在可以省钱。与此同时,过去不使用Photoshop的人也开始使用Photoshop.com了,这给Adobe带来了争取新的长期客户的机会,扩大了潜在客户的范围。
        SaaS提供的多种业务模型尤其有吸引力。例如,Intuit 以SaaS的形式提供QuickBooks Online,按月收取服务费。作为经常旅行的企业主,我发现这种服务非常有用,尤其是因为我的业务伙伴住在400英里外的另一个州里。同时,Adobe在Photoshop.com和Acrobat.com中应用了SaaS,以freemium服务的形式提供软件 — freemium服务是指一种基于许可证软件产品的SaaS缩略版的业务模型。
        freemium SaaS基于的收入模型是,预计免费用户中的一部分最终会觉得软件很有用,他们会升级到启用了更多特性的SaaS付费版本,或者购买包含所有特性和功能的桌面版本的许可证。这种方法往往比通过 “受限制的演示” 模式试用软件更好,因为演示模式要求用户在桌面计算机上安装他们可能不会购买的应用程序。另外,如果免费用户中升级的比例低于预期,还可以通过广告进一步补充这个模型。随着云计算的发展,传统的桌面软件厂商经常使用这种方法适应市场的变化。
        (3)减少支持的需要
        大型客户服务中心的成本很高,不得不支持多种平台会导致支持问题增加,而SaaS可以大大缓解这些难题。首先,部署的简便性让开发人员能够在发现bug之后很快进行修复,这意味着大多数bug可以在大量用户遇到它们之前被修复,这会减少客户支持部门接到的电话数量,提高客户满意度,降低客户流失的可能性。
        另外,传统桌面软件应用程序的开发商常常必须支持多种平台。例如,开发商可能必须支持Windows 7和Apple Mac OS X 10.6操作系统,添加对第二种操作系统的支持差不多会让开发成本加倍;而且,如果支持这些操作系统的许多不同版本,问题会更多。支持操作系统的多个版本还会产生限制。
        例如,如果您要构建一个在Windows 7上运行的程序,但是它必须与Windows XP兼容,就必须非常小心,要确保特性和功能在这两个版本上都能够运行;否则,就必须把项目分为两个分支,为每个版本开发单独的代码,这会不可避免地降低生产力和效率,延长完成项目的预期时间。让业务执行官心跳加速的最快方法之一是,告诉他后两年的预期开发进度要减慢一半儿。另外,支持不同的操作系统和这些操作系统的不同版本会增加预算;这个问题和其他因素导致目前软件开发项目的失败率非常高。
        (4)降低实现和升级的成本
        SaaS推动ROI的第四个因素与第一个因素有点儿相似。但是,部署的速度是指快速、简便地部署应用程序更新所带来的好处。与之相反,降低实现和升级的成本是指开发公司由于能够控制版本和运行软件的基础设施所获得的经济利益。
        因为开发商可以控制运行软件的平台(平台通常对于用户完全透明),所以他们不必负担在多个平台上测试和部署bug补丁和新特性的额外开销,这会节省大量资金。这让SaaS应用程序的升级成本更低。节省的大量时间和资金让开发商有机会更好地响应客户的请求并增强易用性,从而提高客户满意度,降低客户流失的可能性,这会带来间接的经济利益。

    1.2 SaaS的用户体验设计

        SaaS 应用程序代表着一种新一代应用程序设计方式。尽管在我目前看到的文档中没有明确地指出,但是看起来SaaS程序也带来了一种新的UI设计方式,这种方式与大多数其他行业中的产品设计流程更一致。这种方式包含一个称为用户体验设计 (UXD) 的流程,在这个流程中由产品团队而不是开发团队设计GUI。
        UXD的主要目的是,确定哪些特性会让应用程序对于目标客户最有价值,并在设计中融入这些知识。尽管对于是否应该在所有类型的软件的开发中都执行这个流程有争议,但是在SaaS应用程序开发中这种做法非常普遍。出现这种现象的原因可能是,SaaS可以实现的业务模型与传统软件不同,需要执行UXD;而且通过开发SaaS可以节省大量时间和资金,让开发商有能力执行UXD。

    1.3 SaaS使用的技术

        由于SaaS层离普通用户非常接近,所以在SaaS层所使用到的技术,大多耳熟能详,下面是其中最主要的五种:
        (1)HTML :标准的Web页面技术,现在主要以HTML4为主,但是即将推出的HTML5会在很多方面推动Web页面的发展,比如视频和本地存储等方面。
        (2)JavaScript :一种用于Web页面的动态语言,通过JavaScript ,能够极大地丰富Web页面的功能,最流行的JS框架有jQuery和Prototype 。
        (3)CSS :主要用于控制Web页面的外观,而且能使页面的内容与其表现形式之间进行优雅地分离。
        (4)Flash :业界最常用的RIA(Rich Internet Applications)技术,能够在现阶段提供HTML等技术所无法提供的基于Web的富应用,而且在用户体验方面,非常不错。
        (5)Silverlight :来自业界巨擎微软的RIA技术,虽然其现在市场占有率稍逊于Flash,但由于其可以使用C#来进行编程,所以对开发者非常友好。
        在SaaS层的技术选型上,首先,由于通用性和较低的学习成本,大多数云计算产品都会比较倾向HTML 、JavaScript和CSS这对黄金组合,但是在HTML5被大家广泛接受之前,RIA技术在用户体验方面,还是具有一定的优势,所以Flash和Silverlight也将会有一定的用武之地,比如VMware vCloud就采用了基于Flash的Flex技术,而微软的云计算产品肯定会在今后大量使用Silverlight技术。

    2、平台即服务PaaS

       平台即服务(Platform as a Service,PaaS)提供对操作系统和相关服务的访问。它让用户能够使用提供商支持的编程语言和工具把应用程序部署到云中。用户不必管理或控制底层基础架构,而是控制部署的应用程序并在一定程度上控制应用程序驻留环境的配置。PaaS的提供者包括Google App Engine、Windows Azure、Force.com、Heroku等。小企业软件工作室是非常适合使用PaaS的企业。通过使用云平台,可以创建世界级的产品,而不需要负担内部生产的开销。

        通过PaaS这种模式,用户可以在一个提供SDK(Software Development Kit,即软件开发工具包)、文档、测试环境和部署环境等在内的开发平台上非常方便地编写和部署应用,而且不论是在部署,还是在运行的时候,用户都无需为服务器、 操作系统、网络和存储等资源的运维而操心,这些繁琐的工作都由PaaS云供应商负责。而且PaaS在整合率上面非常惊人,比如一台运行Google App Engine的服务器能够支撑成千上万的应用,也就是说, PaaS是非常经济的。 PaaS主要面对的用户是开发人员。

    2.1 PaaS的优势

        在软件开发过程中,一些东西常常会出问题。以我的经验,设置服务器环境以驻留开发团队要构建的Web应用程序可能会带来许多争吵。即使在最大的企业中,通常一位网络管理员要负责为几个开发团队服务。在不使用PaaS的情况下,设置开发或测试环境通常需要完成以下任务:
        * 获取并部署服务器。
        * 安装操作系统、运行时环境、源代码控制存储库和必需的所有其他中间件。
        * 配置操作系统、运行时环境、存储库和其他中间件。
        * 转移或复制现有的代码。

        * 测试并运行代码以确保一切正常。
        在很多情况下,管理员已经非常忙了,所以让他们抽出时间部署新环境会很困难。对于客户机和服务器端的web应用程序开发人员来说,另一个主要问题是在本地复制运行时环境以便执行测试。
        现在,想像一下您是使用PaaS的开发团队的成员。在这种情况下,您会有一个虚拟机 (VM),其中包含完整的服务器环境,可以把它放在USB闪存驱动器中带在身边。这无疑是非常方便的。一般来说,和现有的基于本地的开发和部署环境相比,PaaS平台主要有下面这六方面有非常大的优势:
        (1)友好的开发环境:通过提供SDK和IDE(Integrated Development Environment ,集成开发环境)等工具来让用户不仅能在本地方便地进行应用的开发和测试,而且能进行远程部署。
        (2)丰富的服务:PaaS平台会以API的形式将各种各样的服务提供给上层的应用。
        (3)精细的管理和监控:PaaS能够提供应用层的管理和监控,比如能够观察应用运行的情况和具体数值(比如吞吐量Throughput和响应时间Response Time等)来更好地衡量应用的运行状态,还有能够通过精确计量应用使用所消耗的资源来更好地计费。
        (4)伸缩性强: PaaS 平台会自动调整资源来帮助运行于其上的应用更好地应对突发流量。
        (5) 多租户(Multi-Tenant)机制:许多PaaS平台都自带多租户机制,不仅能更经济地支撑庞大的用户规模,而且能提供一定的可定制性以满足用户的特殊需求。
        (6)整合率和经济性:PaaS平台整合率是非常高,比如PaaS的代表Google App Engine能在一台服务器上承载成千上万的应用。

    2.2 PaaS的主要成分

        了解 PaaS 的最好方法可能是把它分解为主要组件:平台和服务。现在,考虑提供的服务,这称为解决方案堆。也就是说,PaaS 的两个主要成分是计算平台和解决方案堆。
        为了说明这两个 “成分”,我们进一步研究一下它们的定义。按照最简单的形式,计算平台是指一个可以一致地启动软件的地方(只要代码满足平台的标准)。平台的常见示例包括 Windows、Apple Mac OS X和Linux操作系统;用于移动计算的Google Android、Windows Mobile和Apple iOS;以及作为软件框架的Adobe AIR和Microsoft .NET Framework。要记住的重点是,计算平台不是指软件本身,而是指构建并运行软件的平台。图4提供一张示意图以帮助理解这种关系。


    图2-2. 云计算分类与PaaS元素之间关系的图形化解释 

        既然理解了计算平台的概念,现在就来看看什么是解决方案堆。解决方案堆由应用程序组成,这些应用程序有助于开发过程和应用程序部署。这些应用程序是指操作系统、运行时环境、源代码控制存储库和必需的所有其他中间件。

    2.3 PaaS供应商的选择

        解决方案堆也反映不同PaaS公司的差异,在决定采用PaaS之前,需要深入考察各个提供商提供的解决方案堆。在与某家PaaS提供商签约之前,您应该问几个基本问题:
        * 它支持哪些框架和语言?理想情况下,PaaS应该支持基于此平台选用的语言的任何框架。
        * 可以创建多少个应用程序?大多数PaaS提供商会根据您签订的计划或服务包限制可以构建的应用程序数量。要确保提供商提供的计划或服务包能够满足您的需要。
        * 允许哪些内容类型?支持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)可伸缩性

        可伸缩性是IaaS的首要关键特征。为了阐述可伸缩的概念,我需要您展开想象。假设云由一些粘在一起的棉花糖簇组成,这样人们就可以坐在它们上面。每个棉花糖都能承载一定数量的人,具体取决于组成云的棉花糖簇的数量和那些簇中包含的棉花糖的数量。随着越来越多的人登上棉花糖云,您可以通过粘贴更多的棉花糖来扩展棉花糖簇,增加表面面积。您可能已经明白,人代表需要计算资源的应用程序,比如承载网站并运行软件的资源。棉花糖簇代表VM集群,每个棉花糖代表一 VM。
        尽管这听起来有点像Seuss博士的书中可能出现的内容,但它提供了一种方法来理解许多黑魔法(dark art)考虑的一个概念:可伸缩的集群(elastic clustering)。集群化几个物理服务器来形成一个虚拟云称为云集群(cloud clustering),如果它真是一种黑魔法,则精通程度可以通过一位艺术家的系统设计的可伸缩性来衡量。
        我们来看一个例子。假设您是一位为美国政府工作的统计研究员。政府有点人手不足,您刚刚接受一个任务,需要编辑最近的美国人口统计的所有数据。您负责制定必要的统计数据,以便议会能够制定关于经济恢复资金分配和从现在起三天内的税收金额的重要决策。毋庸讳言,这是一项非常重要的工作,您的时间有点紧张。而且,您必须处理的数据量简直是个天文数字,您刚刚发现,编辑那些统计数据需要的计算资源需要IT部门三周时间才能准备好!
        这种问题正是您可以使用IaaS轻松缓解的。事实上,使用IaaS,您可以在一小时之内完成全美人口普查数据分析。您首先创建一个服务器的单个实例,这个服务器包含在数据上运行查询需要的数据库软件。这个实例称为一个映像。当您部署映像并将数据导入数据库之后,就可以根据需要复制那个映像任意多次,并开始运行您的数据处理任务。当任务运行时,您可以手动或自动添加和移除资源。例如,如果计算任务的运行速度不够快,只需将更多机器实例副本添加到集群。 

        (2)虚拟化

        IaaS很容易定位,因为它通常是独立于平台的。IaaS有一个硬件和软件资源组合组成。IaaS软件是低级代码,独立于操作系统运行,例如虚拟机监控程序。虚拟机监控程序负责管理硬件资源的库存并根据需要分配上述资源(见图 2-3)。这个过程称为资源共用(resource pooling)虚拟机监控程序实现的资源共用使得虚拟化成为可能,虚拟化使多租户计算(multi-tenant computing)成为可能。多租户计算概念指由几个组织共享的一个基础架构,这些组织在安全需求和遵从性问题方面有类似的兴趣。


    图2-3. VMs、虚拟机监控程序和计算机之间的关系 

        通过 IaaS,您拥有提供处理、存储、网络和其他计算资源的能力,您可以在那里部署和运行任意软件,比如操作系统和应用程序。大多数云计算用例遵循您已经习惯的基础分层结构:一个软件解决方案堆栈或平台被部署在一个网络基础架构上,一些应用程序在那个平台之上运行。但是,虚拟化使得云范式独一无二。

    3.3 IaaS的优势

        IaaS服务和传统的企业数据中心相比,在很多方面都存在一定的优势,下面是最明显的五个。
        (1)免维护:主要的维护工作都有IaaS云供应商负责,所以不必用户操心。
        (2)非常经济:首先免去了用户前期的硬件购置成本,而且由于IaaS云大都采用虚拟化技术,所以在应用和服务器的整合率普遍在10以上,这样能有效降低使用成本。
        (3)开放标准:虽然很多IaaS平台都存在一定的私有功能,但是由于OVF等应用发布协议的诞生,使得IaaS在跨平台方面稳步前进,从而使得应用能在多个IaaS云上灵活的迁移,而不会被固定在某个企业数据中心内。
        (4)支持的应用:因为IaaS主要是提供虚拟机,而且普通的虚拟机能支持多种操作系统,所以IaaS所支持应用的范围是非常广泛的。
        (5)伸缩性强:IaaS云只需几分钟就能提供用户一个新的计算资源,而传统的企业数据中心则往往需要几周时间,并且计算资源可以根据用户需求来调整其资源的大小。

    3.4 IaaS使用的技术

        在IaaS所采用的技术方面,都是一些比较底层的技术,其中有四种技术是比较常用的:
        (1)虚拟化:也可以理解它为基础设施层的“多租户”,因为通过虚拟化技术,能够在一个物理服务器上生成多个虚拟机,并且能在这些虚拟机之间能实现全面的隔离, 这样不仅能减低服务器的购置成本,而且还能同时降低服务器的运维成本,成熟的x86虚拟化技术有VMware的ESX和开源的Xen 。
        (2)分布式存储:为了承载海量的数据,同时也要保证这些数据的可管理性,所以需要一整套分布式的存储系统,在这方面, Google 的GFS是典范之作。
        (3)关系型数据库:基本是在原有的关系型数据库的基础上做了扩展和管理等方面的优化,使其在云中更适应。
        (4)NoSQL:为了满足一些关系数据库所无法满足的目标,比如支撑海量的数据等,一些公司特地设计一批不是基于关系模型的数据库,比如Google的BigTable和Facebook的Cassandra等。
        现在大多数的IaaS服务都是基于Xen的,比如Amazon的EC2等,但VMware也推出了基于ESX技术的vCloud ,同时业界也有几个基于关系型数据库的云服务,比如Amazon 的RDS(Relational Database Service,关系型数据库服务)和Windows Azure SDS(SQL Data Services, SQL数据库服务)等。关于分布式存储和NoSQL,它们已经被广泛用于云平台的后端,比如Google App Engine的Datastore就是基于BigTable和GFS这两个技术之上的,而Amazon则推出基于NoSQL技术的Simple DB 。

    3.5 主要的IaaS产品

        最具代表性的IaaS产品有Amazon EC2、IBM Blue Cloud、Cisco UCS和Joyent。
        (1)Amazon EC2。EC2主要以提供不同规格的计算资源(也就是虚拟机)为主。它基于著名的开源虚拟化技术Xen。通过Amazon的各种优化和创新, EC2不论在性能上还是在稳定性上都已经满足企业级的需求。而且它还提供完善的API和Web管理界面来方便用户使用。这种IaaS产品得到业界广泛地认可和接受,其中就包括部分大型企业,比如著名的纽约时报。
        (2)IBM Blue Cloud。“蓝云”解决方案是由IBM云计算中心开发的业界第一个,同时也是在技术上比较领先的企业级云计算解决方案。该解决方案可以对企业现有的基础架构进行整合,通过虚拟化技术和自动化管理技术来构建企业自己的云计算中心,并实现对企业硬件资源和软件资源的统一管理、统一分配、统一部署、统一监控和统一备份,也打破了应用对资源的独占,从而帮助企业能享受到云计算所带来的诸多优越性。
        (3)Cisco UCS。它是下一代数据中心平台,在一个紧密结合的系统中整合了计算、网络、存储与虚拟化功能。该系统包含一个低延时、无丢包和支持万兆以太网的统一网络阵列以及多台企业级x86架构刀片服务器等设备,并在一个统一的管理域中管理所有资源。用户可以通过在UCS上安装VMWare vSphere来支撑多达几千台虚拟机的运行。通过Cisco UCS,能够让企业快速在本地数据中心搭建基于虚拟化技术的云环境。
        (4)Joyent。它提供基Open Solaris技术的IaaS服务。其IaaS服务中最核心的是Joyent SmartMachine。与大多数的IaaS服务不同的是,它并不是将底层硬件按照预计的额度直接分配给虚拟机,而是维护了一个大的资源池,让虚拟机上层的应用直接调用资源,并且这个资源池也有公平调度的功能,这样做的好处是优化资源的调配,并且易于应对流量突发情况,同时使用人员也无需过多关注操作系统级管理和运维。

        总结:

        为帮助您理解云计算的这三个类别,我创建了一个跨概念矩阵供您参考:

    表 1. 三个云计算类别的跨概念矩阵

     范型转变特征关键词汇优点缺点和风险不应该使用的场合
    基础设施即服务 (IaaS)基础设施即资产常常独立于平台;分担基础设施成本,因此会降低成本;服务水平协议 (SLA);按使用量付费;自我伸缩网格计算,效用计算,计算实例,系统管理程序,暴雨 (cloudbursting),多租用者计算,资源池避免在硬件和人力资源方面花费资产费用;降低 ROI 风险;降低进入门槛;简化和自动化伸缩过程企业效率和生产力很大程度上取决于厂商的能力;可能会增加长期成本;集中化需要新的/不同的安全措施当资产预算大于运营预算时
    平台即服务 (PaaS)许可证购买消费云基础设施;能够满足敏捷的项目管理方法解决方案堆简化的版本部署集中化需要新的/不同的安全措施
    SaaS软件即资产(企业和消费者)SLA;由 “瘦客户机” 应用程序提供 UI;云组件;通过 API 进行通信;无状态;松散耦合;模块化;语义性互操作能力瘦客户机;客户机-服务器应用程序避免在软件和开发资源方面花费资产费用;降低 ROI 风险;简化和迭代式的更新数据的集中化需要新的/不同的安全措施

    三、云管理层

        虽然和前面云服务的3层相比,熟悉云管理层的人非常少,但是它确实是云最核心的部分,就好像一个公司离不开其董事会的管理一样。与过去的数据中心相比,云最大的优势在于云管理的优越性。云管理层也是前面3层云服务的基础,并为这3层提供多种管理和维护等方面的功能和技术。如下图所示,云管理层共有9个模块,这9个模块可分为3层,它们分别是用户层、机制层和检测层。


    1、用户层

        顾名思义,这层主要面向使用云的用户,并通过多种功能来更好地为用户服务,共包括4个模块:用户管理、客户支持、服务管理和计费管理。
        (1)用户管理
        对于任何系统而言,对于用户的管理都是必需的,云也是如此。云方面的用户管理主要有3种功能。其一是账号管理,包括对用户身份及其访问权限进行有效地管理,还包括对用户组的管理;其二是单点登录,英文为“Single Sign On”,其意义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,这个机制可以极大地方便用户在云服务之间进行切换;其三是配置管理,对与用户相关的配置信息进行记录、管理和跟踪,配置信息包括虚拟机的部署、配置和应用的设置信息等。
        (2)客户支持
        好的用户体验对于云而言也是非常关键的,所以帮助用户解决疑难问题的客户支持是必需的,并且需要建设一整套完善的客户支持系统,以确保问题能按照其严重程度或者优先级来依次进行解决,而不是一视同仁。这样,能提升客户支持的效率和效果。
        (3)计费管理
        利用底层监控系统所采集的数据来对每个用户所使用的资源(比如所消耗CPU的时间和网络带宽等)和服务(比如调用某个付费API的次数)进行统计,来准确地向用户索取费用,并提供完善和详细的报表。
        (4)服务管理
        大多数云都在一定程度上遵守SOA(Service-Oriented Architecture,面向服务的架构)的设计规范。SOA的意思是将应用不同的功能拆分为多个服务,并通过定义良好的接口和契约来将这些服务连接起来,这样做的好处是能使整个系统松耦合,从而使整个系统能够通过不断演化来更好地为客户服务。而一个普通的云也同样由许许多多的服务组成,比如部署虚拟机的服务、启动或者关闭虚拟机的服务等,而管理好这些服务对于云而言是非常关键的。服务管理主要有下面这5个功能。
        * 管理接口。提供完善的关于服务的Web管理界面和API接口。
        * 自定义服务。能让用户对服务进行自定义和扩展。
        * 服务调度。配备强健的机制来负责服务的调度,以使服务能在合理的时间内被系统调用和处理。
        * 监控服务。利用底层的监控系统来观测服务实际的运行情况。
        * 流程管理。提供一个工具来让用户将多个服务整合为一个流程,并对它进行管理以提升运行效率。

    2、机制层

        这层主要提供各种用于管理云的机制。通过这些机制,能让云计算中心内部的管理更自动化、更安全和更环保。和用户层一样,该层也包括4个模块:运维管理、资源管理、安全管理和容灾支持。
        (1)运维管理
        云的运行是否出色,往往取决于其运维系统的强健和自动化程度。而和运维管理相关的功能主要包括3个方面。首先是自动维护:运维操作应尽可能地专业和自动化,从而降低云计算中心的运维成本。其次是能源管理:它包括自动关闭闲置的资源,根据负载来调节CPU的频率以降低功耗并提供关于数据中心整体功耗的统计图与机房温度的分布图等来提升能源的管理,并相应地降低浪费。还有就是事件监控:它是通过对在数据中心发生的各项事件进行监控,以确保在云中发生的任何异常事件都会被管理系统捕捉到。
        (2)资源管理
        这个模块和物理节点的管理相关,比如服务器、存储设备和网络设备等,它涉及下面这3个功能。其一是资源池:通过使用资源池这种资源抽象方法,能将具有庞大数量的物理资源集中到一个虚拟池中,以便于管理。其二是自动部署:也就是将资源从创建到使用的整个流程自动化。其三是资源调度:它将不仅能更好地利用系统资源,而且能自动调整云中资源来帮助运行于其上的应用更好地应对突发流量,从而起到负载均衡的作用。
        (3)安全管理
        安全管理是对数据、应用和账号等IT资源采取全面保护,使其免受犯罪分子和恶意程序的侵害,并保证云基础设施及其提供的资源能被合法地访问和使用。主要包括下面这7种机制。
        * 访问授权。为多个服务提供集中的访问控制,以确保应用和数据只能被有授权的用户访问。
        * 安全策略。实现基于角色或者规则的一整套安全策略,而且还允许系统能模拟策略发生变更的情况以提升安全策略的健壮性
        * 安全审计。对安全相关的事件进行全面审计,以检测是不是存在任何隐患。
        * 物理安全。根据职责限定每个云管理人员不同的权限,比如门禁等。
        * 网络隔离。使用VPN(Virtual Private Network,虚拟专用网络)、SSL(Secure Sockets Layer,安全套接层)和VLAN(Virtual Local Area Network,虚拟局域网)等技术来确保网络的隔离和安全。
        * 数据加密。这个机制能确保即使数据被窃取,也不会被非法分子利用。相关的机制有:对称加密和公钥加密等。
        * 数据备份。由于数据完整性对云计算而言是基本要求,所以除了通过上面这些机制来确保数据不会被没有权限的人访问之外,还需要对数据进行备份,以避免由于磁盘损坏或者管理不当导致数据丢失的情况,所以需要完善的备份服务来满足每个用户不同的备份策略。
        (4)容灾支持
        在容灾方面,主要涉及两个层面。其一是数据中心级别。如果数据中心的外部环境出现了类似断电、火灾、地震或者网络中断等严重的事故,将很有可能导致整个数据中心不可用,这就需要在异地建立一个备份数据中心来保证整个云服务持续运行。这个备份数据中心会实时或者异步地与主数据中心进行同步,当主数据中心发生问题的时候,备份数据中心会自动接管在主数据中心中运行的服务。其二是物理节点级别。系统需要检测每个物理节点的运行情况,如果一个物理节点出现问题,系统会试图恢复它或者将其屏蔽,以确保相关云服务正常运行。

    3、检测层

        这层比较简单,主要监控这个云计算中心的方方面面,并采集相关数据,以供用户层和机制层使用。
        (1)监控系统
        全面监控云计算的运行主要涉及3个层面。其一是物理资源层面,主要监控物理资源的运行状况,比如CPU使用率、内存利用率和网络带宽利用率等。其二是虚拟资源层面,主要监控虚拟机的CPU使用率和内存利用率等。其三是应用层面,主要记录应用每次请求的响应时间(Response Time)和吞吐量(Throughput),以判断它们是否满足预先设定的SLA(Service Level Agreement,服务级别协议)。

    四、架构示例

        在现实的IT环境中,有许多云计算产品都符合本章所讲述的架构,其中比较知名的有Salesforce CRM和Google App Engine。为了帮助大家进一步理解云的架构,本节将以这两个著名的云计算产品为例来进行介绍。

    1、Salesforce CRM

        首先,从用户角度而言,Salesforce CRM属于SaaS层服务,主要通过在云中部署可定制化的CRM应用,来让企业用户在初始投入很低的情况下使用CRM,并且可根据自身的流程来灵活地定制,而且用户只需接入互联网就能使用。从技术角度而言,Salesforce CRM像很多SaaS产品一样,不仅用到SaaS层的技术,而且还用到PaaS层、IaaS层和云管理层的技术。图2-3为Salesforce CRM在技术层面上大致的架构。


        Salesforce CRM采用的主要技术包括以下几种。
        * SaaS层。基于HTML、JavaScript和CSS这个黄金组合。
        * PaaS层。在此层,Salesforce引入了多租户内核和为支撑此内核运行而定制的应用服务器。
        * IaaS层。虽然在后端还是使用在企业环境中很常见的Oracle数据库,但是它为了支撑上层的多租户内核作了很多优化。
        * 云管理层。Salesforce不仅在用户管理、计费管理、监控系统和资源管理这4个方面有不错的支持,而且在安全管理方面,它更是提供了多层保护,并支持SSL加密技术等。

    2、Google App Engine

        像前文介绍的那样,Google App Engine是一款PaaS服务,它主要提供一个平台来让用户在Google强大的基础设施上部署和运行应用程序,同时App Engine会根据应用所承受的负载来对应用所需的资源进行调整,并免去用户对应用和服务器等的维护工作,而且支持Java和Python这两种语言。在技术上,由于App Engine属于PaaS平台,所以关于显示层的技术选择由应用的自身需求而定,而与App Engine无关。App Engine本身的设计主要集中在PaaS层、IaaS层和云管理层。关于App Engine在技术层面上大致的架构,具体请看图2-4。


        Google App Engine采用的主要技术有以下几种。
        * PaaS层。既有经过定制化的应用服务器,比如上面已经提到过的Jetty,也有基于Memcached的分布式缓存服务。
        * IaaS层。在分布式存储GFS的基础上提供了NoSQL数据库BigTable来持久化应用的数据。
        * 云管理层。由于App Engine基于Google强大的分布式基础设施,所以它在运维管理技术方面非常出色,同时其计费管理能做到非常细粒度的API级计费,而且App Engine在监控系统和资源管理这两方面都有非常好的支持。

    五、云的4种模式

        虽然从技术或者架构角度看,云计算都是比较单一的,但是在实际情况下,为了适应用户不同的需求,它会演变为不同的模式。在NIST(National Institute of Standards and Technology,美国国家标准技术研究院)的名为“The NIST Definition of Cloud Computing”的这篇关于云计算概念的著名文档中,共定义了云的4种模式,它们分别是:公有云、私有云、混合云和行业云。接下来,将详细介绍每种模式的概念、构建方式、优势、不足之处及其对未来的展望等。

    1、公有云

        公有云是现在最主流也就是最受欢迎的云计算模式。它是一种对公众开放的云服务,能支持数目庞大的请求,而且因为规模的优势,其成本偏低。公有云由云供应商运行,为最终用户提供各种各样的IT资源。云供应商负责从应用程序、软件运行环境到物理基础设施等IT资源的安全、管理、部署和维护。在使用IT资源时,用户只需为其所使用的资源付费,无需任何前期投入,所以非常经济,而且在公有云中,用户不清楚与其共享和使用资源的还有其他哪些用户,整个平台是如何实现的,甚至无法控制实际的物理设施,所以云服务提供商能保证其所提供的资源具备安全和可靠等非功能性需求。
        许多IT巨头都推出了它们自己的公有云服务,包括Amazon的AWS、微软的Windows Azure Platform、Google的Google Apps与Google App Engine等,一些过去著名的VPS和IDC厂商也推出了它们自己的公有云服务,比如Rackspace的Rackspace Cloud和国内世纪互联的CloudEx云快线等。
        (1)构建方式
        在构建方式方面,现在主要有3种方法。其一是独自构建:云供应商利用自身优秀的工程师团队和开源的软件资源,购买大量零部件来构建服务器、操作系统,乃至整个云计算中心。这种独自构建的好处是,能为自己的需求作最大限度的优化,但是需要一个非常专业的工程师团队,所以业界这样做的基本上只有Google一家。其二是联合构建:云供应商在构建的时候,在部分软硬件上选择商业产品,而其他方面则会选择自建。联合构建的好处是避免自己的团队涉足一些不熟悉的领域,而在自己所擅长的领域上大胆创新。这方面最明显的例子莫过于微软。在硬件方面,它并没有像Google那样选择自建,而是采购了HP和戴尔的服务器,但是在其擅长的软件方面选择了自主研发,比如采用了Windows Server 2008、IIS服务器和.NET框架。其三是购买商业解决方案。由于有一部分云供应商在建设云之前缺乏相关的技术积累,所以会稳妥地购买比较成熟的商业解决方案。这样购买商业解决方案的做法虽然很难提升云供应商自身的竞争力,但是在风险方面和前两种构建方式相比,它更稳妥。在这方面,无锡的云计算中心是一个不错的典范。由于无锡购买了IBM的Blue Cloud云计算解决方案,所以在半年左右的时间内就能向其整个高新技术园区开放公有云服务,而且在这之前,无锡基本上没有任何与云计算相关的技术储备。
        (2)优势
        公有云在许多方面都有其优越性,下面是其中的4个方面。
        * 规模大。因为公有云的公开性,它能聚集来自于整个社会并且规模庞大的工作负载,从而产生巨大的规模效应。比如,能降低每个负载的运行成本或者为海量的工作负载作更多优化。
        * 价格低廉。由于对用户而言,公有云完全是按需使用的,无需任何前期投入,所以与其他模式相比,公有云在初始成本方面有非常大优势。而且就像上面提到的那样,随着公有云的规模不断增大,它将不仅使云供应商受益,而且也会相应地降低用户的开支。
        * 灵活。对用户而言,公有云在容量方面几乎是无限的。就算用户所需求的量近乎疯狂,公有云也能非常快地满足。
        * 功能全面。公有云在功能方面非常丰富。比如,支持多种主流的操作系统和成千上万个应用。
        (3)不足之处
        另外,公有云也有一些不足之处。
        * 缺乏信任。虽然在安全技术方面,公有云有很好的支持,但是由于其存储数据的地方并不是在企业本地,所以企业会不可避免地担忧数据的安全性。
        * 不支持遗留环境。由于现在公有云技术基本上都是基于x86架构的,在操作系统上普遍以Linux或者Windows为主,所以对于大多数遗留环境没有很好地支持,比如基于大型机的Cobol应用。
        (4)对未来的展望
        由于公有云在规模和功能等方面的优势,它会受到绝大多数用户的欢迎。从长期而言,公有云将像公共电厂那样毋庸置疑会成为云计算最主流甚至是唯一的模式,因为在规模、价格和功能等方面的潜力实在太大了。但是在短期之内,因为信任和遗留等方面的不足会降低公有云对企业的吸引力,特别是大型企业。

    2、私有云

        关于云计算,虽然人们谈论最多的莫过于以Amazon EC2和Google App Engine为代表的公有云,但是对许多大中型企业而言,因为很多限制和条款,它们在短时间内很难大规模地采用公有云技术,可是它们也期盼云所带来的便利,所以引出了私有云这一云计算模式。私有云主要为企业内部提供云服务,不对公众开放,在企业的防火墙内工作,并且企业IT人员能对其数据、安全性和服务质量进行有效地控制。传统的企业数据中心相比,私有云可以支持动态灵活的基础设施,降低IT架构的复杂度,使各种IT资源得以整合和标准化。
        在私有云界,主要有两大联盟:其一是IBM与其合作伙伴,主要推广的解决方案有IBM Blue Cloud和IBM CloudBurst;其二是由VMware、Cisco和EMC组成的VCE联盟,它们主推的是Cisco UCS和vBlock。在实际的例子方面,已经建设成功的私有云有采用IBM Blue Cloud技术的中化云计算中心和采用Cisco UCS技术的Tutor Perini云计算中心。
        (1)构建方式
        创建私有云的方式主要有两种。首先是独自构建,通过使用诸如Enomaly和Eucalyptus等软件将现有硬件整合成一个云。这比较适合预算少或者希望重用现有硬件的企业。其次是购买商业解决方案。通过购买Cisco的UCS和IBM的Blue Cloud等方案来一步到位,这比较适合那些有实力的企业和机构。
        (2)优势
        由于私有云主要在企业数据中心内部运行,并且由企业的IT团队来进行管理,所以这种模式在下面这5个方面有出色的表现。
        * 数据安全。虽然每个公有云的供应商都对外宣称,其服务在各方面都非常安全,特别是在数据管理方面,但是对企业而言,特别是大型企业而言,和业务相关的数据是其生命线,是不能受到任何形式的威胁和侵犯的,而且需要严格地控制和监视这些数据的存储方式和位置。所以短期而言,大型企业是不会将其关键应用部署到公有云上的。而私有云在这方面是非常有优势的,因为它一般都构筑在防火墙内,企业会比较放心。
        * 服务质量(SLA)。因为私有云一般在企业内部,而不是在某一个遥远的数据中心中,所以当公司员工访问那些基于私有云的应用时,它的服务质量应该会非常稳定,不会受到远程网络偶然发生异常的影响。
        * 充分利用现有硬件资源。每个公司,特别是大公司,都会存在很多低利用率的硬件资源,可以通过一些私有云解决方案或者相关软件,让它们重获“新生”。
        * 支持定制和遗留应用。现有公有云所支持应用的范围都偏主流,偏x86,对一些定制化程度高的应用和遗留应用就很有可能束手无策,但是这些往往都属于一个企业最核心的应用,比如大型机、Unix等平台的应用。在这个时刻,私有云可以说是一个不错的选择。
        * 不影响现有IT管理的流程。对大型企业而言,流程是其管理的核心,如果没有完善的流程,企业将会成为一盘散沙。实际情况是,不仅企业内部和业务有关的流程非常多,而且IT部门的自身流程也不少,而且大多都不可或缺,比如那些和Sarbanes-Oxley相关的流程。在这方面,私有云的适应性比公有云好很多,因为IT部门能完全控制私有云,这样他们有能力使私有云比公有云更好地与现有流程进行整合。
        (3)不足之处
        另外,私有云也有其不足之处,主要是成本开支高。因为建立私用云需要很高的初始成本,特别是如果需要购买大厂家的解决方案时更是如此;其次,由于需要在企业内部维护一只专业的云计算团队,所以其持续运营成本也同样偏高。
        (4)对未来的展望
        在将来很长一段时间内,私有云将成为大中型企业最认可的云模式,而且将极大地增强企业内部的IT能力,并使整个IT服务围绕着业务展开,从而更好地为业务服务。

    3、混合云

        混合云虽然不如前面的公有云和私有云常用,但已经有类似的产品和服务出现。顾名思义,混合云是把公有云和私有云结合到一起的方式,即它是让用户在私有云的私密性和公有云灵活的低廉之间做一定权衡的模式。比如,企业可以将非关键的应用部署到公有云上来降低成本,而将安全性要求很高、非常关键的核心应用部署到完全私密的私有云上。
        现在混合云的例子非常少,最相关的就是Amazon VPC(Virtual Private Cloud,虚拟私有云)和VMware vCloud了。比如,通过Amazon VPC服务能将Amazon EC2的部分计算能力接入到企业的防火墙内。
        (1)构建方式
        混合云的构建方式有两种。其一是外包企业的数据中心。企业搭建了一个数据中心,但具体维护和管理工作都外包给专业的云供应商,或者邀请专业的云供应商直接在厂区内搭建专供本企业使用的云计算中心,并在建成之后,负责今后的维护工作。其二是购买私有云服务。通过购买Amazon等云供应商的私有云服务,能将一些公有云纳入到企业的防火墙内,并且在这些计算资源和其他公有云资源之间进行隔离,同时获得极大的控制权,也免去了维护之苦。
        (2)优势
        通过使用混合云,企业可以享受接近私有云的私密性和接近公有云的成本,并且能快速接入大量位于公有云的计算能力,以备不时之需。
        (3)不足之处
        现在可供选择的混合云产品较少,而且在私密性方面不如私有云好,在成本方面也不如公有云低,并且操作起来较复杂。
        (4)对未来的展望
        混合云比较适合那些想尝云计算的企业和面对突发流量但不愿将企业IT业务都迁移至公有云的企业。虽然混合云不是长久之计,但是它应该也会有一定的市场空间,并且也将会有一些厂商推出类似的产品。

    4、行业云

        行业云虽然较少提及,但是有一定的潜力,主要指的是专门为某个行业的业务设计的云,并且开放给多个同属于这个行业的企业。
        虽然行业云现在还没有一个成熟的例子,但盛大的开放平台颇具行业云的潜质,因为它能将其整个云平台共享给多个小型游戏开发团队,这样这些小型团队只需负责游戏的创意和开发即可,其他和游戏相关的烦琐的运维可转交给盛大的开放平台来负责。
        (1)构建方式
        在构建方式方面,行业云主要有两种方式。其一是独自构建:某个行业的领导企业自主创建一个行业云,并与其他同行业的公司分享。其二是联合构建:多个同类型的企业可以联合建设和共享一个云计算中心,或者邀请外部的供应商来参于其中。
        (2)优势
        能为行业的业务作专门的优化。和其他的云计算模式相比,这不仅能进一步方便用户,而且能进一步降低成本。
        (3)不足之处
        缺点是支持的范围较小,只支持某个行业,同时建设成本较高。
        (4)对未来的展望
        行业云非常适合那些业务需求比较相似,而且对成本非常关注的行业。虽然现在还没有非常好的示例,但是对部分行业应该存在一定的吸引力,比如上面提到的游戏业。
        本文主要在技术层面(特别是在云计算的架构方面)对云计算进行了详细描述,并且介绍了SaaS、PaaS和IaaS这3个云服务层,以及作为云计算中心“大脑”的云管理层,同时也讨论了公有云、私有云、混合云和行业云这4种主要的云计算模式。

    展开全文
  • 云计算架构参考模型

    2021-01-07 16:41:03
    1 所示是美国国家标准与技术研究所(简称 NIST)定义的通用云计算架构参考模型,中列举了主要的云计算参与者,以及他们各自的分工。 NIST 云计算架构参考模型定义了 5 种角色,分别是云服务消费者、云服务提供...
  • 一、对云计算概念的理解及云计算的当前发展状况 (1)对云计算概念的理解: 云计算不是一种技术,它是一种概念。“云”实质上就是一个网络,狭义上讲,云计算就是一种提供资源的网络,使用者可以随时获取“云”上的...

    一、对云计算概念的理解及云计算的当前发展状况
    (1)对云计算概念的理解:
    云计算不是一种技术,它是一种概念。“云”实质上就是一个网络,狭义上讲,云计算就是一种提供资源的网络,使用者可以随时获取“云”上的资源,按需求量使用,并且可以看成是无限扩展的,只要按使用量付费就可以,“云”就像自来水厂一样,我们可以随时接水,并且不限量,按照自己家的用水量,付费给自来水厂就可以。
    从广义上说,云计算是与信息技术、软件、互联网相关的一种服务,这种计算资源共享池叫做“云”,云计算把许多计算资源集合起来,通过软件实现自动化管理,只需要很少的人参与,就能让资源被快速提供。也就是说,计算能力作为一种商品,可以在互联网上流通,就像水、电、煤气一样,可以方便地取用,且价格较为低廉。总之,云计算不是一种全新的网络技术,而是一种全新的网络应用概念,云计算的核心概念就是以互联网为中心,在网站上提供快速且安全的云计算服务与数据存储,让每一个使用互联网的人都可以使用网络上的庞大计算资源与数据中心。
    云计算是继互联网、计算机后在信息时代有一种新的革新,云计算是信息时代的一个大飞跃,未来的时代可能是云计算的时代,虽然目前有关云计算的定义有很多,但总体上来说,云计算虽然有许多得含义,但概括来说,云计算的基本含义是一致的,即云计算具有很强的扩展性和需要性,可以为用户提供一种全新的体验,云计算的核心是可以将很多的计算机资源协调在一起,因此,使用户通过网络就可以获取到无限的资源,同时获取的资源不受时间和空间的限制。

    在这里插入图片描述

    (2)云计算的当前发展状况:

    云计算已经从新颖的概念,发展成为许多企业首选的组织模式。从共享文档到智能手机数据备份,到服务器数据云端调度,云计算从技术层面开始越来越多地触动我们的生活。云计算正快速成为帮助个人和企业真正高效运作的有力的生产工具。
      一、市场规模。据Global Industry Analysts报告显示,到2017年,全球市场云计算服务规模将达到1270亿美元。其中SaaS服务,将从2011年的135亿美元在2016年增长至328亿美元。
      二、云计算正在改变软件部署模型,其中关键因素之一是它改变了许多关键的许可和交付模式的企业工具。云也改变了其他工具和服务,平台即服务(PaaS),基础设施即服务(IaaS)和数据库即服务(DBaaS)是基于云计算的部署模型在企业的一些应用。
    三、云计算能够帮助节约成本,这也是很多组织采用云产品的原因之一。例如,相比从前高昂的网站服务器托管价格,作为云计算的基础设施部署,云服务器价格相对低廉且具有弹性合理的计费模式。调查研究表明,对于成本和时间的节省,是致使企业选择云计算的最重要的因素。
    四、系统集成商。系统集成商可以帮助用户来构建云计算的相关软硬件平台,尤其是相关企业具有的私有云。相关代表厂商包括Google、Amazon、Oracle、 Sun、IBM、 HP等。Oracle 2005年用58亿美元成功收购了Siebel 公司,从而举进入了云计算领域前列。自从Oracle收购Sun之后,开发了利用Sun服务器作为相应硬件、使用Java来作为基础架构的一种编程工具。Oracle 可以支持数据中心按需提供相应服务,开发的“POD”架构。

    五、服务提供商和电信运营商。这一领域包含了为企业以及个人用户供应计算及存储资源的IaaS公司,例如提供新型数据中心服务的GoGrid、Amazon,电信运营商AT&T、Verizon等,还有为应用开发者提供相应开发平台的PaaS公司譬如微软Azure、Force.com 以及GoogleApp等。
    

    二、OpenStack各个项目的功能及他们之间的关系

    (1)OpenStack各个项目的功能
    OpenStack的基础管理服务包含Keystone,Glance,Nova,Neutron,Horizon五个服务。
      Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库。
      Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板。
      Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信。
      Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板。
      Horizon:控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard。

    OpenStack的扩展管理服务包含Cinder,Swift,Trove,Heat,Centimeter五个服务。
      Cinder:提供管理存储节点的Cinder相关,同时提供Cinder在Horizo中的管理面板。
      Swift:提供管理存储节点的Swift相关,同时提供Swift在Horizon中的管理面板。
      Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。
    OpenStack的网络节点仅包含Neutron服务。
    Neutron:负责管理私有网段与公有网段的通信,以及管理虚拟机网络之间的通信/拓扑,管理虚拟机之上的防火等等
    其中网络节点包含三个网络端口。
    OpenStack的计算节点包含Nova,Neutron,Telemeter三个服务。
    1)基础服务
    Nova:提供虚拟机的创建,运行,迁移,快照等各种围绕虚拟机的服务,并提供API与控制节点对接,由控制节点下发任务。
    Neutron:提供计算节点与网络节点之间的通信服务。
    2)扩展服务
      Telmeter:提供计算节点的监控代理,将虚拟机的情况反馈给控制节点,是Centimeter的代理服务。

    OpenStack的存储节点包含Cinder,Swift等服务。
    Cinder:块存储服务,提供相应的块存储,简单来说,就是虚拟出一块磁盘,可以挂载到相应的虚拟机之上,不受文件系统等因素影响,对虚拟机来说,这个操作就像是新加了一块硬盘,可以完成对磁盘的任何操作,包括挂载,卸载,格式化,转换文件系统等等操作,大多应用于虚拟机空间不足的情况下的空间扩容等等。
    Swift:对象存储服务,提供相应的对象存储,简单来说,就是虚拟出一块磁盘空间,可以在这个空间当中存放文件,也仅仅只能存放文件,不能进行格式化,转换文件系统,大多应用于云磁盘/文件。

    (2)Openstack各个组件之间的关系
    E 版本有5个组件

    Compute 是 Nova;Image 是 Glance,为 Nova 提供镜像存储服务;Object 是提供 Object 存储服务的 Swift;Dashboard 是我们平时说的 Horizon;Identity 是 Keystone;
    F版本有7各组件,核心组件:

    有这七个组件可以搭出一个相对完整的云计算环境,Heat、Sahala 是可选的;相对 E 版本,新增加的两个组件分别是 Block Storage Cinder 和 Network Neutron,这两个组件和 Glance,Swift 之间没有直接的联系,实际上是从 Compute Network 和 Compute Volume 发展出来的,Neutron 组件并没有直接的去替换 Compute Network,它是一个相对独立的,也是非常著名的 SDN 的一个项目,它为 Compute 提供网络连接,提供网络的资源管理这样一些服务,Block Storage(也就是 Cinder)为 Compute 提供块存储服务,替换了 Compute Volume.

    三、实验完成情况:
    在这里插入图片描述

    (1)完成到那一部分并简述遇到的问题
    本学期课程的学习我的Openstact搭建到了6.1章。
    当我做到安装NFS软件包的时候,下载不成功,后来发现没有挂载HDFS导致下载失败,但因为时间不够的原因没有继续往下做,如果再给我一点时间我相信我一定可以全部完成。

    在这里插入图片描述

    (2)已完成的部分遇到的问题
    在这里插入图片描述
    在这里插入图片描述

    当我配置IP地址的时候,只有controller和network可以ping通,controller和compute1、compute2不能ping通,后来换了IP地址可以ping通了,原来是老师分配的IP地址有人误用了,导致冲突。
    还有就是遇到了下面两个截图的问题。
    在这里插入图片描述
    在这里插入图片描述

    后来发现是因为安装NFS软件包失败的一系列后续错误。

    展开全文
  • 云计算-基于框架核心语义依存的句子相似度计算研究.pdf
  • 云计算-基于数据库的计算平台框架的设计与实现.pdf
  • OpenStack实验手册 第一部分 基础环境准备 Vmware WorkStation的安装 安装Vmware WorkStation 12 Pro版本一路保持默认设置即可安装过程即将完成时输入激活码进行...依次点击编辑/虚拟网络编辑器如下所示 选择VMnet8
  • 云计算框架的搭建

    千次阅读 2019-04-16 18:35:51
    一、什么是云计算平台  云计算平台也称为云平台。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。 二、云计算平台服务特征  ...

    一、什么是云计算平台
      云计算平台也称为云平台。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。

    二、云计算平台服务特征
      (1)服务无处不在--用户只需要一台具备基本计算能力的计算设备以及一个有效的互联网连接,就可以随时随地使用该服务。从这个意义来讲,任何联网的应用,都具备成为云计算平台的潜力。

    (2)具备进入成本--用户具备使用该服务的需求,但是并不具备独立提供该服务的经济或者技术条件。譬如说某些企业需要定期地进行大规模的运算,但是并不值得专门为此购置一台具备大规模运算能力的计算设备。超算中心通过发展客户群让多个用户来分担超级计算机的成本,使得其用户能够在不拥有计算设备的情况下以较小的成本完成计算任务。

    (3)用户决定应用--云计算平台提供计算能力(包括处理器、内存、存储、网络接口),但是并不关心用户的应用类型。用户利用云计算平台所提供的计算能力,并且充分考虑云计算平台所设定的(技术和经济)限制,开发出丰富多彩的应用。满足如上几个条件的云计算平台,又可以按照其所提供服务之层次细分为基础设施服务(IaaS,例如在线存储和数据库服务)、平台即服务(PaaS,例如AMP虚拟主机和JavaEE应用服务器容器)和软件即服务(SaaS,例如GoogleDocs)。很多厂商在提到云计算的时候,往往会同时提到分布式计算(DistributedCompuTIng)、并行计算(ParalleCompuTIng)、网格计算(GridCompuTIng)、实用计算(UTIlityComputing)等等概念。事实上用户并不关心这些五花八门的新名词,他们所关心的仅仅是某项服务是否可用以及使用该服务所需要的成本。说得难听点,这些概念仅仅是云计算平台提供商在创建云计算平台时才需要了解的技术细节,它们可以被认为是云计算的表象,但并不是云计算的本质。

    云计算平台是什么_云计算平台的搭建_云计算平台的功能

    三、云计算平台的功能
      云计算平台使企业可以更有效地利用其IT硬件和软件投资。企业可以通过该基础结构打破相互隔离的系统中固有的物理障碍,对系统群的管理犹如对单个实体那样自动进行。对于提供信息服务、降低IT管理复杂性、促进创新、以及通过实时工作负载均衡来提高响应能力而言,云计算平台都是最好的选择。

    下面我们通过几个场景来看看使用云计算平台之后的情况:

    1)当你需要使用服务资源的时候:

    用户可以通过一个简单的Web界面联机提交使用服务资源的申请。他们可以为自己的项目指定期望的开始日期和结束日期。数据中心管理员可以批准或拒绝这个申请。批准后自动化服务管理平台就会从可用的资源池中选择适合的服务器、存储、操作系统和软件等资源,并且根据所申请的资源配置要求对这些资源进行部署。用户只需在等待很短的时间后就会收到平台自动发送的信息,告知用户所需求的资源已经部署完毕,可以使用。

    2)当服务资源出现紧张的时候:

    虚拟世界需要大量的计算能力,当虚拟空间扩大或登录用户增多时尤其如此。大型多人在线网络游戏(MMPOG)就是超大型虚拟世界的典范。一些商业化虚拟世界拥有多达几百万的注册用户,并且由数千台服务器提供支持。

    托管虚拟世界的企业可以通过自动化服务管理平台中的实时监控器,显示当前基础结构的使用情况,或者显示虚拟世界的任何指定“区域”中客户的平均响应时间。该企业发现A区域的用户数量大幅增加,导致资源使用增加,响应时间正在减缓,而此时X区域和Y区域的用户数量较少,负载较低。于是,该企业可以在自动化服务管理平台中通过手动的方式重新平衡资源,(当然我们也可以预先在平台中定义好资源平衡使用的策略,这样在发生资源使用紧张的时候,管理平台就可以按照定义好的策略自动触发相应的操作)分别从X区域和Y区域分别撤出5台服务器,并将这10台服务器提供给A区域使用,用来缓解负载。几分钟后,这10台服务器重新分配完成,而这个过程没有对任何区域中的任何用户造成影响,A区域的响应时间也恢复到可接受的水平。该企业通过重新利用未充分使用的设备,极大地节省了成本,并保持了较高的客户满意度、避免了用户需要呼叫帮助中心来寻求帮助,并且在几分钟之内就完成了以前需要几天或几周时间来完成的工作。

    用户对于云计算平台的主要需求包括:

    云计算平台最好是一个基于Web的门户服务形式,用户可以很方便的登录并申请所需的资源。

    平台应该可以通过自动或者半自动的方式发现数据中心中的可用资源并提供给用户选择使用。

    平台应该可以得到流程引擎的支持,可以整合管理流程(例如ITIL),例如申请、批准、评审和审计等功能。

    云计算平台的后端应该是一系列用来进行部署、监控、计费的系统,满足用户对于申请资源的要求。

    自动化供应

    用户通过基于角色的Web门户网站来实现自动化供应。用户在门户网站填写一张表单来定义其硬件平台、CPU、内存、存储、操作系统、中间件和团队成员及其相关角色等信息。整个过程大约需要5分钟。通过门户网站提交请求之后,数据中心管理员会得到通知,并登录以批准、修改和/或拒绝该请求。一旦批准,系统就会启动一个定义好的自动化工作流程来完成整个部署工作。完全自动化的供应流程符合安全要求,减少了人为原因造成的错误,大大缩短了系统部署的时间。

    预订和调度

    在提交服务申请时,需要用户了解资源使用的时间情况。因为在提交申请时需要用户填写服务的开始和结束时间,这样便于数据中心的管理人员对于资源使用情况有所了解。在服务到达结束时间时,系统会自动将资源收回,以便可以给其他需要资源的服务来使用。当然用户可以变更服务的结束时间,这也是管理平台的重要功能之一,我们将在下面的部分说明。

    变更管理

    在某些项目中可以能会面临开发延期或者新需求等有关的一些未知因素。这些未知因素有时会使遵守合同规定的结束日期变得困难,当结束日期在项目延期之前几个月便得到确认时,这种情况尤其明显。因此,系统允许用户请求延长其原定的合同结束日期。

    经过授权的项目成员可以登录到平台门户网站,请求延长合同结束日期。数据中心管理员从资源能力和业务合理性两方面对该请求进行评估。管理员可以登录到Web界面来查看该请求,并进行审批操作。新的日期一经批准,将会执行相应的任务,也会对合同进行更新以反映新的结束日期。

    更改合同

    云计算平台还提供对于服务申请资源的变更功能。对于采用新技术或未经测试技术的高风险项目而言,经常需要变更服务器的操作系统、软件等资源。

    云计算平台的合同变更功能非常灵活,用户可以在原有的系统中添加或删除软件组件或者连同操作系统完全重新部署。用户也可以向现有合同中添加服务器或者去除服务器,或者在符合要求的硬件系统上,也可以选择增加或减少分配给一个或多个虚拟机的资源数量。当变更申请提交后,整个系统的变更操作都是自动进行的,无需人工介入,系统可以在很短的时间内完成变更申请,提供给用户使用。
      四、云计算平台搭建方法
      目前开源的云计算平台的搭建都要依托Linux系统,因此我们有2种办法搭建云计算平台:安装Linux系统和在其他操作系统下安装Linux虚拟机后搭建云平台。目前主流的虚拟机有:

    VirtualBox

    Vmware

    有了Linux系统环境后就能搭建云计算平台了,几大开源云平台系统有:

    Hadoop系统

    OpenStack

    云计算平台的搭建=Linux系统+开源云平台+SSH框架。

    云计算平台是什么_云计算平台的搭建_云计算平台的功能

    五、云计算平台原理
      1.Hadoop系统原理
      Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,其最核心的设计包括:Map Reduce和HDFS。基于 Hadoop,你可以轻松地编写可处理海量数据的分布式并行程序,并将其运行于由成百上千个结点组成的大规模计算机集群上。

    简单的说:Map Reduce框架的核心步骤主要分两部分:Map和Reduce。当你向Map Reduce框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map任务,然后分配到不同的节点上去执行,每一个Map任务处理输入数据中的一部分,当Map任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce任务的输入数据。Reduce对数据做进一步处理之后,输出最终结果。

    Map Reduce是Hadoop的核心技术之一,为分布式计算的程序设计提供了良好的编程接口,并且屏蔽了底层通信原理,使得程序员只需关心业务逻辑本事,就可轻易的编写出基于集群的分布式并行程序。从它名字上来看,大致可以看出个两个动词Map和Reduce,“Map(展开)”就是将一个任务分解成为多个子任务并行的执行,“Reduce”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果并输出。

    适合用 Map Reduce来处理的数据集(或任务)有一个基本要求:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。

    想要彻底了解Hadoop系统的原理是十分困难的,由于篇幅有限,知识水平也不高,我只能描写其大概面貌,本次课程设计的核心是学习搭建与运用云计算平台,没有足够的时间与精力去完全了解Hadoop的原理,在这里我们不妨就理解为:

    Hadoop系统=HDFS分布式文件系统+Map Reduce运算机制。

    这样就能很好的明白它们的大致关系,有助于对后面实验的理解。

    云计算平台是什么_云计算平台的搭建_云计算平台的功能

    2.Ubuntu系统
      本次课程设计所使用的Linux系统是ubuntu14。

    Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“Ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和GNOME桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    LTS 是 Ubuntu 的长期支持版,因此 Ubuntu 14.04 支持周期长达 3-5 年。因此 Ubuntu 14.04 是追求稳定的用户和企业的最佳选择。所以本次课程设计选择ubuntu14.04LTS版本完全能够应付云平台搭建与相关实验的任务。

    云计算平台是什么_云计算平台的搭建_云计算平台的功能

    六、云计算平台搭建过程
      1.Ubuntu系统的安装
      去Ubuntu官网下载好对应版本的系统镜像,并用虚拟光驱软件加载镜像,选择安装Ubuntu系统,一路点击继续后大约10来分钟就可以安装好Ubuntu系统了。

    2.Hadopp系统部署
      修改机器名:

    打开/etc/hostname文件,将/etc/hostname文件中的Ubuntu改为你想取的机器名。这里我取“s15“。重启系统后才会生效。

    安装ssh服务:

    在terminal窗口中输入:Sudoaapt-getinstallopenssh-server

    建立ssh无密码登录本机

    在terminal窗口中输入:

    ssh-keygen-tdsa-P‘’-f~/.ssh/id_dsa

    cat/.ssh/id_dsa.pub》》/.ssh/authorized_keys

    登录localhost:

    在terminal窗口中输入:bin/start-all.sh

    安装Hadoop:

    下载Hadoop安装包并解压,打开Hadoop/conf/Hadoop.sh文件,配置conf/Hadoop.sh:找到#exportJAVA_HOME=。。。一行,去掉#,然后加上本机JDK的路径。

    打开conf/core-site.XML文件,加入如下代码:

    《configuration》

    《property》

    《name》fs.default.name《/name》

    《value》hdfs://localhost:9000《/value》

    《/property》

    《/configuration》

    打开conf/mapred-site.XML文件,编辑如下:

    《configuration》

    《property》

    《name》mapred.job.tracker《/name》

    《value》localhost:9001《/value》

    《/property》

    《/configuration》

    打开conf/masters文件和conf/slaves文件,添加secondary的主机名,作为单机版环境,这里只需填写localhost就Ok了。

    到这里Hadoop系统就部署完毕了。调用bin/start-all.sh命令即可以启动Hadoop,用JSP命令查看系统状态,出现如下信息说明系统部署成功:在这里插入图片描述

    展开全文
  • 基于对图书馆建设的数字化、安全性和高效性需求,提出了一种云计算服务框架体系,建立数字图书馆服务平台。采用四层体系架构,实现各类软硬件资源的整合;基于SAN存储架构系统,采用X86服务器的VMware虚拟化系统提供...
  • 本系统首先在云计算三层基本服务模式的基础上设计整体框架,包括基础设施层、平台服务层和应用层;接着选取系统设计所需的检索器、处理器、储存器和传输器等四种主要硬件设备;然后利用Visual Basic6.0计算机设计...
  • 贝叶斯网(BN)作为一种重要的概率模型,是统计型不确定性知识表示和推理的基本框架。如何从海量数据中学习BN,是目前云计算环境下海量数据中不确定性知识推理及相关应用的基础和关键。我们利用Hadoop平台,设计并...
  •  OpenStack项目是一个开源的云计算平台,旨在实现很简单,大规模可伸缩,功能丰富。来自世界各地云计算开发人员和技术人员共同创建OpenStack项目。OpenStack通过一组相关的服务提供一个基础设施即服务(IaaS)解决方案。...
  • 3、 云计算资源管理系统框架设计 21 4、 云计算资源管理系统功能设计 25 (三) 云存储资源管理系统设计 27 1、 云存储资源管理系统设计概述 27 2、 云存储资源管理系统设计思路 28 3、 云存储资源管理系统框架设计 ...
  • 云计算仿真框架CloudSim介绍

    千次阅读 2017-01-04 10:56:07
    云计算仿真框架CloudSim介绍 jiangzw#ihep.ac.cn (以下为本人某次报告做的调研的PPT及其它一些实践记录,为保证清晰度,一些插入的图片较大,可在新标签页中打开) (本文基于署名 2.5 中国大陆许可协议发布,欢迎...
  • 云计算】知识汇总

    2022-06-11 21:29:44
    通过集中式远程计算资源池,以按需分配方式,为终端用户提供强大且廉价的计算服务能力按云计算服务层面进行分类按云计算系统类型进行分类1.虚拟化技术:虚拟机的安装、设置、调度分配、使用、 故障检测与失效恢复等 ...
  • 云计算完整框架

    千次阅读 2010-06-25 07:37:00
    云计算是目前IT界最流行的词。 云,是一种朦胧的美,一种特殊的感觉。云计算也如其名,是一个美妙的构思。 云计算发展到今天,又融入了... 这次云计算框架中,选择了xen,作为虚拟管理,xen是由
  • 云计算整体架构

    2022-06-22 09:58:52
    云计算结构
  • │ 01-1华为云计算解决方案架构概述.mp4,网盘文件,永久连接 │ 01-2华为计算虚拟化.mp4 │ 02-1华为计算虚拟化+存储虚拟化.mp4 │ 02-2华为存储虚拟化.mp4 │ 03-1Fusionstorage.mp4 │ 03-2Fusionstorage.mp4 │ ...
  • 要解决的应用领域问题、关键技术、如何利用云计算或物联网相关技术解决、解决方案的逻辑框架、应用系统的软硬件结构等;文字描述和结构并用,内容完整、条理清晰,表述清楚、语言流畅、图文并茂
  • 多媒体云计算.docx

    2022-06-27 11:17:19
    多媒体云计算(图片来自于网络) 本文介绍了多媒体云计算的主要概念,并提出了一种新的框架。我们将从多媒体云和云多媒体这两个角度探讨多媒体云计算。 首先,我们提出了"媒体云"的概念,用于探讨云怎样执行分布式...
  • 云计算架构与分析

    2020-11-25 21:37:49
    从系统架构层面讲,云计算是由服务和管理两大部分组成的。只有真正理解云计算基础结构才能充分考虑整个平台的延展性和可扩充性,从而帮助用户以最小的成本来搭建具有高度伸缩性的平台。 云计算的总体架构 在服务...
  • 可以用统一分类的一组公用的、简洁的词汇来描述云计算对安全架构的影响,在这个统一分类的方法中,云服务和架构可以被解构,也可以被映射到某个包括安全、可操作控制、风险*估和管理框架等诸多要素的补偿模型中去,...
  • 2多媒体云计算.docx

    2022-06-27 08:33:46
    多媒体云计算(图片来自于网络) 本文介绍了多媒体云计算的主要概念,并提出了一种新的框架。我们将从多媒体云和云多媒体这两个角度探讨多媒体云计算。 首先,我们提出了"媒体云"的概念,用于探讨云怎样执行分布式...
  • 1多媒体云计算.docx

    2022-06-27 07:46:44
    多媒体云计算(图片来自于网络) 本文介绍了多媒体云计算的主要概念,并提出了一种新的框架。我们将从多媒体云和云多媒体这两个角度探讨多媒体云计算。 首先,我们提出了"媒体云"的概念,用于探讨云怎样执行分布式...
  • 云计算是从“网格计算”.“分布式计算”到“互联网计算” 逐步发展起来的。它结合了虚拟化、高性能存储等技术.利用 互联网将分散的信息资源和计算能力整合起来,供用户方便 地访问、分享、使用和管理,可以提供...
  • 针对企业需要快速部署基于云计算平台上的各项服务,用户需要高效访问各类云服务等需求,文中分析了OpenStack开源框架结构,分析实现云平台关键技术和难点,利用虚拟化技术设计规划并实现了一个基于OpenStack的最小规模的...
  • 通过调研研究,剖析信创产业的发展背景、产业全景(终端、云计算全栈架构、产业链全景)、信创产业核心环节(CPU、OS、数据库、中间件、办公套件、安全保密),主要集团布局等内容
  • 大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。 ... ... ... 关键词:蓝色科技PPT模板免费下载,云计算大数据PPT模板,.PPTX格式;
  • 针对企业需要快速部署基于云计算平台上的各项服务,用户需要高效访问各类云服务等需求,文中分析了OpenStack开源框架结构,分析实现云平台关键技术和难点,利用虚拟化技术设计规划并实现了一个基于OpenStack的最小...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,671
精华内容 18,668
热门标签
关键字:

云计算框架图