云服务
- 格式:docx
- 大小:579.60 KB
- 文档页数:34
第一章初识云计算第一节云计算的定义自2007年IBM正式提出云计算的概念以来,许多专家、研究组织以及相关厂家从不同的研究视角给出了云计算的定义,目前关于云计算的定义已有上百种。
维基百科的定义:云计算是通过Internet提供动态的、易扩展的、虚拟化的计算资源的一种计算方式,用户不需了解“云”中基础设施的细节,不必具有相应的专业知识,也无需进行直接地控制。
伯克利云计算白皮书的定义:云计算包括互联网上各种服务形式的应用以及应用所依托的数据中心的软硬件设施。
应用服务即SaaS(software as a service,软件即服务),而数据中心的软硬件设施即所谓的云。
通过量入为出的方式提供给公众的云称为公共云,如Amazon S3(simple storage service)、Google App Engine和Microsoft Azure等,而不对公众开放的组织内部数据中心的云称为私有云。
Foster et al对云计算的定义:规模经济驱动的大型的分布式计算范式,通过Internet向外部用户提供抽象的、虚拟的、动态可扩展的以及可管理的计算能力服务、存储服务以及平台服务。
Buyyaa et al认为:云是包括大量互相联系的虚拟机的并行分布系统,基于服务水平协议(SLA,service level agreement),一个或者多个虚拟机可作为统一的计算资源动态地提供和展示。
Luis et al认为:云是一个易于利用和访问的大型的虚拟资源池,可根据变化的负载规模对资源池中的资源进行动态地配置,资源以按次计费的方式被使用,基础设备提供商通过SLA 保证其服务质量。
刘鹏认为:云计算是一种商业计算模型,它将计算任务分布在大量的计算机构成的资源池上,用户能够按需获取计算力、存储空间和信息服务。
这种资源池称为云,是一些可以自我维护和管理的虚拟计算资源,通常是一些大型的服务器集群,包括计算服务器、存储服务器和宽带资源等。
陈康等认为:云计算一词用来同时描述一个系统平台或者一种类型的应用程序。
云计算平台可按需进行动态地部署、配置以及取消服务等。
在云计算平台中的服务器可以是物理的,也可以是虚拟的。
云计算应用是一种可以通过Internet访问的可扩展的应用程序,云应用使用大规模的数据中心以及功能强大的服务器来运行网络应用程序和网络服务。
任何一个用户通过核实的互联网接入设备以及一个标准的浏览器都能够访问一个云计算应用程序。
Lin et al认为:云计算对于应用和IT用户来说,即“IT即服务”,计算能力、存储以及应用等服务通过Internet从数据中心传递给用户;对于Internet应用开发者来说,即基于Internet的软件开发平台;对于基础设施提供商和管理者来说,即通过IP网络连接的分布式数据中心的基础设施。
以上对于云计算的定义各有侧重,从根本上说,云计算是以虚拟技术为核心技术,以规模经济为驱动,以Internet为载体,以由大量的计算资源组成的IT资源池为支撑,按照用户需求动态地提供虚拟化的、可伸缩的IT服务。
在云计算模式下,不同种类的IT服务按照用户的需求规模和要求动态地构建、运营和维护,用户一般以量入为出的方式支付其利用资源的费用。
所以,云计算的使能因素主要包括三个方面的内容:技术因素是云计算的技术使能支撑,例如虚拟化技术、WEB210技术、编程模式、全球化的分布式存储系统、网络服务以及面向服务的体系架构、计费管理等;经济因素是云计算商业化使能的支撑,例如合理的商业模式、清晰的产业结构等;政策因素是保证云计算服务质量和合法性的社会使能支撑,例如政府的支持政策以及各种健全的监管制度。
第二节发展背景云计算背后的概念可以追溯到1960年,当时计算机科学家John McCarthy认为:有朝一日计算很有可能会成为一种公共事业。
在20世纪60年代,在商业应用当中已经将“云”这个词语用来指代大型的ATM网络。
而到了2l世纪初的时候,尽管“软件即服务”是那个时候的焦点,“云计算”这个后来日益流行的词语就已经出现。
美国的亚马逊公司(Amazon)在云计算的发展过程中扮演了重要的角色。
在互联网泡沫破灭之后,亚马逊公司借助于他们所拥有效用计算(Utility Computing)的基础,从2002年起开始通过亚马逊网络服务提供系统接入,从而将他们的网络数据中心模块化。
进而他们发现这种新的“云”结构带来了内部效率的显著提升。
2007年,谷歌(Google)公司,IBM以及许多的大学启动了大型的关于云计算的研究项目。
从这个时候起,云计算也开始成为主流媒体的热门词汇。
IBM于2007年8月高调推出“蓝云(Blue Cloud)”计划。
微软公司正在通过Windows Live 向用户提供云计算服务。
微软正在创造这样一种用户体验,即从一般的设备存储转移到任何时间都可以存储的模式。
亚马逊(Amazon.corn)于2007年向开发者开放了名为“弹性计算机云”的服务,让小软件公司可以按需购买亚马逊数据中心的处理能力。
2007年11月,雅虎也将一个小规模的服务器群,即“云”,开放给卡内基.梅隆大学的研究人员。
惠普、英特尔和雅虎三家公司联合创立一系列数据中心,目的同样是推广云计算。
进入2008年以来,云计算(Cloud Computing)已不仅是国际IT业界热炒的概念,而且开始在中国落地生根。
2008年3月17日,Google,宣布在中国大陆推出“云计算(Cloud Computing)”计划。
2008年初,IBM与无锡市政府合作建立了无锡软件园云计算中心,开始了云计算在中国的商业应用。
2008年7月份瑞星推出了“云安全”计划。
越来越多的IT供应商将中国作为云计算业务发展的热点区域,云计算业务在中国市场具有巨大的发展潜力。
第三节云计算的类型和框架从云计算部署的角度,云计算分为私有云、社区云、公共云和混合云。
私有云被一个组织管理操作。
社区云由多个组织共同管理操作,具有一致的任务调度和安全策略。
公共云由一个组织管理维护,提供对外的云服务,可以被公众所拥有。
混合云是以上两种或两种以上云的组合。
从云计算服务的角度,云计算服务类型可以分为基础设施即服务(Iaas)、平台即服务(Paas)、软件即服务(Saas)。
(1)Iaas在服务层次上是最底层服务,接近物理硬件资源,通过虚拟化的相关技术,为用户提供处理、存储、网络以及其他资源方面的服务,以便用户能够部署操作系统和运行软件。
这一层典型的服务如亚马逊的弹性云(Amazon,EC2)和Apache的开源项目Hadoop。
EC2与Google提供的云计算服务不同,Google只为在互联网上的应用提供云计算平台,开发人员无法在这个平台上工作,因此只能转而通过开源的Hadoop软件支持来开发云计算应用。
而EC2给用户提供一个虚拟的环境,使得可以基于虚拟的操作系统环境运行自身的应用程序。
同时,用户可以创建亚马逊机器镜像(AMI),镜像包括库文件、数据和环境配置,通过弹性计算云的网络界面去操作在云计算平台上运行的各个实例(Instance),同时用户需要为相应的简单存储服务(S3)和网络流量付费。
Hadoop是一个开源的基于Jave的分布式存储和计算的项目,其本身实现的是分布式文件系统(HDFS)以及计算框架MapReduce 。
此外,Hadoop包含一系列扩展项目,包括了分布式文件数据库HBase(对应Google的BigTable)、分布式协同服务ZooKeeper(对应Google的Chubby)等等。
Hadoop有一个单独的主节点,主要负责HDFS的目录管理(Name-Node)以及作业在各个从节点的调度运行(JobTracker)。
(2)Paas是构建在基础设施即服务之上的服务,用户通过云服务提供的软件工具和开发语言,部署自己需要的软件运行环境和配置。
用户不必控制底层的网络、存储、操作系统等技术问题,底层服务对用户是透明的,这一层服务是软件的开发和运行环境。
这一层服务是一个开发、托管网络应用程序的平台,代表性的有Google App Engine 和Microsoft Azure。
使用Google App Engine,用户将不再需要维护服务器,用户基于Google的基础设施上传、运行应用程序软件。
目前,Google App Engine用户使用一定的资源是免费的,如果使用更多的带宽、存储空间等需要另外收取费用。
Google App Engine提供一套API使用Python或Jave来方便用户编写可扩展的应用程序,但仅限Google App Engine范围的有限程序,现存很多应用程序还不能很方便地运行在Google App Engine上。
Microsoft Azure构建在Microsoft 数据中心内,允许用户应用程序,同时提供了一套内置的有限API,方便开发和部署应用程序。
此平台包含在线服务Live Services、关系数据库服务SQL Services、各式应用程序服务器服务.NET Services等。
(3)最上一层Saas,该服务是前两层服务所开发的软件应用,不同用户以简单客户端的方式调用该层服务,例如以浏览器的方式调用服务。
用户可以根据自己的实际需求,通过网络向提供商定制所需的应用软件服务,按服务多少和时间长短支付费用。
最早提供该服务模式的是Sales force公司运行的客户关系管理系统(CRM),它是在该公司Pass的 平台下开发的Saas,而Google的在线办公自软件如文档、表格、幻灯片处理也是采用Saas 服务模式。
云计算提供的不同层次服务使开发者、服务提供商、系统管理员和用户面临许多挑战。
图1. 1对此做出归纳概述。
底层的物理资源经过虚拟化转变为多个虚拟机,以资源池多重租赁的方式提供服务,提高了资源的效用。
核心中间件起到任务调度、资源和安全管理、性能监控、计费管理等作用。
一方面,云计算服务中涉及到大量的调用第三方软件及框架和重要数据处理的操作,这需要有一套完善的机制,以保证云计算服务安全有效地运行;另一方面,虚拟化的资源池所在的数据中心往往电力资源耗费巨大,解决这样的问题需要设计有效的资源调度策略和算法。
在用户通过代理或者直接调用云计算服务的时候,需要和服务提供商之间建立服务等级协议(Service Level Agreement,SLA),那么必然需要服务性能监控,以便设计出比较灵活的付费方式。
此外,还需要设计便捷的应用接口,方便服务调用。
而用户在调用中选择什么样的云计算服务,这就要设计合理的度量标准并建立一个全球云计算服务市场以供选择调用。
图1. 1 云计算框架图第四节云计算的层次结构互联网被比喻为“云”,正体现了其结构也如天空中的云层一般,是由多个重要层面组成的。