云平台构建与管理(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-13 09:44:50

点击下载

作者:李永钢,尚鹏,王丁磊

出版社:中国铁道出版社有限公司

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

云平台构建与管理

云平台构建与管理试读:

前言

随着云计算时代的到来,云计算服务已经成为各行业实现信息化的基础性服务。这种日渐流行的技术,正推动着这个行业的革命性变化和第三次IT浪潮。当下一些完备的云计算商业产业链已逐渐形成,如亚马逊的EC2、VMware公司的一系列产品等,使得云计算不仅成为一项优秀的IT技术,也逐渐成为一种新的商业计算模型和IT服务运营模式,特别是在移动互联网日渐成熟的今天,云计算使人们“像使用自家的水、电一样”方便快捷地使用运营商提供的任何形式的计算、网络等资源,而不需要在这些硬件等基础设备上增加投入。

在诸多云计算相关产品中,云平台是一种相对典型而成熟的云产品。它采用云计算3种模式中的基础设施即服务(IaaS)模式,能够灵活地配置用户需要的计算资源等基础设施,用户能够按需使用云平台上的一切虚拟资源。OpenStack是由NASA(美国国家航空航天局)和Rackspace合作研发并发起的一个开源的云计算管理平台项目,它是IaaS云计算解决方案。通过使用KVM等虚拟化技术,将服务器的硬件进行虚拟,根据用户的需求可以随意配置,从而能够对外提供强大的计算能力。用户通过网络可以使用OpenStack平台中的虚拟计算机,平台管理员可以通过后台或管理页面进行整个云平台资源的管理和配置。

OpenStack的部署是一个较为烦琐的过程,其本身包含的组件是以插件的形式组合后部署在OpenStack的计算节点和控制节点上,对于初学者完成这一阶段的学习较为困难。本书针对OpenStack架构进行深入分析,对OpenStack组件的构成及协作流程进行介绍,从N版OpenStack的各个组件的工作原理出发,介绍不同组件的作用及工作过程。书中以N版OpenStack的部署过程为分析案例,同时本书还介绍云平台底层使用的虚拟化技术的原理和实践。

本书主要适用于云平台初学者对云平台的技术的理解与认识,培养学员OpenStack部署的实践能力,在实践中提高学员对理论的理解与认识,培养初学者的工程部署经验和习惯,使其能够进行云计算其他领域的技术使用与开发。

本书内容主要涵盖OpenStack核心组件的工作原理和云管理平台的部署安装,为了遵循“教、学、做”一体化教学模式,在每章内容的编排上,能够按照“学以致用,理论结合实践”,以培养实践能力为目标,在保证OpenStack基本理论的认知基础上,注重OpenStack工程实践中的配置、安装及虚拟化技术的使用和理解。

本书共6章,主要内容包括云平台架构、开源云管理平台OpenStack、OpenStack的安装和配置、OpenStack平台的管理等。在第1章和第2章的学习过程中,通过云计算与云平台的基本概念、云平台的整体架构,使读者对云平台具有一个初步的整体认识;第3章至第5章,针对OpenStack的计算组件Nova、认证组件Keystone、镜像组件Glance、存储组件Cinder、网络组件Quantum以及仪表盘组件Horizon进行介绍,特别是在对每个组件的介绍过程中,首先从原理上对OpenStack的各个核心组件进行分析,然后通过具体的部署、配置和管理,使读者在了解相关理论基础的同时培养读者的实际动手能力。第6章通过一个综合实例,讲解使用OpenStack搭建多节点私有云的方法。

本书由李永钢、尚鹏、王丁磊任主编,刘铭、刘军、蔡晓龙、贾伟峰、田喜平任副主编。编写分工如下:第1章由尚鹏编写,第2章由刘铭编写,第3章由王丁磊编写,第4章由李永钢编写,第5章由刘军和蔡晓龙编写,第6章由贾伟峰和田喜平编写。全书由南京大学徐洁磐教授主审,由李永钢统稿。

由于编者水平有限,加之时间仓促,书中难免存在疏漏和不足之处,恳请读者批评和指正。编者2018年1月第1章云平台概述1.1云平台简介

云计算平台简称云平台,可视为由计算机硬件、网络及相关软件构成,基于计算机软硬件并向平台用户提供计算服务、网络和存储能力的综合体。它往往与具体的某个应用相结合,如办公云平台、存储云平台、阅读云平台、搜索云平台等。1.1.1 云计算“云”作为计算机资源在现阶段中的一种重要形式,也是计算机领域的一大技术转变。初期的“云”主要致力于“计算”能力的整合与优化,这也是为什么“云”又称“云计算”的原因。“云计算”是一种计算模型,它将诸如运算能力、存储、网络和软件等资源抽象成服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样。“云”是网络、互联网的一种比喻说法。过去在图中往往用云表示电信网,后来也用来表示互联网和底层基础设施的抽象。因此,云计算甚至可以让人们体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过计算机、笔记本式计算机、手机等方式接入数据中心,按自己的需求进行运算。

对云计算的定义有多种说法。美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件、服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

云计算是网格计算、分布式计算、并行计算、网络存储、虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的系统,并借助SaaS、PaaS、IaaS等商业模式把这强大的计算能力分布到终端用户手中。它是基于互联网的超级计算模式,即把存储于个人计算机、移动电话和其他设备上的大量信息和处理器资源集中在一起,协同工作。在极大规模上可扩展的信息技术能力向外部客户作为服务来提供的一种计算方式。云计算的一个核心理念就是通过不断提高“云”的处理能力,进而减少用户终端的处理负担,最终使用户终端简化成一个单纯的输入/输出设备,并能按需享受“云”的强大计算处理能力。

数据存放在云端后不必备份;软件存放在云端后不必下载可以自动升级;在任何时间,任意地点,任何设备登录后就可以进行计算服务,具有无限空间,无限速度。云计算的以服务为基础、可扩展性及弹性、共享、按使用计量、基于互联网技术等特性为云计算提供了很好的发展空间,宽带的发展也为云计算提供了硬件基础。云计算的快速发展预示着该技术可以带来美好的应用前景和更多的经济收益。Amazon、Google、IBM、Microsoft、Sun等IT公司已纷纷建立并对外提供各种云计算服务。Amazon研发了弹性计算云EC2和简单存储服务S3为企业提供计算和存储服务。Google也开发了一系列成功的应用,包括Google地球、地图、Gmail、Docs等。并且已经允许第三方在Google的云计算中通过Google App Engine运行大型并行应用程序。Hadoop模仿了Google的实现机制。IBM在2007年11月推出了“改变游戏规则”的“蓝云”计算平台,为客户带来即买即用的云计算平台。

IT资源服务化是云计算最重要的外部特征。当前,各类云服务之间已开始呈现出整合趋势,越来越多的云应用服务商选择购买云基础设施服务而不是自己独立建设。可以预见,随着云计算标准的出台,以及各国的法律、隐私政策与监管政策差异等问题的协调解决,云计算将推动IT领域的产业细分:云服务商通过购买服务的方式减少对非核心业务的投入,从而强化自己核心领域的竞争优势。最终,各种类型的云服务商之间形成强强联合、协作共生关系,推动信息技术领域加速实现全球化,并最终形成真正意义上的全球性的“云”。未来云计算将形成一个以云基础设施为核心、涵盖云基础软件与平台服务与云应用服务等多个层次的巨型全球化IT服务化网络。如果以人体作为比喻,那么处于核心层的云基础设施平台将是未来信息世界的神经中枢,其数量虽然有限但规模庞大,具有互联网级的强大分析处理能力;云基础软件与平台服务层提供基础性、通用性服务,例如,云操作系统、云数据管理、云搜索、云开发平台等是这个巨人的骨骼与内脏,而外层云应用服务则包括与人们日常工作与生活相关的大量各类应用,例如,电子邮件服务、云地图服务、云电子商务服务、云文档服务等,这些丰富的应用构成巨型网络。各个层次的服务之间既彼此独立又相互依存,形成一个动态稳定结构。越靠近体系核心的服务,其在整个体系中的权重也就越大。因此,未来谁掌握了云计算的核心技术主动权以及核心云服务的控制权,谁就将在信息技术领域全球化竞争格局中处于优势地位。1.1.2 云计算的服务模式

云计算的3种典型的服务模式是:SaaS(Saftwave as a Service,软件即服务)、PaaS(Platform as a Service,平台即服务)和IaaS(Infrastructure as a Service,基础设施即服务)。(1)SaaS

SaaS是一种全新的软件应用模式。这种模式是通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。

提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过瘦客户端界面访问。这种服务模式在业内使用是最为普遍的一种,腾讯的游戏、阿里巴巴的在线支付等都提供相关的服务项目。(2)PaaS

PaaS是一种以提供服务器平台为主的服务模式,这种云服务企业通过定制化研发的中间件平台,节省用户的开发成本,使用户只需要将精力放置在其核心业务上,至于服务器的系统维护、数据存储等运维工作交由云计算公司托管完成。

提供这种服务模式的公司较多,如阿里巴巴的云服务器(阿里云)、IBM的Bulemix等。(3)IaaS

IaaS是一种以提供基础设备为服务的云计算服务模式。这种服务的提供商往往是给用户提供所有设施的利用,包括处理、存储、网络和其他基本的计算资源。用户在其上可以运行和发布任意软件,而用户则不需要管理或控制任何云计算基础设施。OpenStack云平台就是其中的一种。用户可以使用OpenStack中的虚拟机、网络,甚至是存储器等硬件设施。

云计算的本质源于“服务”。在云计算的语境中,一个服务意味着一种可按需取用的状态。所以SaaS就意味着软件,例如某个应用程序,可以按需取用,关注点在于其内部的可用功能而不是应用之外的东西。PaaS提供的是一种按需取用的正常运行环境,即把什么样的按需应用功能组合部署到这一环境中去。由于正常运行环境是可以按需取用的,所以一个部署到其中的应用也可以在按需取用的状态下运行。也就是说,这些部署到PaaS环境中的应用是可以按需交付的,结果就和SaaS一样。再说到IaaS,它指的是可以按需取用、按需预配置的基础设施。对IT专业人士来说,在运营层面预配置基础设施等同于部署服务器。而在云计算环境中,所有服务器都已虚拟化,而且是以虚拟机的形式部署,所以IaaS最终具有了按需部署虚拟机的能力。1.1.3 云平台的发展

在诸多云计算相关产品中,云平台是一种相对典型而成熟的云产品,它采用IaaS模式,能够灵活地配置用户需要的计算资源等基础设施,用户能够按需地使用云平台上的一切虚拟资源。

德勤咨询公司的Mark White与Bill Briggs认为,大多数机构已经不限于使用一套云平台,而是同时应用多套云平台。

由至少一套公共云与私有云共同组成的混合云平台才是未来发展的必然趋势,事实上,White和Briggs都认为企业越来越希望能将自己的各类应用程序及基础设施服务转移到云平台上。德勤公司将这种方案称为“超级混合云”,其中不同类型的云彼此核心相连、息息相关。

这种由“单一云”向“复合云”转变的过程在带来机遇的同时,也同样在集成化安全、数据完整性与可靠性乃至业务流程规则等方面给技术人员带来新的挑战。在巨大的压力之下,企业IT组织只有将自身固有的一项或者多项服务项目严密整合,方可适应新形势下复合云平台所提出的各种难题。

云计算技术总体趋势向开放、互通、融合(安全)方向发展,未来云计算将向公共计算网发展,对大规模的协同计算技术提出新的要求,虚拟机的互操作、资源的统一调度需要更加开放的标准,云标准已经引起行业的高度重视,并得到较快发展。云计算的出现并快速发展,一方面是虚拟化技术、数据密集型计算等技术发展的结果;另一方面也是互联网发展需要不断丰富其应用的必然趋势的体现。目前,云计算还没有统一的标准,虽然Amazon、Google、IBM、Microsoft等云计算平台已经为很多用户所使用,但是云计算在行业标准、数据安全、服务质量、应用软件等方面也面临各种问题,这些问题的解决需要技术的进一步发展。总体上讲,云计算领域的研究还处于起步阶段,尚缺乏统一明确的研究框架体系,还存在大量未明晰和有待解决的问题,研究机会、意义和价值非常明显。现有的研究大多集中于云体系结构、云存储、云数据管理、虚拟化、云安全、编程模型等技术,云计算领域尚存在大量的开放性问题需要进一步研究和探索。1.1.4 云平台的特点

云计算可以按需提供弹性资源,它的表现形式是一系列服务的集合。结合当前云计算的应用与研究,其体系架构可分为核心服务层、服务管理层、用户访问接口层。核心服务层将硬件基础设施、软件运行环境、应用程序抽象成服务,这些服务具有可靠性强、可用性高、规模可伸缩等特点,满足多样化的应用需求;服务管理层为核心服务提供支持,进一步确保核心服务的可靠性、可用性与安全性;用户访问接口层实现端到云的访问。(1)核心服务层

云计算核心服务通常可分为3个子层:基础设施即服务层(IaaS)、平台即服务层(PaaS)、软件即服务层(SaaS)。IaaS提供硬件基础设施部署服务,为用户按需提供实体或虚拟的计算、存储和网络等资源。PaaS是云计算应用程序运行环境,提供应用程序部署与管理服务。SaaS是基于云计算基础平台所开发的应用程序。(2)服务管理层

服务管理层对核心服务层的可用性、可靠性和安全性提供保障。服务管理包括服务质量保证和安全管理等。(3)用户访问接口层

用户访问接口层实现了云计算服务的泛在访问,通常包括命令行、Web服务、Web门户等形式。命令行和Web服务的访问模式既可为终端设备提供应用程序开发接口,又便于多种服务的组合。Web门户是访问接口的另一种模式。通过Web门户,云计算将用户的桌面应用迁移到互联网,从而使用户随时随地通过浏览器就可以访问数据和程序,提高工作效率。虽然用户可通过访问接口使用便利的云计算服务,但是由于不同云计算服务商提供的接口标准不同,导致用户数据不能在不同服务商之间迁移。为此,在Intel、Sun和Cisco等公司的倡导下,云计算互操作论坛宣告成立,并致力于开发统一的云计算接口,以实现“全球环境下,不同企业之间可利用云计算服务无缝协同工作”的目标。1.1.5 云平台的优势与劣势

1.云平台的优势

阿里巴巴集团董事局主席马云曾经说过,在未来的电子商务中,云计算将成为一种随时随地的服务,就像供水、供电一样成为公共基础服务,而云计算必然给企业,乃至整个社会带来便利。其中云平台是云计算技术的主要呈现形式,大部分用户都将通过云平台体验云计算技术的发展成果,其主要优势表现在以下几方面:(1)降低企业运维成本

云计算可以让所有资源得到充分利用,其中包括价格昂贵的服务器以及各种网络设备,工作人员的共享使成本降低,特别是小到中等规模的应用和原型,如企业中的私有云,企业的维护人员只需要针对云服务器进行日常维护,每个用户仅仅访问和使用各自在服务器中预先分配的计算资源即可。(2)简化维护

由于所有数据和计算都由云服务器承担,企业的维护人员能统一实现整个企业的数据等资源的管理,简化了日常的工作流程。(3)终端设备要求最低,使用起来也更方便

由于应用程序在云中而不是在自己的个人计算机上运行,个人计算机不需要传统的桌面软件所要求的处理能力或硬盘空间。因此,云计算的客户端计算机可以是低价的,具有较小的硬盘,更少的内存,更高效的处理器。例如,终端用户的设备上不需要CD或DVD驱动器,因为不需要加载软件程序,也无须保存任何文档。(4)无限的计算和存储能力

由于云中的用户通过终端进行访问,用户的计算和存储需求均可以在云中得以满足,甚至用户根本无须担心其能力上限问题,因为云本身就是一种资源共享的无限资源集合体,其本身具备资源调度功能。

2.云平台的劣势

任何事物都有其两面性,云平台也不例外。云平台除了有以上优势外,它也存在如下劣势:(1)数据安全性

从数据安全性方面看,比较成熟的云计算厂商Amazon、Google、IBM、Microsoft、Oracle、Cisco、HP、Salesforce、VMware等都没有完全解决这个问题,所以很多企业了解到所用数据的类型和分类后,他们还是会决定通过内部监管来控制这些数据。而绝不会将具备竞争优势或包含用户敏感信息的应用软件放在公共云上,这个也是众多企业保持观望的一个原因。(2)厂商按流量收费有时会超出预算

虽然云厂商推出云产品时大力宣传随时获取,按需使用,随时扩展,按使用付费,但在很大程度上价格都比较高,至少在目前还没有降低的趋势,像索尼娱乐这样的公司,就不考虑采用外部云服务来应对存储扩展能力的挑战。位于加利福尼亚的Culver City的高级系统工程师Nick Bali表示,索尼每天的动画访问和产生的数据量都高,如果放在云上进行数据读取,公司需要的网络带宽是非常庞大的,这样所需的成本过于巨大,甚至超过了购买存储本身的费用。(3)企业的自主权降低

企业自主权是一个比较敏感的话题,出于慎重考虑,都希望能对自己公司的应用进行完全管理和控制。在原来的模式中,可以搭建自己的基础架构,每层应用都可以自定义设置和管理;而换到云平台以后,企业不需要担心基础架构,也不需要担心诸如安全、容错等方面的问题,但同时也让企业感到了担忧,毕竟现在熟悉的东西突然变成了一个黑盒。(4)大型企业难以扩展

很多大型企业已经花巨资购买了硬件并逐渐构建了自己的服务器集群(有的企业还购置了最新的刀片服务器),然后也购买了所需的系统软件和应用软件,而且也在此基础上搭建了基础平台架构。针对这样的企业来说,它们没有必要把自己的应用舍本求末地放在云上,所以这也是很多企业不愿意移植的原因之一。(5)云计算本身还不太成熟

云计算还没有统一的平台和标准来规范,在安全性、稳定性方面,企业还应结合自身因素慎重考虑。云计算还有很长的路要走,很多地方还有待进一步优化,但它必定会成为未来趋势。1.2云平台的类型

按照云平台的功能和用途进行分类,云计算平台大体上可分为以数据存储为主的数据密集型云平台、以数据处理为主的计算密集型云平台、计算和数据存储处理兼顾的综合云平台。1.2.1 数据密集型云平台

数据密集型计算(Data Intensive Computing)是采用数据并行方法实现大数量并行计算的应用,计算数据量级为TB或PB级,因此又称为大数据的核心支撑技术。数据密集型计算产生了数据密集型科学。利用多种来源的海量时空数据中实验、分析、模拟与发现全球变化与区域可持续、均衡发展的规律是当前数据密集型科学面临的研究主题。

由于“云计算”的进一步推广,出现了以“数据共享”为主要服务内容的云服务,特别是随着“大数据”的产生,云中的数据量呈指数增长,而海量数据的存储必然需要云技术进行解决,以存储为主要功能的云平台就是针对这种需求出现的。

数据密集云平台是一种存储型云平台,它是云计算概念的延伸,这种云平台采用网络和分布式技术,实现网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能。云平台在这种数据存储系统中是若干数据管理软件的集合,它们相互协作负责云中海量数据的存储、管理、检索和访问等操作。另外,数据密集型云平台在云计算领域中大部分是以“数据中心”形式存在的。商业中的云存储平台一般具备海量、可靠、安全和高可用等特点,这也是云存储的商业价值所在。例如,百度云盘、阿里云存储、腾讯等企业均提供数据存储服务相关的云平台,用户通过这些云平台能够实现个人数据的云端管理和异地访问。1.2.2 计算密集型云平台

计算密集型云平台就是主要以数据计算、处理服务为主的云计算平台,为用户提供相应级别的高性能计算环境。用户可根据需求选择相应的计算能力,并支付相应的费用。通过云平台的高性能计算能力,用户与企业均能获得与现有大型机相媲美的计算能力,进行大规模的数据处理计算,为企业和个人减少成本开支。

云计算平台可以通过并行计算、网格计算等策略实现云集群的高性能计算,为用户提供灵活、便捷的高性能计算服务。

计算密集型云平台是云计算早期发展的核心动力之一,为了实现计算资源(CPU)的共享而形成的数据处理型云平台。该种类型的云平台主要是以提供计算服务为主要特点,用户可以按照“运算的时长”进行付费,例如,现阶段中的高性能计算就是一种典型的计算密集型云平台。

大多数计算密集型云平台的计算服务形式以“虚拟计算机”的形式出现,用户通过虚拟计算机进行云端操作,就像使用个人计算机一样完成办公、上网等操作。1.2.3 综合云平台

综合云平台结合业界最先进的云计算技术架构和服务模式,对企业和组织的IT架构进行优化整合,通过虚拟化、自动化等关键技术手段,搭建统一云管理平台,充分体现云计算的理念和应用,实现IT应用和服务的全新使用模式,帮助企业和组织将大量硬件资源进行标准化、自动化、集中化的统一管理。其技术特点如下:(1)整合资源体系,提升信息化管理水平

建立标准化的云计算管理规范,配合云管理平台流程化,整合资源体系,建立可视化的统一资源管理体系,全面提升IT管理水平。(2)打造融合架构,支撑企业信息化发展

通过打造融合的IT基础架构,避免资源无序增长,提高软硬件资源利用率,保护软硬件资源投资,助力企业业务发展。(3)持续动态优化,应对敏捷业务需求

通过资源格式标准化和自动化资源服务实现几分钟内完成部署上线,并让高可用和在线扩容在资源池中得到实现,根据动态的资源负载水平决定分配和使用策略,灵活面对不断变化的业务需求。1.3云管理平台

云平台需要相应的软件管理云端资源,通常将这个管理系统软件称为云管理平台。云管理平台能将现有的基础设施、计算机硬件,转换为一个单独的资源库,通过重新划分实现不同用户资源的合理分配。不仅如此,云管理平台还可以对资源的使用进行监控和计量,这会让系统的可靠性更高,从而让整个云平台更稳定,更安全。1.3.1 商用云管理平台

熟知的云管理平台有IBM的SKC、Microsoft的System Center、VMware的vCloud Director等。

1.IBM SKC

2011年12月7日,IBM在北京举行了主题为“云固基础,智算未来”Power Cloud战略发布会,在本次发布会上,IBM推出了“基础架构云快速部署解决方案套件——Starter Kit for Cloud(SKC)”。据IBM介绍,SKC是构建在PowerVM与VMControl之上的云计算管理平台软件,能够在系统资源池基础上实现“快速云(Entry Cloud)”的部署,确保以较为经济和简捷的方式实现云服务管理的落地。

SKC是来自于中国客户的真实需求,由60多位工程师历时一年半的时间研发、经IBM全球研发机构合作打造的、在全球发布的标准产品。目前不仅支持Power服务器,还支持x86服务器,未来也将支持Z系列产品。同时,SKC部署在虚拟化平台之上,自带自服务界面,用户通过Web界面即可访问,由于其采用开放的IAAS REST API,便于用户进行个性化的开发。

2.Microsoft System Center 2012

微软将System Center 2012定位为一款云管理工具,能够同时作用于内部服务器(如Windows、Solaris以及Linux)中的“私有云”以及公共云服务。不过这里所说的“公共云”概念与人们普及了解的有所不同,指的仅是托管于Microsoft的Windows Azure云中的资源,而非处于激烈竞争中的广义公共云。

System Center 2012版本中的新特性之一在于提供了对Android、iOS、Symbian以及Windows Phone 7移动设备的管理能力。由于微软长期以来高效管理此类设备的EAS(Exchange Active Sync)策略的引入,才使得这一设想成为现实。与之前的版本一样,最新的System Center同样为Windows个人计算机准备了一套桌面系统与虚拟桌面系统管理工具。

3.VMware vCloud Director

VMware vCloud Director使客户能够按需交付基础架构,以便终端用户能以最大的敏捷性使用虚拟资源。扩展模块、API和开放式跨云标准使vCloud Director客户可以与现有管理系统集成,并提供在不同云环境之间迁移工作负载的灵活性。通过内置的安全性和基于角色的访问控制,可以在共享基础架构上整合数据中心和部署工作负载。

借助VMware vCloud Director,客户可以将基础架构资源整合成虚拟数据中心资源池,并允许用户按需消费这些资源,从而构建安全的多租户混合云。VMware vCloud Director可将数据中心资源(包括计算、存储和网络)及其相关策略整合成虚拟数据中心资源池。完全封装的多层虚拟机服务可使用开放式虚拟化格式(OVF)作为vApp交付。终端用户及其相关策略在组织内捕获。通过有计划地对基础架构、用户和服务进行基于策略的池化,VMware vCloud Director能够智能地实施策略并带来前所未有的灵活性和可移植性。

VMware vCloud Director的工作原理采用“基础架构即服务”方式交付基础架构,可将多个集群的基础架构资源整合成基于策略的虚拟数据中心资源池。通过与已部署的VSphere集成并扩展VMware Distributed Resource Scheduler(DRS)和VMware。

4.Dell的VIS

Dell的虚拟集成系统(VIS)体系结构通过在数分钟内响应选定的业务请求,帮助提高数据中心效率,可以简化管理工具和任务,同时从现有基础架构投资中获得更多回报。

①帮助降低与管理、维护和许可相关的数据中心成本

②提高在响应不断变化的技术和业务需求方面的灵活性。

③VIS体系结构可帮助应用现有投资和未来技术,使可保留选择,同时更快地获得投资回报。

④促进实时配置,从而消除为了应对意外增长而进行过度配置或过度采购的需求。

5.Fujitsu的ROR 3.0

2011年2月15日,Fujitsu推出全新Fujitsu ServerView Resource Orchestrator系列前沿产品,使得私有云的构建、扩展和整合变得更为简单。全新FUJITSU(简称ServerView ROR 3.0)具有更强的云管理能力,提供企业级的多租户系统平台支持,允许组织机构将其静态数据中心转变为动态资源交付中心。作为Fujitsu的资源管理软件(ServerView资源协调器和云架构管理软件)的最新产品,Fujitsu ServerView Resource Orchestrator为用户提供一整套可扩展的私有云架构,能够与各个阶段的云计算(服务器整合、虚拟化、标准化、混合及完全自助云服务)相匹配,为客户提供最适宜的自动化服务水平,确保行政管理和成本控制精确无误。

6.浪潮云海

浪潮云海云管理平台InCloud Manager是云数据中心操作系统,基于OpenStack架构,面向私有云和混合云市场,提供开放、安全的企业级云数据中心运维管理。InCloud Manager借由自服务的管理Portal,提供跨基础架构一致性的功能和体验,帮助企业加速云的应用,实现业务的动态变更,资源的智能管理和服务的自动化交付。1.3.2 开源云管理平台

开源云管理平台正在云计算方面发挥着越来越重要的作用,甚至在云计算产业中占据主导地位。OpenStack直接带动了开源云平台的市场,在一定程度上对AWS和VMware垄断的IaaS和虚拟化层造成了冲击。

1.OpenStack开源云管理平台

开源的平台意味着不会被某个特定的厂商绑定和限制,而且模块化的设计能把遗留的云计算资源和第三方的技术进行集成,从而来满足自身业务需要。OpenStack项目所提供的云计算,让IT团队可以成为自己的云计算服务厂商,虽然构建和维护一个开源私有云计算并不适合每一家公司;但是如果拥有基础设施和开发人员,OpenStack将是很好的选择。

近年来,OpenStack已发展成为最成熟的开源云计算项目,大批的中国OpenStack开发者在社区中日益活跃。同时越来越多的行业用户也开始在生产环境中实践OpenStack技术,随着金融、电信、电力、制造、互联网、教育、零售、媒体等行业的众多成功案例不断涌现,中国已经发展成为全球第二大OpenStack市场。

2.Abiquo公司开源云管理平台

Abiquo公司推出的一款开源的云管理平台——AbiCloud,使公司或企业能够以快速、简单和可扩展的方式创建和管理大型、复杂的IT基础设施(包括虚拟服务器、网络、应用、存储设备等)。AbiCloud较之同类其他产品的一个主要区别在于其强大的Web界面管理。可以通过拖动一个虚拟机来部署一个新的服务,并且允许通过VirtualBox部署实例,它还支持Vmware、KVM和Xen。

3.Eucalyptus开源云管理平台

Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems)是由Santa Barbara大学建立的开源项目,主要实现云计算环境的弹性需求的软件。它通过其在集群或者服务器组上的部署,并且使用常见的Linux工具和基本的基于Web的服务。当前支持的商业服务只是Amazon的EC2,今后会增加多种客户端接口。该系统使用和维护十分方便,使用SOAP(简单对象访问协议)安全的内部通信,且把可伸缩性作为主要的设计目标,具有简单易用,扩展方便的特点。这个软件层的工具可以用来通过配置服务器集群实现私有云,并且其接口与公有云相兼容,可以满足私有云与公有云混合构建扩展的云计算环境。

