云计算:概念 现状及关键技术
1 绪论 今天,计算资源在人们的日常生活中逐渐变得不可或缺,于是如何以更好地方式给公众提供计算资源受到很多研究人员和 实践者的关注。 随着多核处理器、虚拟化、分布式存储、宽带互联网和自动化管理等技术的发展,产生了一种新型的计算模式——云计算 ,它能够按需部署计算资源,用户只需要为所使用的资源付费。从本质上来讲,云计算是指用户终端通过远程连接,获取 存储、计算、数据库等计算资源。云计算在资源分布上包括“云”和“云终端”。“云”是列互联网或大型服务器集群的 一种比喻,由分布的互联网基础设施(网络设备、服务器、存储设备、安全设备等)等构成,几乎所有的数据和应用软件, 都可存储在“云”里,“云终端”,例如PC、手机、车载电子设备等,只需要拥有一个功能完备的浏览器,并安装一个简 单的操作系统,通过网络接入“云”,就可以轻松地使用云中的计算资源。 本文旨在探讨云计算的概念、现状及其关键技术,组织如下:第一节讨论云计算的产生、定义及其特点;第二节研究云计 算的发展现状,分析比较几个典型的云计算平台;第三节探讨云计算的体系结构和部分关键技术。 2云计算概念 2.1 云计算的产生背景 21世纪初期,崛起的Web2.0让网络迎来了新的发展高峰。网站或者业务系统所需要处理的业务量快速增长,例如视频在线 或者照片共享,这样的网站需要为用户储存和处理大量的数据。这类系统所面临的重要问题是如何在用户数量快速增长的 情况下快速扩展原有系统,随着移动终端的智能化、移动宽带网络的普及,将有越来越多的移动设备进入互联网,意味着 与移动终端相关的IT系统会承受更多的负载,而列于提供数据服务的企业来讲,IT系统需要处理更多的业务量。由于资源 的有限性,电力成本、空间成本、各种设施的维护成本快速上升,直接导致数据中心的成本上升,这就面临着怎样有效地 利用这些资源,以及如何利用更少的资源解决更多的问题。 同时,随着高速网络连接的衍生,芯片和磁盘驱动器产品在功能增强的同时,价格也在变得甘益低廉,拥有成百上千台计 算机的数掂中心也具备了快速为大量用户处理复杂问题的能力。技术上,分布式计算的日益成熟和应用,特别是网格计算 的发展通过Internet把分散在各处的硬件、软件、信息资源连接成为一个巨大的整体,从而使得人们能够利用地理上分散 于各处的资源,完成大规模的、复杂的计算和数据处理的任务oJ。数据存储的快速增长产生了以GFS(Google File System) 、SAN(Storage Area Network)为代表的高性能存储技术。服务器整合需求的不断升温推动了Xen等虚拟化技术的进步还有 Web2 0的实现,SaaS(Software as a Service)观念方兴未艾,多核技术的普及等,所有这些技术为产生更强大的计算能力和服务提供了可能。 计算能力和资源利用效率的迫切需求,资源的集中化和技术的进步,推动云计算应运而生。 2 2云计算的定义 为了更好地理解云计算,先让我们举个生活中的例子、这就好比是从古老的单台发电机模式转向了电厂集中供电的模式。 它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉,最大的不同在于,它是通 过互联网进行传输的。让用户通过高速互联网租用计算资源,而不冉需要自己进行大量的软硬件投资。 许多计算技术研究人员和实践者已经尝试着以各种各样的方式定义云计算。 基于云计算的发展和我们对云计算的理解,我们给出如下定义: 云计算是一种新兴的共享基础架构的方法。它统一管理大量的物理资源,并将这些资源虚拟化,形成一个巨大的虚拟化资 源池。云是一类并行和分布式的系统,这些系统由一系列互联的虚拟计算机组成。这些虚拟计算机是基于服务级别协议(供 应者和消费者之问协商确定)被动态部署的,并且作为一个或多个统一的计算资源而存在。 云计算可以按照用户对资源和计算能力的需求动态部署虚拟资源,而不受物理资源的限制。用户所有基于云的计算和应用 工作在虚拟化的资源上,不需要关心这些资源部署在哪些物理资源上,用户可以方便地变更对计算资源的需求。 2.3云计算的特点 从现有的云计算半台来看,它与传统的单机和网络应用模式相比,具有如下特点: 1)虚拟化技术:这是云计算最强调的特点,包括资源虚拟化和应用虚拟化。每一个应用部署的环境和物理平台是没有关系 的。通过虚拟半台进行管理达到对应用进行扩展、迁移、备份,操作均通过虚拟化层次完成。 2)动态可扩展:通过动态扩展虚拟化的层次达到对应用进行扩展的目的。:可以实时将服务器加入到现有的服务器机群中 ,增加“云”的计算能力。 3)按需部署:用户运行不同的应用需要不同的资源和计算能力。云计算平台可以按照用户的需求部署资源和计算能力。 4)高灵活性:现在大部分的软件和硬件都对虚拟化有一定支持,各种IT资源,例如,软件、 硬件、操作系统、存储网络等所有要素通过虚拟化,放在云计算虚拟资源池中进行统一管理。同时,能够兼容不同硬件厂 商的产品,兼容低配置机器和外设而获得高性能计算。 5)高可靠性:虚拟化技术使得用户的应用和计算分布在不同的物理服务器上面,即使单点服务器崩溃,仍然可以通过动态 扩展功能部署新的服务器作为资源和计算能力添加进来,保证应用和计算的正常运转。 6)高性价比:云计算采用虚拟资源池的方法管理所有资源,对物理资源的要求较低。可以使用廉价的PC组成云,而计算性 能却可超过大型主机。3云计算现状 3.1 发展中的云计算服务 目前,已经涌现的云计算服务形态包括从技术、半台供应商到软件服务提供商,从成熟的应用 程序到存储服务再到垃圾邮件过滤等,不一而足。 根据不同服务的特性可以将云计算分为以下几种类型: 3 1 1云计算基础架构 这类云计算提供底层的技术平台以及核心的云服务,是最为全面的云计算服务。Amazon、Google等推出的云计算服务可以 归于这类。这种云计算服务形态将支撑起整个互联网的虚拟中心,使其能够将内存、I/O设备、存储和计算能力集中起来成为一个虚拟的资源池为整个网络提供服务。3 1 2云计算半台服务 这种形式的云计算也被称为半台即服务PaaS(Platfbrm as a Service),它将开发环境作为服务来提供。:这种形式的云计 算可以使用供应商的基础架构来开发自己的程序,然后通过网络从供应商的服务器上传递给用户。典型的实例比如 Salesforce com的Force tom开发半台。 3 1 3云计算软件服务 这种类型的云计算称之为软件即服务SaaS,它通过浏览器把程序传给用户。.从用户的角度,这样会省去在服务器和软件 授干义上的开支;从供应商的角度看,这样只需要维持一个程序就够了,减少了维护成本。Salesforce com是迄今为止这 类服务最为有名的公司。SaaS在CRM、ERP中比较常用,Google Apps和Zoho Office也提供类似的服务。 3. 1.4云计算API 这类服务供应商提供API(Application Programming Interface)让开发者能够开发更多基于互联网的应用,帮助开发商拓 展功能和服务,而不是只提供成熟的应用软件他们的服务范围从提供分散的商业服务到Google Maps等的全套API服务。这 与软件即服务有着密切的关系。 3. 1. 5云计算互动半台 该类云计算为用户和提供商之问的互动提供了一个半台。例如,RightScale利用Amazon EC2网络计算服务和s3网络存储服 务的API提供一个操作面板和AWS(Amazon’s Web Services)前端托管服务。 3.2几个典型的云计算平台 Morgan Stanley的研究表明云计算已经成为突出的技术趋势之一。随着计算技术行业不断出现的为个人和企业提供随时随 地按需方问的PaaS和SaaS,可利用的云计算平台将不断增加,很多研究单位和工业组织已经开始研究开发云计算的相关技 术和基础架构。本节我们将比较几个典型的云计算半台,如表l,并列部分云计算平台进行探讨。 亚马逊(Amazon tom)的云计算称之为亚马逊网络服务(AWS),它主要由四块核心服务组成:Simple Storage Service(简单 存储服务)、ElasticCompute Cloud(弹性计算云EC2)、Simple QueuingServices(简单排列服务)以及SimpleDB(简单数据库。换句话说,目前亚马逊所提供的是可以通过网络访问的存储,计算机处理,信息排队和数据库管理系统接入式服务 。无论是个人还是大型企业,只要是使用AWS的研发人员都可以在亚马逊的基础架构上进行应用软件的研发和交付,而无需实现配置软件和服务器。 Google比一般网站更甲遭遇分布才能存储的数据。凼此Google开发了特有的GFS(分布式文件系统)、MapReduce(分布式计算 模型)和BigTable(分布式存储系统),这正是Google“云”的基础架构。Google“云”是几万甚至大约100万台廉价的服务器所组成的网络。Google的Google AppEngine允许用户运行使用Pythontn言编写的席用程序。同时,GoogleAppEngine 支持多种API,并为用户提供基于Web的管理控制台,方便用户管理他们的Web应用程序。 Microsoft Live Mesh目的在于为用户提供应用和数据的网络存储,用户可以随时随地使用终端设备通过网络访问。这需要 用户使用基于Web的Live Desktop或者在自己的设备上安装Live Mesh软件。Live Mesh中所有数据的传输通过SSL(Secure Socket Layers)保护。 IBM的“蓝云(Blue Cloud)”基于Almaden研究中心的云基础架构,包括虚拟化Linux服务器、并行一作负载安排(Hadoop)和 Tivoli管理软件。“蓝云”由IBM Tivoli软件支持,通过管理服务器来确保基于需求的最佳性能。这包括能够跨越多服务 器实时分配资源的软件,为客户带来一种无缝体验,加速性能并确保在最苛刻环境下的稳定性。 此外,Sun公司推出“黑盒子”计划,还有Salesforce、Oracle、EMC等公司加入进来。但是每种半台都有其优点和局限性 。目前,云计算还没有一个统一的标准,虽然一些半台已经为很多用户所使用,但是云计算在私有权、数据安全、IT业标准、厂商锁定和高性能应用软件方面也面临着各种问题,这些问题的解决需要技术的进一步发展。4云计算关键技术 按需部署是云计算的核心。要解决好按需部署,必须解决好资源的动态可重构、监控和自动化部署等、而这些又需要以虚 拟化技术、高性能存储技术、处理器技术、高速互联网技术为基础。所以云计算除了需要仔细研究其体系结构外,还要特 别注意研究资源的动态可重构、自动化部署、资源监控、虚拟化技术、高性能存储技术、处理器技术等、本节将探讨云计 算的体系结构和部分关键技术。 4.1体系结构 为了有效支持云计算,半台的体系结构必须支持几个关键特征。首先,这些系统必须是自治的,也就是说,它们需要内嵌 有自动化技术,减轻或消除人工部署和管理任务,而允许平台自己智能地响应应用的要求其次,云计算架构必须是敏捷的,能够对需求信号或变化的一作负载做出迅疾的反应。换句话说,内嵌的虚拟化技术和集群化技术,能应付增长或服务级 要求的快速变化。 云计算平台的体系结构如图1,是一个云服务器的互连网络图: ·用户界面:“云”用户请求服务的交互界面。 ·服务目录:用户可选择的服务列表。 ·管理系统:用来管理可用计算资源和服务 ·部署工具:自治的,根据用户请求智能地部署资源和应用,动态地部署、配置和回收资源。 ·监控:监控云系统资源的使用情况,以便做出迅疾的反应。 ·服务器集群:虚拟的或者物理的服务器,由管理系统管理。 4.2自动化部署 自动化部署,是指通过自动安装和部署,将计算资源从原始状态变为可用状态。在云计算中体现为将虚拟资源池中的资源 进行划分、安装和部署成可以为用户提供各种服务和应用的过程。这里的资源包括硬件资源(服务器)、软件资源(用户需要的软件和配置),还有网络资源和存储资源。 系统资源的部署需要多个步骤,自动化部署通过凋用脚本,实现不同厂商设备管理工具的自动配置、应用软件的部署和配 置,确保这些调用过程可以以静默的方式实现,免除了大量的人机交互,使得部署过程不再依赖于现场人工操作。整个部 署过程基于工作流来实现,如图2所示: 其中,工作流引擎和数据模型是我们在自动化部署管理工具中涉及的功能模块,通过将具体的软硬件甚至逻辑概念定义在 数据模型中,管理工具可以标识并在工作流中调度这些资源,实现分类管理。工作流引擎是调用和触发工作流,实现部署 自动化的核心机制,自动将不同种类的脚本流程整合在一个集中、可重复使用的工作流数据库中。这些工作流可以自动完 成原来需要手工完成的服务器、操作系统、中问件、应用程序、存储器和网络设备的供廊和配置任务。 4 3资源监控 “云”通常具有大量服务器,并且资源是动态变化的,需要文时、准确、动态的资源信息。资源监控可以为“云”对资源 的动态部署提供依据,并有效地监控资源的使用情况和负载情况。 资源监控是实现“云”资源管理的一个重要环节。它可提供对系统资源的实时监控,并为其它子系统提供系统性能信息, 以便更好地完成系统资源的分配。 云计算通过一个监视服务器监控和管理计算资源池中的所有资源通过在云中的各个服务器上部署Agent代理程序,配置并监 视各资源服务器,并定期将资源使用信息数据传送至数掂仓库。监视服务器列数据仓库中的“云”资源使用数据进行分析 ,跟踪资源的可用性和性能,并为问题故障的排除和资源的均衡提供信息。5结束语 目前,云计算还处于起步阶段,毫无疑问云计算前景光明。它可能彻底改变用户对计算资源的使用方式,使得用户从以桌 面为核心转向以Web为核心。在本文中,我们已经讨论了云计算的现有服务,对比分析了现有的云计算平台、随着云计算的发展,将会有更多的平台和服务类型不断涌现。 云计算不仅仅是一个计算问题,它需要融合许多技术和成果。本文探讨了云计算的部分关键技术,还有更多的技术需要继 续研究。在Google与IBM的支持下,美国的多所大学参与到云计算的研究及教学中,包括卡内基梅隆大学、麻省理工学院、 斯坦福大学、加州大学伯克利分校、马克兰大学和华盛顿大学等。国内也有学校加入到这个研究计划中。 我们相信,随着越来越多的参与者加入到云计算的研究与发展中,云计算会出现一些新的结构模式、开发平台和应用软件 ,推动云计算及其应用日益走向成熟。
页:
[1]