1.1 什么是云计算
随着计算机技术的不断发展,云计算已经成为推动社会生产力变革的新生力量,那么什么是云计算?它有什么特点?以下一一进行介绍。
1.1.1 云计算的定义
到目前为止,业界对云计算的定义达100多种,尚没有一个统一的定义。云计算行业的领先者如Google、Microsoft等IT厂商及研究机构,依据各自的利益和各自不同的研究视角给出了以下对云计算的定义和理解。
1)维基百科:云计算是一种动态扩展的计算模式,通过计算机网络将虚拟化的资源作为服务提供给用户;云计算通常包含基础设施即服务(Infrastructure as a Service,IaaS)、平台即服务(Platform as a Service,PaaS)、软件即服务(Software as a Service,SaaS)。
2)Google:将所有的计算和应用放置在“云”中,终端设备不需要安装任何软件,通过互联网来分享程序和服务。
3)微软:云计算是“云+端”的计算,将计算资源分散分布,部分资源放在云上,部分资源放在用户终端,部分资源放在合作伙伴处,最终由用户选择合理的计算资源。
4)互联网数据中心(International Data Corporation,IDC):云计算是一种新型的IT技术发展、部署及发布模式,能够通过互联网实时提供产品、服务和解决方案。
5)美国国家标准与技术实验室(National Institute of Standards and Technology,NIST):云计算是一种无处不在的、便捷的、通过互联网访问的一个可定制的IT资源(IT资源包括网络、服务器、存储、应用软件和服务)共享池,是一种按使用量付费的模式。它能够通过最少量的管理或与服务供应商的互动实现计算资源的迅速供给和释放。这是现阶段广为接受的云计算的定义。
6)美国联邦云计算战略报告中,定义了四种云。
● 公有云:提供面向社会大众、公共群体的云计算服务。如Amazon云平台、Google App Engine等。公有云有很多优点,但最大的一个缺点是难以保证数据的私密性。
● 私有云:提供面向行业/组织内的云计算服务。如政府机关、企事业单位、学校等内部使用的云平台。私有云可较好地解决数据私密性问题,对数据私密性要求特别高的行业或组织,建设私有云将是一个必然的选择。例如Window Azure是私有云平台管理和服务软件。
● 社区云:提供面向社团组织内用户使用的云计算平台。如美国航天局(National Aeronautics and Space Administration,NASA)的Nebula云平台为NASA的研究人员提供快速的IT访问服务。
● 混合云:包含上述两种以上云计算类型的混合式云平台。
7)我国对云计算定义:2012年3月,在国务院政府工作报告中,将云计算作为国家战略性新兴产业,并给出了定义——云计算是基于互联网服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云计算是传统计算机和网络技术发展融合的产物,它意味着计算能力也可作为一种商品通过互联网进行流通。
云计算可以分为广义的和狭义的两类,狭义的云计算是指IT基础设施的交付和使用模式,即通过网络需求、扩展的方式获得所需的资源;广义的云计算是指服务的使用和交付模式,即通过网络按需求、扩展的方式获得对应的服务,它具有超大规模、虚拟化、可靠安全等特性。
简而言之,云计算是一种通过互联网以服务的方式提供动态可伸缩的虚拟化资源的计算模式。云计算的资源是分布式的,通过虚拟化技术动态易扩展。云计算是通过互联网提供的一种具有服务等级协议(Service-Level Agreement,SLA)的服务。SLA协议是云服务提供商和客户之间的一份商业保障合同,而非一般的服务承诺。终端用户不需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无须直接进行控制,只关注自己真正需要什么样的资源以及如何通过网络来得到相应的服务即可。
1.1.2 云计算的概念模型
从以上云计算的概念可知,云计算的实质是网络下的应用,其业务实现的概念模型,如图1-1所示。云计算包含了多层含义。
1)用户的公共性。云计算面向各类用户,包括企业、政府部门、学术机构、个人等用户,也包括应用软件、中间件平台等“用户”。中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算机资源和网络通信,它是连接两个独立应用程序或独立系统的软件。
2)设备的多样性。云计算用于提供服务的设备是多样的,既包括各种规模的服务器、主机、存储设备,也包括各种类型的终端设备,如计算机、智能手机、各种智能传感器、RFID(Radio Frequency Identification,射频识别。它是一种通信技术,可通过无线电信号识别特定目标并读写相关数据,而无须在识别系统与特定目标之间建立机械或光学接触)设备等。
3)商业模式的服务性。云计算的服务特性体现在两个方面:简化和标准的服务接口、按需计费的商业模式。
4)提供方式的灵活性。云计算既可以作为一种公用设施,提供社会服务,即“公有云”,也可以作为企业信息化的集中计算平台来提供,即“私有云”。
图1-1 云计算的概念模型
1.1.3 云计算的特点
与传统计算机系统相比,云计算具有以下特点。
1)具有大规模并行计算能力。基于云端的强大而廉价的计算能力,为大粒度应用提供传统计算系统或用户终端所无法完成的计算服务。云计算系统的计算资源包括:CPU运算资源、存储资源、网络带宽等。一般企业私有云有成百上千台服务器,有的甚至是上百万台服务器。
2)资源虚拟化(Virtualization)和弹性调度。云计算系统的资源池中包括存储、处理器、内存、网络带宽等资源。它们以按需分配方式,为小粒度应用提供计算资源,实现资源共享。并且,云计算系统的规模可以动态地伸缩,满足不同的应用和不同的用户需求。同时,云计算系统中不同的物理机和虚拟机资源可根据客户需求动态分配。客户所获得到的资源可能来自于北京的云计算资源,也可能来自于上海的云计算资源。虚拟化技术也是云计算的核心技术之一,包括了网络虚拟化、存储虚拟化、服务器虚拟化、操作系统虚拟化、应用虚拟化等。
3)数据量巨大并且增速迅猛。由于在云计算环境下,人们既是信息的使用者,也是信息的创造者,导致互联网上的信息量剧增,那么如何使用这些数据为人们提供更好的服务成为目前的研究热点,并产生了典型的大数据处理技术,如Hadoop、Spark、Storm等,而这些技术都与云计算密不可分。
云计算还有一些其他特点:高可靠性,云计算应用了数据多副本容错,计算结点同构可互换等措施保证高可靠性;通用性,即同一个云可以支持不同的应用运行;高性价比,云计算相对低廉的价格使得用户使用起来更“实惠”。