4.MongoDB开源高性能管理平台

MongoDB是由一系列物理文件(数据文件、日志文件等)的集合和与之对应的逻辑结构(集合、文档等)构成的数据库。

MongoDB的逻辑结构实际是一种层次结构,由文档(Document)、集合(Collection)、数据库(Database)3部分组成。

一个MongoDB实例支持多个数据库。在MongoDB内部,每个数据库都包含一个.ns文件和一些数据文件,采用预分配空间的机制,始终保持额外的空间和空余的数据文件,从而有效避免了由于数据暴增带来的磁盘压力过大问题。每个预分配的文件都用0进行填充,数据文件每新分配一次,它的大小都会是上一个数据文件大小的2倍,每个数据文件最大为2GB。

MongoDB的主要特点如下:

①使用JSON风格语法,易于掌握和理解。MongoDB使用JSON的变种BSON作为内部存储的格式和语法。

②模式自由,支持嵌入子文档和数组,无须事先创建数据结构,属于逆规范化的数据模型,有利于提高查询速度。

③动态查询,支持丰富的查询表达式,使用JSON形式的标记,可轻易查询文档中内嵌的对象和数组及子文档。

④完整的索引支持,包括文档内嵌对象和数据,同时还提供了全文索引方式,MongoDB的查询优化器会分析查询表达式,并生成一个高效的查询计划。

