1.2 云计算的要素:资源池/云计算模式和服务
现在,你已经了解了各种类型的云计算环境,重要的是要知道使云计算运行的共同元素。在本节中,我们向你介绍需要知道的基础知识。如图1-1所示说明了一起创造云的相关元素。在图的底部,是一组资源池,它们提供一套云交付服务。在图的顶部,是支持这些交付模式所需要的共同的服务元素。
云计算和传统计算之间的一个根本区别是,设计云来管理工作负载资源的方式。管理工作负载是云计算的基础。关于工作负载管理的更多详细信息,请阅读第12章。而数据中心被设计为管理应用,云被用来管理资源池——一组独立于物理位置的共享、配置的服务。在很多情况下,云服务提供商建立一个多租户环境,支持这些资源的部署。多租户在共享服务的同时,又保持单个客户的数据和配置被分开。
例如,假设你是一家云服务提供商。你不希望客户为工作负载或数据选择一个特定的服务器或存储系统。相反,你希望客户从那个想法中跳出来,而只简单地说,“我还需要更多的存储”,来自各种不同物理系统的存储资源汇集在一起,创建了一个资源集合。换句话说,客户不需要知道他们正在访问哪个存储系统。这些共享的资源池如图1-1的底部所示。
https://yqfile.alicdn.com/b802e89452cc5e9b51098af4de1e22bedcea287f.png" >
提示
为了使资源池工作,编写每个放入池中的元素时,要考虑面向服务的结构。因此,每个资源作为独立的服务被写入,相互没有依赖关系,而且具有良好定义的接口。关于面向服务的更多细节,请见第3章。
为了了解云计算的基础,需要了解四种不同的云交付模式:
- 软件即服务;
- 平台即服务;
- 基础设施即服务;
- 业务流程即服务。
本书的第二部分对每种模式各有一章作介绍,但在这里我们将介绍不同的云计算交付模式的基础知识。见图1-1中的基础设施服务、平台服务和软件服务。
1.2.1 基础设施即服务
基础设施即服务(IaaS)根据需要提供如硬件、存储、网络、数据中心空间,以及各种实用软件元素的服务。有公共云和私有云两种版本的IaaS。在公共云IaaS中,用户只需要一张信用卡,便可以获得这些资源。当该用户停止支付时,资源就消失。在私有云IaaS服务中,通常是IT机构或集成商创建基础设施,它被设计为按照需要为内部用户,有时也为业务合作伙伴提供资源。而公共云的标准,主要是基于为服务支付的能力,私有云服务将公司的政策应用于服务请求。IaaS是其他云计算模式中使用的基础性元素。有些客户会用自己的工具和软件创建应用。有关IaaS的更多细节,请阅读第5章。
1.2.2 平台即服务
平台即服务(PaaS)是一种机制,它将IaaS与一个抽象的中间件服务、软件开发和部署工具相结合,使机构能够以统一的方式,在云中或内部环境中创建和部署应用。PaaS提供了一组一致的编程和中间件服务,确保开发人员以行之有效的集成方式,在云计算环境中创建应用。PaaS环境将开发和部署放在一起,共同创造了一种更易于管理的方式,来构建和部署应用。PaaS需要基础设施服务。关于PaaS的更多信息,请阅读第7章。
1.2.3 软件即服务
软件即服务(SaaS)是一个由提供商以多租户模式创建并托管的企业应用。客户为服务支付费用,每个用户可按每月或每年的合同支付。SaaS应用位于平台即服务和基础设施服务的基础之上。通常,这些基础的服务对于SaaS应用的最终用户是不可见的。关于SaaS的更多细节,请见第6章。
1.2.4 业务流程即服务
在传统的计算环境中,业务流程通常内置在应用中。例如,可能有一个支付服务,或一个设置了递送服务请求的服务。转到云计算的一个好处是,机构可以使用基于云计算的跨机构的业务流程服务。业务流程服务的标准化,减少了出错的机会,并使得机构更容易确保正确的服务被用于正确的目的。如果你的公司只使用很少的云服务,你可能不知道为什么要担心业务流程服务。然而,随着时间的推移,机构将使用更多的云服务,企业领导人需要在各种云应用和数据中心服务之间移动数据的能力。因此,有一个从跨环境的角度考虑业务流程服务的计划,将有助于简化企业向云服务的转移。BPaaS可以成为云计算消费者和服务提供者的一个收入来源。
1.2.5 支持云计算资源模式的基础服务
无论用到什么类型的资源池,一些核心功能在云计算环境中是必不可少的,包括:
- 弹性和自助服务调配;
- 计费和服务使用计量;
- 工作负载管理。
这些在图1-1所示中被称为基本服务要素。
1.2.5.1 弹性和自助服务调配
云计算的一个好处是,在有需要的时候,客户可以根据需要访问使用尽量多的服务。如果他们需要一个月的计算服务,可以租用一个月时间内的服务,而不必购买一个系统去处理需求。虽然这种潜能明显有利于客户,但使服务提供商的生活变得更复杂。在云计算中,服务提供者事先不可能知道,在任何给定的时间内,一个客户可能需要什么。因此,服务提供商(无论是公共云提供商还是私有云提供商)必须创造一种可以扩展的环境以支持一组不同的客户需求。云服务的提供商需要设计一个平台架构,对本公司所提供的服务进行优化。该平台的设计必须使用户/客户调配他们按单元付费的资源,如计算或存储资源。当用户不再需要该资源并停止付费时,资源被释放回资源池。
警告
在有些情况下,服务提供商不能预测客户的需求。因此,一个服务供应商从第三方服务提供商增加额外容量的情况,是很常见的。通常情况下,消费者意识不到,他们正在与一个额外的云服务提供商打交道。
自助服务是云计算最重要的功能之一。例如,有了自助服务,应用开发者能够使用浏览器或门户网站界面,获得构建应用所需的资源,这与在数据中心的开发人员有着显著的不同。在传统的数据中心模式中,开发人员必须从IT运营部门请求资源,这可能需要IT去获得更多的服务器和存储,并购买所需要的软件。这种情况下,系统必须进行配置,以满足开发项目的需求。假设云服务被设计为满足所需要的目标,开发人员可以避开这些复杂的步骤。我们将在第7章中以平台即服务为重点,讨论云计算如何帮助软件开发的更多详细信息。
1.2.5.2 计费和服务计量
云服务必须提供一种衡量和计量一项服务的方法。因此,云环境包括一个内置的服务,它跟踪记录客户使用了多少资源。对于使用公共云资源的客户,将按照使用的单位收取费用——无论是一个CPU:时间还是一定量的存储。对于使用软件即服务的客户,每年对每个注册用户收取费用。在私有云中,员工可能不会被直接扣费,其使用情况将被跟踪记录。在许多企业中,部门的预算与它所使用的服务数量和类型有直接关系。
**
1.2.5.3 管理工作负载**
如我们在本章的前面所提到的,云不是一个单一的统一环境;相反,它是一个资源集合体,这些资源可能跨系统和地域。云是一个汇集资源的联合环境,使各种资源能够协同工作。要有组织地做到这一点,需要组织工作负载。工作负载是一个独立的服务,或可以执行的代码集合。所以,需要将云看作是一组被管理的工作负载,就如同它们是一个单一的有粘聚性的环境。在云环境中,重要的是用正确的云服务设计工作负载支持正确的任务。例如,某些工作负载需要被放置在私有云中,因为它们需要快速的交易管理和高安全级别。其他的工作负载可能不那么重要,可被放置在公共云中。
当企业开始将云计算作为一种战略来思考,他们必须做更多而不是简单地转向使用公共云或私有云资源,并充分利用这些服务。如同任何计算环境一样,云计算要求工作负载被平衡和管理,无论基于什么样的资源池。在精心设计的云环境中,工作负载可以在不同云环境的资源池之间移动。因为,在现实世界中,你将使用组合服务,重要的是不只考虑单个的工作负载,也要考虑工作负载的组合和各工作流之间,以及它们与合作者之间如何互动。
1.2.6 管理服务
许多管理服务是强制性的,以确保云计算是一个管理良好的支持客户需求的平台,包括确保以正确的方式支持多种工作负载。不管什么样的云部署和交付模式都是这样。一些核心服务,如图1-1的顶部所示。安全和治理是确保应用和数据被保护的关键服务。在混合云环境中,数据管理也很重要,因为数据将在云环境之间移动。此外,必须提供适当的服务等级,以满足消费者的要求。无论你是否正在使用一个公共云、私有云,还是混合云,都是如此。这是为什么混合云的管理和监控是如此重要的原因。最后,由于不同的服务需要在混合云中整合,云之间的接口也很重要。