本节书摘来华章计算机《云计算:概念、技术与架构》一书中的第3章 ,第3.2节,(美)Thomas Erl (英)Zaigham Mahmood 著 (巴西)Ricardo Puttini 龚奕利 贺 莲 胡 创 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
本节主要阐述一组基础术语,这些术语代表了云及其最基本部件的基本概念和特点。
云(cloud)是指一个独特的IT环境,其设计目的是为了远程供给可扩展和可测量的IT资源。这个术语原来用于比喻Internet,意为Internet在本质上是由网络构成的网络,用于对一组分散的IT资源进行远程访问。在云计算正式成为IT产业的一部分之前,云符号作为Internet的代表,出现在各种基于Web架构的规范和主流文献中。现在,同样的符号则专门用于表示云环境的边界,如图3-1所示。
区分术语“云”、云符号与Internet是非常重要的。作为远程供给IT资源的特殊环境,云具有有限的边界。通过Internet可以访问到许多单个的云。Internet提供了对多种Web资源的开放接入,与之相比,云通常是私有的,而且对提供的IT资源的访问也是需要计量的。
Internet主要提供了对基于内容的IT资源的访问,这些资源是通过万维网发布的。而对于由云环境提供的IT资源来说,主要提供的是后端处理能力和对这些能力进行基于用户的访问。另一个关键区别在于,虽然云通常是基于Internet协议和技术的,但是它并非必须基于Web。这里的协议是指一些标准和方法,它们使得计算机能以预先定义好的结构化方式相互通信。而云可以基于任何允许远程访问其IT资源的协议。
IT资源(IT resource)是指一个与IT相关的物理的或虚拟的事物,它既可以是基于软件的,比如虚拟服务器或定制软件程序,也可以是基于硬件的,比如物理服务器或网络设备(如图3-2所示)。
图3-3表示的是如何用云符号来定义一个云环境的边界,这个云环境容纳并提供了一组IT资源。图中所示的这些IT资源就被认为是基于云的。
本书含有大量如图3-3一样的图示,它们给出了涉及IT资源的技术架构和各种交互场景。在学习和使用这些图时,需要注意以下两点:
此外,还有些图示中有些IT资源在云符号之外,这表示这些资源不是基于云的。
作为一个独特且可以远程访问的环境,云代表了IT资源的一种部署方法。处于一个组织边界(并不特指云)中的传统IT企业内部承载的IT资源被认为是位于IT企业内部的,简称为内部的(on-premise)。换句话说,术语“内部的”是指“在一个不基于云的可控的IT环境内部的”,它和“基于云的”是对等的,用来对IT资源进行限制。一个内部的IT资源不可能是基于云的,反之亦然。
有三点需要注意
:
如果在私有云(参见第4章4.4节)中,难以区分是企业内部的IT资源还是基于云的IT资源,那么就需要使用明确的限定词。
提供基于云的IT资源的一方称为云提供者(cloud provider),使用基于云的IT资源的一方称为云用户(cloud consumer)。这两个术语通常代表的是与云及相应云供应合同相关的组织所承担的角色。这些角色将在第4章4.1节中进行正式定义。
从IT资源的角度来看,可扩展是指IT资源可以处理增加或减少的使用需求的能力。
可扩展主要有两种类型:
1.水平扩展
分配和释放IT资源都属于水平扩展(horizontal scaling),如图3-4所示。水平分配资源也称为向外扩展(scaling out),水平释放资源也称为向内扩展(scaling in)。水平扩展是云环境中一种常见的扩展形式。
当一个现有IT资源被具有更大或更小容量的资源所代替,则为垂直扩展(vertical scaling),如图3-5所示。被具有更大容量的IT资源代替,称为向上扩展(scaling up),被具有更小容量的IT资源代替,称为向下扩展(scaling down)。由于垂直扩展在进行替换时需要停机,因此,这种形式的扩展在云环境中不太常见。
表3-1简单对比了水平扩展和垂直扩展各自常见的优势和不足。
虽然云是可以远程访问的环境,但并非云中所有IT资源都可以被远程访问。比如,一个云中的数据库或物理服务器有可能只能被这个云中的其他IT资源访问。而有公开发布的API的软件程序可以专门部署为允许远程客户访问。
云服务(cloud service)是指任何可以通过云远程访问的IT资源。与其他IT领域中的服务技术——比如面向服务的架构——不同,云计算中“服务”一词的含义非常宽泛。云服务可以是一个简单的基于Web的软件程序,使用消息协议就可以调用其技术接口;或者是管理工具或更大的环境和其他IT资源的一个远程接入点。
如图3-6所示,在图中圆形符号表示云服务,这个云服务是一个简单的基于Web的软件程序。而在右图中,根据云服务提供的访问特性,使用了另一种不同的IT资源符号。
图3-6 具有已发布技术接口的云服务被云外用户访问(左)。作为云服务的虚拟服务器也可以被云边界之外访问(右)。左边的云服务很有可能被用户程序调用,程序会访问云服务的已发布的技术接口。右边的云服务可以被用户访问,用户远程登录到该虚拟服务器上
云计算背后的推动力是以服务的形式提供IT资源,这些服务封装了其他IT资源,并向客户端提供远程使用功能。现在已经出现了多种通用云服务类型的模型,其中大部分都以“作为服务”(as-a-service)作为后缀。
云服务用户(cloud service consumer)是一个临时的运行时角色,由访问云服务的软件程序担任。
如图3-7所示,云服务用户常见类型包括:能够通过已发布的服务合同远程访问云服务的软件程序和服务,以及运行某些软件的工作站、便携电脑和移动设备,这些软件可以远程访问被定位为云服务的其他IT资源。