⑤使用高效的二进制数据存储,适合存储大型对象(如高清图片、视频等)。

⑥支持多种复制模式,提供冗余及自动故障转移。支持Master-Slave、Replica Pairs/Replica Sets、有限Master-Master模式。

⑦支持服务端脚本和Map/Reduce,可以实现海量数据计算,即实现云计算功能。

⑧性能高、速度快。在多数场合,其查询速度对于MySQL要快得多,对CPU占用非常少。部署很简单,几乎是零配置。

⑨自动处理碎片,支持自动分片功能实现水平扩展的数据库集群,可以动态添加或移除节点。

⑩内置GridFS,支持海量存储。可通过网络访问,采用高效的MongoDB网络协议,在性能方面要优于Http或Rest协议。第三方支持丰富,MongoDB社区活跃,越来越多的公司和网站在生产环境中使用MongoDB进行技术架构优化,同时MongoDB公司官方提供强大的技术支持。

5.Enomalism弹性云管理平台

Enomalism是一个弹性计算平台,Enomaly’s Elastic Computing Platform(ECP)是可编程的虚拟云架构,ECP平台可以简化在云架构中发布应用的操作。云计算平台是一个EC2风格的IaaS。Enomalism是一个开放源代码项目,它提供了一个功能类似于EC2的云计算框架。Enomalism基于Linux,同时支持Xen和Kernel Virtual Machine(KVM)。与其他纯IaaS解决方案不同的是,Enomalism提供了一个基于TurboGears Web应用程序框架和Python的软件栈。

