- 企业云计算:原理、架构与实践指南
- 方国伟等
- 6634字
- 2021-04-02 01:20:02
第1章 云计算与企业数字化转型
1.1 什么是云计算
1.1.1 云计算的定义
18世纪中期以来,人类历史上先后发生了三次工业革命:第一次工业革命开创了“蒸汽时代”(18世纪中期至19世纪中期),标志着人类从农耕文明向工业文明过渡;第二次工业革命引领人类进入“电气时代”(19世纪中期至20世纪中期),广泛的电力应用,标志着人类在能源运用上达到新高峰,并使世界各国的交流愈加频繁,逐渐形成一个全球化的政治、经济体系;第三次工业革命开创了“信息时代”(20世纪中期至今),从大型计算机的出现,到互联网技术席卷全球,信息交流更为便捷而迅速,大多数国家和地区被卷入到全球化进程中,人类文明的发达程度也达到空前的高度。
第三次工业革命方兴未艾,近年来,依托信息技术的高速发展,世界经济论坛创始人及执行总裁Klaus Schwab教授在其著作《第四次工业革命》(The Forth Industrial Revolution)中,将“物联网、云计算、大数据、人工智能”等新兴技术的应用定义为人类历史上第四次工业革命,预示着人类正步入一个崭新的时代——智能时代,如图1.1所示。
图1.1 第四次工业革命
云计算作为“智能时代”的核心之一,是一场由技术进步、需求推动、商业模式创新共同推动的变革,也是生产力进步和信息产业发展的必然结果。自20世纪60年代虚拟化技术诞生至今,云计算经历了长足发展。同期“效用计算”(Utility Computing,即一种基于资源使用量的付费模式)的想法由计算机科学家John McCarthy在1961年公开提出:“有一天,计算也可能像电话一样成为共用设施。”从20世纪90年代中期开始,基于Internet的各种形式的计算应用已被大众熟识,如搜索引擎、电子邮件和社交媒体平台,它们的普及验证并形成了现代云计算的核心理念——随时、随地的计算资源共享。
随着20世纪90年代后期,戴尔、亚马逊、Google、IBM等巨头的数据中心及分布式计算项目的实施,以及诸如Salesforce等企业SaaS产品的成功推广,2006年,“云计算”这一术语开始出现在商业领域,预示着云计算全面进入商业化时代。2009年,美国国家标准与技术研究院(NIST)公布了其对云计算的原始定义,随后在2011年9月,根据进一步评审和企业意见,发布了修订版定义:“云计算是一种模型,可以实现随时随地便捷、按需地从可配置计算资源共享池中获取所需的资源(例如网络服务器、存储应用程序及服务),资源可以快速供给和释放,使管理的工作量和服务提供者的介入降低至最少。”该定义已被业界广泛认可。
1.1.2 云计算的特征
云计算是虚拟化、效用计算、网格计算、基础设施/平台/软件即服务等核心概念与技术共同演进的结果,其“基于互联网的动态分配的计算机系统资源池”使得云计算具有超大规模、虚拟化资源、高可用性、通用性、高可扩展性、按需服务及低成本等特点。总结来看,其服务模式具备如下六大关键特征。
1.便捷的网络访问
用户可通过网络,采用标准机制访问物理和虚拟资源。这里的标准机制有助于不同用户通过异构平台访问资源。这一关键特性保证云计算用户可以更方便地访问物理和虚拟资源:
用户可以从任何网络覆盖的地方,使用包括移动电话、平板电脑、笔记本电脑和工作站等各种客户端设备对资源进行访问。
2.按需自助服务
云服务用户能根据需要自动配置计算能力,或通过与云服务提供者的最少交互配置计算能力。这一关键特性赋予了用户无须额外人工交互就能够根据自己的需求规划并使用计算资源的能力,在降低用户的时间成本和操作成本的同时,提高了使用效率。
3.多租户
通过对各个组织间进行数据和操作隔离,在保证数据安全性、隔离性的基础上,实现多租户的服务模式。多租户服务模式一方面支持在某些情况下,尤其在公有云和社区云部署模型下,由来自不同组织的用户组成一组云服务用户,实现以数据隔离为基础的资源共享;另一方面也支持一个云服务用户组织和一个云服务提供者之间建立多个不同的租赁关系,这些不同的租赁关系代表云服务用户组织内的不同小组。多租户服务模式为云服务提供商及租户提供了极高的灵活性,极大促进了计算资源的分配及使用效率。
4.资源池化
云服务提供者通过将云服务物理或虚拟资源进行集成,形成具备规模效应的资源池,通过对资源池中的资源进行统一分配,灵活、高效地利用资源。这一关键特性保证云服务提供者既能支持多租户,又通过抽象对用户屏蔽了复杂的处理流程。对用户来说,他们仅需要关心服务是否正常工作,而无须关心资源是如何提供或分布的。
5.弹性灵活
云计算提供者将物理或虚拟资源以快速、弹性,甚至自动化的模式提供给租户,以达到快速增减资源的目的,提升资源利用率,避免租户不必要的资源消费。对云服务用户来说,可按需购买物理或虚拟资源,购买量仅受服务协议的限制。这一关键特性保证云计算租户无须再为资源量和容量规划担心,而是可以根据自身业务需求,快速、灵活、自动地获取所需要的资源。
6.服务可计量
通过可计量的服务交付,云计算用户所使用的资源数量能够动态、自动地监控、控制、汇报和计费。这一关键特性保证用户只需对使用的资源付费。从用户的角度看,云计算通过从本质上改变用户的IT资产采购与管理模式,帮助用户极大地提升IT资产利用效率。
1.1.3 云计算的影响
云计算正在为政府、企业、社会带来诸多商业模式的变革与收益。基于IBM商业价值研究院对基于云技术的商业模式的创新研究,云计算存在成本灵活性、业务可扩展性、市场适应性、隐藏复杂性、环境驱动的可变性和生态系统连接性六种价值驱动(见图1.2)推动云技术的广泛商业应用。
图1.2 云计算的价值驱动
1.成本灵活性
灵活的成本配置是众多公司最先考虑采用云计算的主要原因。云计算可以通过从资本开支转换为运营开支来帮助公司降低固定IT成本。IT资本开支(通常包括企业软件许可证、服务器和网络设备)相比日常IT运营开支,更为固定、更加昂贵且更难于预测。使用云计算应用,无须构建硬件、安装软件或支付专用的软件许可证费用,因此公司可以从资本开支转换为运营开支或从固定开支转换为可变开支。公司仅需在需要的时候为所需的服务付费。这种“按需支付”的模型提供了更大的灵活性,公司无须再承担大量资本支出。根据KPMG曾经针对593名企业高管进行的一项“全球云调研”,70%的高管认为云计算提高了运行交付效率并节省了IT成本。
2.业务可扩展性
IT可扩展性被很多公司视为采用云计算的一大好处。但是,云计算提供的不仅仅是IT可扩展性,它还可以让公司轻松扩展业务运营。通过在没有规模限制的情况下快速配置资源,云计算能够使公司从规模经济中受益,而无须依赖自身规模。以Netflix(一家市场领先的电影和电视剧的互联网定制服务提供商)为例,由于Netflix提供视频流服务,因此会在高峰时刻面临巨大的需求量。在Netflix早期,为了不过度增加其数据中心容量,决定将网站和流媒体播放服务迁移上云。这项举措使得公司无须为了满足不断增加的需求而建立数据中心,便能为快速增长的客群提供稳定服务。如今,Netflix使用AWS(Amazon Web Service,亚马逊云服务)支持全球无缝服务。AWS使Netflix能够快速部署数千台服务器,并且在数分钟内部署数万亿字节存储。借助AWS,Netflix在全球可提供数十亿小时的内容。
3.市场适应性
在如今的经济环境中,应对瞬息万变的客户需求的能力是企业一项关键的竞争优势。为此,各公司都在不断地寻求各种方法来改善其适应市场需求的能力。通过让公司快速适应流程、产品和服务,以满足市场的不断变化,云计算可以促进快速原型设计和创新,并有助于减少上市时间。在IBM价值研究院对全球CIO的意向调研中,1/3的管理人员认为云计算可提高对市场的响应速度。
4.隐藏复杂性
除了业务可扩展性和市场适应性之外,云计算还能提供隐蔽复杂性这一优势。云计算为公司提供了一种方法来“隐藏”运营过程中的某些复杂的方面,这有助于吸引更多的消费者。由于已经针对最终用户隐藏了复杂性,公司便可以扩展产品和服务复杂度,而无须提高使用或维护这些产品或服务所必须具备的知识等级。例如,可以在“后台”进行升级和维护,最终用户无须参与。以Xerox的云打印解决方案为例,使用Xerox云打印服务,人们无论身处何处,都可以使用Xerox的云服务访问部门之外的打印机来获取所需内容的打印件。虽然从云端打印需要大量数据管理,包括对众多文件的存储、转换为可供打印的格式、分配到打印机,但是用户却看不到其中的复杂性。
5.环境驱动的可变性
由于提高了计算性能和容量,云计算可以存储有关用户偏好的信息,从而能够实现产品或服务定制。通过云提供的环境驱动的可变性可以让公司为用户提供适应用户定义环境中细微变更的个人体验,进而能够实现更加以用户为中心的体验。这是一项十分重要的云计算特性。Apple iPhone Siri完美地体现了环境驱动的可变性。它可以让用户发送消息、计划会议、打电话、查找餐馆等。Apple Phone Siri使用人工智能以及不断增加的来自全球顾客的知识库,并将其价值反馈给用户。它利用了云计算的计算能力和容量来实现定制化的、与环境相关的客户体验。
6.生态系统连接性
基于云计算的另一个业务推动因素是生态系统连接性。云计算促成了与合作伙伴和客户的外部协作,从而可以改善生产力,提高创新能力。基于云计算平台可以汇集不同群体的人,他们可以开展协作,分享资源、信息和流程。小米公司是一家专注于高端智能手机、互联网电视以及智能家居生态链建设的创新型科技企业。其核心战略为打造一个互联互通、开放的家居生态。通过小米生态云,将小米公司的诸多终端设备互联互通,为消费者提供全套的智能体验。以“语音交互”功能为例,包括其音箱、手表等11个产品类别中,大概有43个产品可被语音控制,并形成与云的交互。
1.1.4 云计算服务模式
云计算服务模式处于不断发展的状态,由最初的基础设施即服务(IaaS),到此后的一切皆服务(Everything as a Service,XaaS)概念,存在诸多交付模式。其中最常见的三种模式如图1.3所示。
图1.3 云计算服务模式
1.IaaS(基础设施即服务)
将计算、存储、网络和其他基本的计算资源作为服务提供给用户,支持用户部署和运行任意软件,包括操作系统和应用程序。用户无须管理或控制底层的云计算基础设施,但能控制操作系统、存储、应用部署,也可以对一些网络组件(例如防火墙)做有限的控制。
2.PaaS(平台即服务)
将操作系统、中间件、运行时、开发工具库作为服务提供给用户,为用户提供将应用程序向云计算平台部署的能力。用户无须管理或控制底层的云计算基础设施,包括网络、服务器、操作系统、存储,但用户能对部署的应用程序进行控制,同时可以对应用程序托管环境进行配置。
3.SaaS(软件即服务)
将特定功能的应用程序作为服务提供给用户。应用程序可以在各种客户端设备上通过瘦客户端界面访问,如浏览器或者应用程序接口。除了有限的客户可定制配置外,用户无须管理或控制底层的云计算基础设施,包括网络、服务器、操作系统、存储,甚至包括单个应用程序的功能。
1.1.5 云计算部署模式
云计算部署模式表示的是某种特定的云环境类型,主要由所有权、大小和访问方式进行区分,不同的部署模式对基础架构提出了不同的要求。目前,业界存在四种通用的云计算部署模式,即公有云(Public Cloud)、私有云(Private Cloud)、社区云(Community Cloud)和混合云(Hybrid Cloud)。
1.公有云
基于互联网向企业外部用户提供服务是公有云的主要特征。公有云服务可通过网络及第三方服务供应商开放应用给用户使用,例如Amazon的AWS、Salesforce.com等。公有云需要对用户实施严格的访问控制,在确保不同租户的数据被安全隔离的同时,提供基于互联网的弹性计算服务,并通过规模效应实现经济收益。公有云一般由云服务运营商搭建,是面向公众的云计算类型,任何人都可以申请、使用公有云资源,一般规模较大,对可靠性、安全性的要求也很高,因此其基础架构的组成往往也比较复杂。
2.私有云
私有云的建设、运营和使用都在某个组织或企业内部完成,其服务的对象被限制在组织内部,对外没有公开接口,最大程度保证了信息的安全性,因此一些大型企业通常倾向于选择部署私有云。私有云将数据、程序、网络等都在组织内部管理,不会受到网络带宽、外部安全问题和法规的限制。但私有云规模有限,当访问并发量突然增大、需要资源动态提升时,私有云很难快速、有效地扩展。私有云的设计、部署与维护也可以交由组织外部的第三方完成,充分利用外部咨询公司和系统集成商的能力。
3.社区云
社区云是针对拥有共同目标、利益的用户群体提供云计算服务的部署模式。社区云在国内也被称为团体云、行业云。社区云通常由具备特定安全要求、共同宗旨的组织共同使用云中的数据和应用程序,而其他的组织或机构不能访问其任何数据及应用。社区云与公有云的区别在于前者具备更强的目的性,其发起者往往是有共同目的和利益的机构,所以社区云的规模往往也比公有云小。例如,在美国有一个HIPAA(Health Insurance Portability and Accountability Act)社区云专门为医院及诊所提供云服务。
4.混合云
混合云就是两种或多种云部署模式的组合。混合云通过不同种云的组合和集成,可以将企业非关键信息以公有云方式进行部署,并进行管理、提供服务,同时在私有云上部署掌控企业关键服务及数据的相关应用。通过对公有云及私有云的优点进行整合,混合云往往具有更高的灵活性和可扩展性。另外,跨越不同公有云的混合云模式也逐渐兴起。混合云架构中通常有一个统一的接口或管理平台,不同的云计算模式通过这个平台以一致的方式向最终用户提供服务。企业在部署云计算时常常面临瞬息万变的需求,而混合云在应对需求的快速变化时有无可比拟的优势。四种云计算部署模式对比如图1.4所示。
图1.4 四种云计算部署模式对比
1.1.6 云计算关键技术
支撑云计算的技术非常庞杂,而且还在不断发展演进。总体而言,目前的云计算关键技术包括虚拟化技术、多租户技术、分布式系统、供给与调度技术等。
1.虚拟化技术
虚拟化技术是指通过技术手段将数据中心中的各种异构的硬件资源转换为统一的虚拟资源池,形成云计算服务资源。虚拟化技术包括计算虚拟化、网络虚拟化、存储虚拟化等各种技术。
计算虚拟化技术是指能够在一台物理服务器上运行多台虚拟服务器的技术,多台虚拟服务器之间是完全隔离的,而且虚拟服务器在用户、应用软件甚至操作系统看来几乎与物理服务器没有区别,用户可以在虚拟服务器上灵活安装各种应用软件。
网络虚拟化技术主要包括网卡虚拟化技术以及软件定义网络技术。网卡虚拟化技术将一块物理网卡虚拟成多块虚拟网卡供该物理服务器上不同的虚拟机使用。而软件定义网络技术是指将传统网络设备的控制层抽离到网络控制器上,通过软件定义的方式实现Overlay(覆盖)网络的灵活配置,从而实现与底层物理网络解耦。
存储虚拟化技术是指通过抽象、隔离等各种技术实现存储系统与应用、主机或者网络资源的分离,为用户对底层存储资源的复杂功能的访问提供简单、一致的接口,用户不必关心底层系统的复杂实现。
2.多租户技术
多租户技术的主要目的在于使大量用户能够共享同一堆栈的软硬件资源,每一个用户都按需使用资源,能够对软件服务进行客户化配置,而不影响其他用户使用,同时可确保各用户间数据的隔离性。
多租户技术可以实现多个租户之间共享系统实例,同时能满足租户的系统实例的个性化定制需求。通过使用多租户技术可以保证系统共性的部分被共享,个性的部分被单独隔离。通过在多个租户之间的资源复用,有效节省开发应用的成本。而且,在租户之间共享应用程序的单个实例,可以实现当应用程序升级时,所有租户可以同时升级,降低运营管理和维护成本。
3.分布式系统
与集中式系统相对应,分布式系统将计算任务及存储单元分散到数据中心中不同的节点上,突破了单个计算节点和存储节点的资源瓶颈。
对于需要非常大量计算的应用,如果采用集中式计算,需要耗费较长的时间,对单个计算节点的处理能力也是一个巨大的挑战,而分布式计算能够将任务分成很多子任务,分配到多个节点进行处理,大大提高了处理速度,满足海量数据的批量处理需求。
分布式存储是云端海量存储的常用存储方式,通过使用廉价PC服务器搭建大规模存储集群,分布式存储将云端的数据分布到不同的存储节点,通过将一份数据同时存储在多个存储节点上的方式,提升存储效率的同时也提升了数据的可靠性。
4.供给与调度技术
为了方便用户使用云服务,云计算服务商向用户提供了标准的接口,并根据用户的需求自动供给各类资源,包括一键启动各种配置的虚拟机、云存储、中间件等。
虚拟机迁移、资源的弹性伸缩等是云计算的基本特征。虚拟机可以突破单个物理机的限制,动态调整资源分配,消除服务器及存储设备的单点故障,实现高可用性。当一个计算节点的主机需要维护时,可以将其上运行的虚拟机通过热迁移技术在不停机的情况下迁移至其他空闲节点,用户几乎毫无察觉。在计算节点损坏的情况下,可以在数分钟甚至数秒内将其业务转移至其他节点运行,大大提高了系统的可靠性。另外,还可以根据负载情况动态弹性地调整资源供给。