6.Nimbus云管理平台

Nimbus是网格中间件Globus旗下的开源云计算项目,Nimbus面向科学计算需求,通过一组开源工具来实现基础设施即服务的云计算解决方案。

Nimbus项目最初的名称为Virtual Workspace Service(VWS),其中Workspace Service是整个平台的核心模块。在Nimbus平台中,包含的组件有Workspace Service节点管理器、基于WSRF的远程协议实现、基于EC2的远程协议实现、云计算客户端、Workspace Pilot整合虚拟机等面向不同层面的应用组件,Nimbus项目各个组件在设计上非常轻量化且具备自身完备性,可以通过多种异构方式进行组合,组件之间的连接关系如图1-1所示。图1-1 Nimbus组件之间的连接关系

在Nimbus支持下,客户端通过部署虚拟计算机的方式租用远程资源。Nimbus部署在服务节点上,运行环境仅需Java和bash,在管理节点上,还需要具备Python(2.3+)、以太网连接层桥接工具ebtables、DHCPd以及Xen虚拟化环境。

同样实现云计算基础平台的OpenNebula项目给出与Nimbus类似的开源数据中心实现,在物理资源上实现虚拟机环境,但与OpenNebula不同的是,Nimbus以WSRF服务对外提供远程接口,同时具备安全控制机制。Nimbus的接口可以在后端同OpenNebula虚拟机管理器相结合。

在Nimbus的线路图中,包含缓存管理、网络传输、本地资源管理、细粒度执行、安全机制等各个方面的设计目标,功能强大。

7.CloudStack云管理平台

CloudStack是一个开源的云管理平台,它可以帮助用户利用自己的硬件提供公共云服务。CloudStack的前身是Cloud com。2011年7月,Citrix收购Cloud com,并将CloudStack全部开源。2012年4月5日,Citrix又宣布将其拥有的CloudStack开源软件交给Apache软件基金会管理。英特尔、阿尔卡特-朗讯、瞻博网络、博科等都已宣布支持CloudStack。

CloudStack可以通过组织和协调用户的虚拟化资源,构建一个和谐的环境。CloudStack具有许多强大的功能,可以让用户构建一个安全的多租户云计算环境。CloudStack兼容Amazon API接口。CloudStack可以让用户快速和方便地在现有的架构上建立自己的云服务。CloudStack可以帮助用户更好地协调服务器、存储、网络资源,从而构建一个IaaS平台。小结

本章主要介绍了云平台的概念,读者需要从云计算的角度来理解云平台。本章还介绍了云平台的发展和特点,以及云平台的优势和劣势,云平台的3种类型。最后介绍了云管理平台的概念,并列举了一些常见的商用和开源云管理平台。习题

1.简述云计算的3种典型服务模式。

2.什么是云平台,都有哪些特点?

3.云平台的优势和劣势主要表现在哪些方面?

4.简述云平台的类型。

5.云管理平台是什么?请列举一些常见的商用和开源云管理平台。第2章云平台架构2.1云平台基本框架

在云计算走向成熟之前,我们更应该关注系统云计算架构的细节。基于对现有的一些云计算产品的分析,总结出了云计算架构,云平台的架构分层和架构层次之间的关系构成了云平台的基本框架。2.1.1 云平台架构分层

云计算以虚拟化和高速网络互连技术为依托,实现了一个“计算机资源动态管理及服务系统”,通过虚拟化技术将各种差异化的计算机设备(不同型号的服务器、存储设备等)进行逻辑化。从所有的云平台类型按照技术实现大体上都可以归纳为四层结构:基础设施层、中间件层、显示层以及管理层,如图2-1所示。图中的每一层都有其各自的分工,正是这些明晰的层次共同构成了整个云平台紧密的系统。图2-1 云平台架构2.1.2 架构层次之间的关系

云架构层次主要分为服务和管理两大部分。

在服务方面,主要以提供用户基于云的各种服务为主,共包含3个层次:①SaaS层的作用是将应用主要以基于Web的方式提供给客户;②PaaS层的作用是将一个应用的开发和部署平台作为服务提供给用户;③IaaS层的作用是将各种底层的计算(如虚拟机)和存储等资源作为服务提供给用户。从用户角度而言,这3层服务之间的关系是独立的,因为它们提供的服务是完全不同的,而且面对的用户也不尽相同。但从技术角度而言,云服务这3层之间的关系并不是独立的,而是有一定依赖关系的,比如一个SaaS层的产品和服务不仅需要使用到SaaS层本身的技术,而且还依赖PaaS层所提供的开发和部署平台或者直接部署于IaaS层所提供的计算资源上,PaaS层的产品和服务也很有可能构建于IaaS层服务之上。

在管理方面,主要以云的管理层为主,它的功能是确保整个云计算中心能够安全和稳定地运行,并且能够被有效管理。2.2显示层

显示层是将云资源提供出来供用户使用。云平台架构中需要将资源通过一个方便的界面呈现出来,而这就是显示层的作用。显示层大多是通过Web服务的形式呈现出来的,所以对客户端要求低,只需要浏览器即可访问。通过Web服务提供出来的服务均可通过Web API进行访问,这种API称为RESTful API。多数数据中心云计算架构的显示层主要作用是以友好的方式展现用户所需的内容并使用中间件层提供的多种服务,主要有5种技术。2.2.1 HTML技术

WWW上的一个超媒体文档称为页面(Page)。作为一个组织或者个人在万维网上放置开始点的页面称为主页(Homepage)或首页,主页中通常包括有指向其他相关页面或其他节点的指针(超链接)。所谓超链接,就是一种统一资源定位器(Uniform Resource Locator,URL),通过激活(点击)它,可使浏览器方便地获取新的网页,这也是HTML(HyperText Mark-up Language,超文本标记语言)获得广泛应用的最重要的原因之一。在逻辑上将视为一个整体的一系列页面的有机集合称为网站(Website或Site)。超文本标记语言(HTML)是为“网页创建和其他可在网页浏览器中看到的信息”设计的一种标记语言。

网页的本质就是通过结合使用其他的Web技术(如脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。HTML是Web编程的基础,也就是说WWW是建立在超文本基础之上的。

HTML是一种表示页面内容及样式的语言,它事实上是一个Web展示标准,被所有浏览器支持,可使页面移植到不同的系统和平台之上。HTML文档的最大特点是整个文档要表达的内容均由尖括号标记进行结构化。每一对尖括号包围的部分在HTML中又称为元素。比如由“”包围的部分称为body元素。元素中还可以嵌套其他元素。

HTML是标准通用标记语言下的一个应用,也是一种规范,一种标准。它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,告诉浏览器如何显示其中的内容(如文字如何处理、画面如何安排、图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。

HTML文档制作不是很复杂,但功能强大,支持不同数据格式的文件嵌入,这也是WWW盛行的原因之一,其主要特点如下:(1)简易性

HTML版本升级采用超集方式,从而更加灵活方便。(2)可扩展性

HTML的广泛应用带来了加强功能,增加标识符等要求。HTML采取子类元素的方式,为系统扩展带来保证。(3)平台无关性

虽然个人计算机大行其道,但使用MAC等其他机器的大有人在,HTML可以使用在广泛的平台上,这也是WWW盛行的另一个原因。

HTML其实是文本,需要浏览器的解释,它的编辑器大体可分为3种:

①基本文本、文档编辑软件,使用微软自带的记事本或写字板都可以编写,也可以使用WPS编写,不过存盘时需要使用.htm或.html作为扩展名,以方便浏览器直接解释执行。

②半所见即所得软件,如FCK-Editer、E-webediter等在线网页编辑器。

③见即所得软件,使用最广泛的编辑器,即使不懂HTML的知识也可制作网页,如Amaya、FrontPage、Dreamweaver。

所见即所得软件与半所见即所得的软件相比,开发速度更快,效率更高,且直观表现更强。任何地方进行修改后只需要刷新即可显示。缺点是生成的代码结构复杂,不利于大型网站的多人协作和精准定位等高级功能的实现。

一个网页对应多个HTML文件,HTML文件以.htm为扩展名或.html为扩展名,可以使用任何能够生成TXT类型源文件的文本编辑器产生HTML文件,只需修改文件扩展名即可。标准HTML文件都具有一HTML个基本的整体结构,标记一般都是成对出现(部分标记除外,如
),即HTML文件的开头与结尾标志和HTML的头部与实体两大部分。

HTML没有1.0版本是因为当时有很多不同的版本。有些人认为蒂姆·伯纳斯-李的版本应该算初版,这个版本没有IMG元素。当时称为HTML+的后续版的开发工作于1993年开始,最初被设计成为“HTML的一个超集”。第一个正式规范为了与当时的各种HTML标准区分开来,使用了2.0作为其版本号。HTML+的发展继续下去,但是它从未成为标准。

HTML 3.0规范是由当时刚成立的W3C于1995年3月提出的,提供了很多新的特性,如表格、文字绕排和复杂数学元素的显示。虽然它是被设计用来兼容2.0版本的,但是实现这个标准的工作在当时过于复杂,在草案于1995年9月作废时,标准开发也因为缺乏浏览器支持而中止。3.1版从未被正式提出,而下一个被提出的版本是开发代号为Wilbur的HTML 3.2,去掉了大部分3.0中的新特性,但是加入了很多特定浏览器,例如Netscape和Mosaic的元素和属性。HTML对数学公式的支持最后成为另外一个标准MathML。

HTML 4.0同样也加入了很多特定浏览器的元素和属性,但是同时也开始“清理”这个标准,把一些元素和属性标记为过时,建议不再使用它们。

HTML 5草案的前身名为Web Applications 1.0。于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的HTML工作团队。在2008年1月22日,第一份正式草案发布。2.2.2 JavaScript技术

JavaScript是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。

它最初由Netscape的Brendan Eich设计。JavaScript是Oracle(甲骨文)公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含3个部分:ECMAScript、文档对象模型、浏览器对象模型。

Netscape最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似,是当时Netscape为了营销考虑与Sun微系统达成协议的结果。为了取得技术优势,Microsoft推出了JScript来迎战JavaScript的脚本语言。为了互用性,Ecma国际创建了ECMA-262标准(ECMAScript)。两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而不是作为给程序人员的脚本语言来推广和宣传,但是JavaScript具有非常丰富的特性。

发展初期,JavaScript的标准并未确定,同期有Netscape的JavaScript,微软的JScript和CEnvi的ScriptEase三足鼎立。1997年,在Ecma的协调下,由Netscape、Sun、微软、Borland组成的工作组确定统一标准:ECMA-262。

1.JavaScript脚本语言的特点(1)脚本语言

JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。(2)基于对象

JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。(3)简单

JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。(4)动态性

JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行点击或上下移动等操作,JavaScript都可直接对这些事件给出相应的响应。(5)跨平台性

JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支持JavaScript脚本语言,JavaScript已被大多数的浏览器所支持。

不同于服务器端的脚本语言,如PHP与ASP,JavaScript主要作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。

随着服务器的逐步强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。同时,有些特殊功能(如Ajax)必须依赖JavaScript在客户端进行支持。随着引擎(如V8)和框架(如Node.js)的发展,及其事件驱动及异步IO等特性,JavaScript逐渐被用来编写服务器端程序。

2.JavaScript的主要功能(1)动态的文件内容

JavaScript可以直接输出HTML标签,并使用程序变量更改输出内容,建立动态文件的内容或图片。(2)更改HTML标签的样式和属性

对于HTML标签的属性和CSS样式,JavaScript可以获得属性和样式值,并动态地更改其内容。(3)窗体验证和发送

JavaScript能够编写程序代码,在HTML窗体数据送到服务器前,验证用户输入的数据是否合理,建立客户端窗体字段的验证规则。(4)处理网页或HTML标签的事件

JavaScript能够建立HTML网页或各标签的事件处理程序。例如,当HTML文件加载完成的,按下按钮字段或超链接等HTML标签的事件。(5)Web应用程序

JavaScript为客户端的Script语言,在Client/Server应用程序中用来建立Client客户端的应用程序,搭配服务器ASP、ASP.NET或其他技术的应用程序建立完整的电子商务应用程序。2.2.3 CSS技术

层叠样式表(Cascading Style Sheets,CSS)是一种用来表现HTML或XML等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

CSS能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。主要用于控制Web页面的外观,而且能使页面的内容与其表现形式之间进行优雅地分离。

CSS为HTML提供了一种样式描述,定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。总体来说,CSS具有以下特点:(1)丰富的样式定义

CSS提供了丰富的文档样式外观,以及设置文本和背景属性的能力;允许为任何元素创建边框,以及元素边框与其他元素间的距离;允许随意改变文本的大小写方式、修饰方式以及其他页面效果。(2)易于使用和修改

CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用。总之,CSS样式表可以将所有的样式

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载