云计算、白皮书、航旅行业

前言

航司航企逐渐上云是必然,但是如何洞察实际用例及场景来规划和择云,则需要综合考虑云消费者、云供应商、定义云计算的通用用例场景,同时用例场景展示了云计算的性能和经济效益,并基于尽可能广泛的消费者的需求。

以云环境中需要标准化的功能和需求,以确保互操作性、易于集成和可移植性。必须能够在不使用封闭的专有技术的情况下实现企业所有用例。云计算必须发展成一个开放的环境,最大限度地减少供应商锁定,增加客户选择。


用例及场景

  • 为讨论互操作性和标准提供一个基于客户体验的实用环境。
  • 明确应在何处使用现有标准。
  • 将业界的注意力集中在开放云计算的重要性上。
  • 明确哪些地方需要完成标准工作。如果一个特定的用例现在不能构建,或者它只能用专有的API和产品构建,那么行业需要定义标准来使这个用例成为可能。

一个用例,它清楚地描述了一个共同的任务,并概述了完成它的困难,这是任何标准工作的最佳可能理由。

Open Cloud Manifesto(open cloud manifesto.org)是对云计算中保持开放性原则的声明。在宣布后的两个月内,250个组织作为支持者签署了协议。该小组的活动是根据《开放云宣言》的六项原则进行的:

  • 云提供商必须共同努力,确保通过开放协作和适当使用标准来解决云采用方面的挑战。
  • 云提供商必须在适当的情况下使用和采用现有标准。IT行业对现有的标准和标准组织进行了大量投资,不需要复制或重新发明它们。
  • 当需要新标准(或对现有标准进行调整)时,我们必须明智和务实,以避免创建过多的标准。我们必须确保标准促进创新,而不是抑制创新。
  • 开放云周围的任何社区工作都应该由客户需求驱动,而不仅仅是云提供商的技术需求,并且应该根据实际客户需求进行测试或验证。
  • 云计算标准组织、倡导团体和社区应合作并保持协调,确保努力不冲突或重叠。
  • 云提供商不得利用其市场地位将客户锁定到其特定平台并限制其选择提供商。

定义和分类

基本上包括以下定义和分类,然而本文的重点是根据实际应用程序和需求定义云场景和用例,而不是定义云计算本身,目标是提供清晰、有趣和有用的用例场景,不管这些场景是如何定义或放入分类中的。

云计算概念定义

云计算:云计算是一种模型,用于实现对可配置计算资源(如网络、服务器、存储、应用程序和服务)的共享池的无所不在、方便的按需网络访问,这些资源可以以最小的管理工作量快速提供和释放,从而与各类服务提供商交互。(该定义来自美国国家标准与技术研究院(NIST)发布的云计算工作定义的相关草案。)

(A)交付模式

NIST对云计算的定义定义了三种交付模型:

  • 软件即服务(SaaS):消费者使用应用程序,但不控制其运行的操作系统、硬件或网络基础设施。
  • 平台即服务(PaaS):消费者为其应用程序使用托管环境。使用者控制在环境中运行的应用程序(可能对宿主环境有一些控制),但不控制运行它们的操作系统、硬件或网络基础设施。平台通常是一个应用程序框架。
  • 基础设施即服务(IaaS):消费者使用“基础计算资源”,如处理能力、存储、网络组件或中间件。消费者可以控制操作系统、存储、部署的应用程序以及可能的网络组件(如防火墙和负载平衡器),但不能控制其下方的云基础设施。

(B)部署模型

NIST定义定义了四种部署模型:

  • 公共云/Public Cloud:简单来说,公共云服务的特点是通过互联网从第三方服务提供商向客户提供服务。“公共”一词并不总是指免费的,即使它可以是免费的或相当便宜的使用。公共云并不意味着用户的数据是公开可见的;公共云供应商通常为其用户提供访问控制机制。公共云为部署解决方案提供了一种具有弹性、成本效益的方法。
  • 私有云:私有云提供了公共云计算环境的许多好处,例如弹性和基于服务。私有云和公共云的区别在于,在基于私有云的服务中,数据和流程在组织内部进行管理,而不受网络带宽、安全暴露和使用公共云服务可能需要的法律要求的限制。此外,私有云服务为提供商和用户提供了对云基础设施的更大控制,提高了安全性和弹性,因为用户访问和使用的网络受到限制和指定。
  • 社区云/Community Cloud:社区云由一组具有共同利益的组织控制和使用,例如特定安全需求或共同任务。社区成员共享对云中数据和应用程序的访问。
  • 混合云/Hybrid Cloud:混合云是公共云和私有云的组合,可以互操作。在此模型中,用户通常将非业务关键型信息和处理外包给公共云,同时将业务关键型服务和数据保持在其控制之下。

(C)基本特征

NIST定义描述了云计算的五个基本特征。

  • 快速弹性:弹性是指根据需要上下扩展资源的能力。对于消费者来说,云似乎是无限的,消费者可以根据需要购买尽可能多或很少的计算能力。这是NIST定义中云计算的基本特征之一。
  • 度量服务:在度量服务中,云服务的各个方面由云提供商控制和监控。这对于计费、访问控制、资源优化、容量规划和其他任务至关重要。
  • 随需应变自助服务:云计算的随需应变和自助服务方面意味着消费者可以根据需要使用云服务,而无需与云提供商进行任何人工交互。
  • 无处不在的网络访问:无处不在的网络访问意味着云提供商的功能在网络上可用,并且可以通过标准机制由厚客户端和瘦客户端访问。
  • 资源池:资源池允许云提供商通过多租户模型为其消费者提供服务。物理和虚拟资源根据消费者需求分配和重新分配。存在一种位置独立性的感觉,即客户通常无法控制或了解所提供资源的确切位置,但可以在更高的抽象级别(如国家、州或数据中心)指定位置。

(D)其他

  • 互操作性:互操作性与系统的通信能力有关。它要求接收系统理解所传输的信息。在云计算领域,这意味着无论提供者之间的差异如何,都能够同时编写与多个云提供者一起工作的代码。
  • 可移植性:可移植性是指在另一个环境中运行为一个环境编写的组件或系统的能力。在云计算领域,这包括软件和硬件环境(物理和虚拟)。
  • 集成:集成是将组件或系统组合成一个整体系统的过程。基于云的组件和系统之间的集成可能会因多租户、联邦和政府法规等问题而变得复杂。
  • 服务水平协议(Service Level Agreement,SLA):服务水平协议是提供者和消费者之间的合同,它规定了消费者的需求和提供者对它们的承诺。通常,SLA包括正常运行时间、隐私、安全和备份过程等项目。
  • Federation:Federation是跨多个系统组合数据或标识的行为。联合可以由云提供商或云代理完成。
  • Broker:Broker没有自己的云资源,但根据用户所需的SLA匹配用户和提供者。消费者不知道经纪人不控制资源。
  • 多租户/Broker:多租户是多个系统、应用程序或来自同一物理硬件上的不同企业的数据的属性。多租户对于大多数基于云的系统来说都很常见。
  • Cloud Bursting:Cloud Bursting是一种混合云技术,根据需要为私有云提供额外的资源。如果私有云具有处理其工作负载的能力,则不使用混合云。当工作负载超过私有云的容量时,混合云会自动向私有云分配额外的资源。
  • Policy:Policy是操作过程的通用术语。例如,安全策略可能指定必须加密对特定云服务的所有请求。
  • Governance:Governance是指确保政策得到执行的控制和过程。
  • 虚拟机(VM):一种文件(通常称为映像),在执行时,它看起来像一台实际的机器。基础设施作为服务通常作为虚拟机映像提供,可以根据需要启动或停止。在虚拟机运行时所做的更改可以存储到磁盘中,以使其持久化。
  • 应用程序编程接口(API):应用程序编程接口是一个合同,它告诉开发人员如何编写代码来与某种系统交互。API描述了系统支持的操作的语法。对于每个操作,API指定应发送到系统的信息、系统将发送回的信息以及可能发生的任何错误条件。
  1. 可以用特定的编程语言或更中性的格式(如WSDL或IDL)定义API。REST规范通常没有机器可读的语言,但是它们定义了一个API。
  2. API还可以包含协议(如HTTP)和数据格式(如JSON或XML模式)的详细信息。
  3. API需要人工智能来理解数据和操作的语义。机器可以发现方法x需要两个整数作为参数,但是开发人员,一个人,必须弄清楚应该使用无穷大的两个整数中的哪一个。

分类

云计算的分类如下,服务消费者使用通过云提供的服务,服务提供者管理云基础设施,服务开发人员自己创建服务。(请注意,这些角色之间的交互需要开放的标准。)

(A)服务消费者

服务使用者是实际使用服务的最终用户或企业,无论它是软件、平台还是基础设施作为服务。根据服务类型及其角色,使用者使用不同的用户界面和编程界面。有些用户界面看起来像其他任何应用程序;用户在使用该应用程序时不需要了解云计算。其他用户界面提供管理功能,如启动和停止虚拟机或管理云存储。编写应用程序代码的使用者根据他们正在编写的应用程序使用不同的编程接口。消费者也使用SLA和契约。通常,这些是通过消费者和提供者之间的人工干预进行协商的。消费者的期望和供应商的声誉是谈判的关键部分。

(B)服务提供商

服务提供商向消费者提供服务。提供商的实际任务因服务类型而异:

  • 对于SaaS,供应商安装、管理和维护软件。提供程序不一定拥有运行软件的物理基础设施。无论如何,使用者不能访问基础结构;他们只能访问应用程序。
  • 对于PaaS,提供商管理平台的云基础设施,通常是特定类型应用程序的框架。消费者的应用程序无法访问平台下的基础设施。
  • 对于IaaS,提供者维护存储、数据库、消息队列或其他中间件,或虚拟机的托管环境。使用者使用该服务时,将其视为磁盘驱动器、数据库、消息队列或计算机,但无法访问承载该服务的基础结构。

在服务提供者图中,堆栈的最底层是所有其他东西所基于的固件和硬件。上面是软件内核,或者是操作系统,或者是虚拟机管理器,它承载着云下的基础设施。虚拟化的资源和图像包括基本的云计算服务,如处理能力、存储和中间件。由VM管理器控制的虚拟映像包括映像本身和管理它们所需的元数据。

对服务提供商的运营至关重要的是管理层。在较低的级别上,管理层需要进行计量,以确定谁使用服务,以及在多大程度上使用服务,进行资源调配以确定如何将资源分配给使用者,以及监控以跟踪系统及其资源的状态。

在更高的层次上,管理包括计费以收回成本、容量规划以确保满足消费者需求、SLA管理以确保遵守供应商和消费者同意的服务条款,以及向管理员报告。

安全性适用于服务提供者操作的所有方面。开放标准也适用于提供商的操作。一套全面的标准简化了提供者内部的操作,并简化了与其他提供者的互操作性。

(C)服务开发者

服务开发人员创建、发布和监视云服务。这些通常是通过SaaS模型直接交付给最终用户的“业务线”应用程序。在IaaS和PaaS级别编写的应用程序随后将由SaaS开发人员和云提供商使用。

服务创建的开发环境各不相同。如果开发人员正在创建SaaS应用程序,他们很可能正在为云提供商托管的环境编写代码。在这种情况下,发布服务就是将其部署到云提供商的基础设施中。

在服务创建过程中,分析涉及远程调试,以便在将服务发布给消费者之前对其进行测试。一旦发布了服务,分析就允许开发人员监控其服务的性能,并根据需要进行更改。

标准与分类的关系

标准影响云用例场景的方式有四种,标准将对每种云服务类型、不同云服务类型、企业与云之间以及企业私有云内产生影响。

(A)跨云服务类型的标准

随着云计算越来越普遍,应用程序可能会使用不同类型的云服务。应用程序可能使用云存储服务、云消息队列,以及管理(启动/停止/监视)云中运行的虚拟机。定义这些不同服务如何协同工作的标准应该提供价值。

(B)云服务类型内的标准

在每种类型的云服务(IaaS、PaaS或SaaS)中,开放标准使得避免供应商锁定成为可能。

  • 对于IaaS,一组用于云数据库的标准API将允许应用程序使用来自多个供应商的数据。这种通用的API可以让用户自由地移动到另一个云数据库提供商,而无需进行重大更改,而且可以使新数据源与现有应用程序集成更加容易。用于其他云基础设施服务(如存储、消息队列或MapReduce)的公共API将提供类似的好处,数据和数据交换的公共格式也是如此。对于虚拟机来说,通用的虚拟机格式至关重要。用户应该能够使用一个云提供商构建和部署一个虚拟机,并将其部署到另一个云提供商,而不需要进行任何更改。
  • 对于PaaS,云中提供的许多平台都是应用程序框架。这些框架通常提供公共服务,如用户界面、存储和数据库,但它们只能通过框架的API进行访问。
  • 对于SaaS,开放标准适用于应用程序级别。这里工作的标准很少是针对云的,所以这些标准超出了本文的范围。例如,基于云的字处理应用程序应该支持文档可移植性标准;字处理应用程序中对标准支持的要求与应用程序是否在云中运行无关。

(C)云与企业之间的标准

即使云计算出现,企业架构(如JavaEE)也不会消失。定义企业应用程序如何与资源(如云数据库或云消息队列)通信的标准将使这些应用程序能够使用云服务,而无需更改或更改。弄清楚如何将云计算与现有的架构和开发模式集成将是这个团队面临的主要挑战。

(D)企业内部标准

企业内的标准将由互操作性、可审核性、安全性和管理等需求确定,并将建立在企业和云之间适用的标准之上。企业将与私有云、公共云和混合云的一些组合进行交互。

应用程序编程接口(API)

构建云计算解决方案的主要机制是云提供商提供的API。云API在四个不同的层次上工作,它们分为五个基本类别。

(A)API层级

有四个不同级别的API。每个级别都要求开发人员关注不同的任务和数据结构。

  • 级别1 - "The Wire":在这个级别上,开发人员直接写入请求的连线格式。如果服务是基于REST的,开发人员将创建适当的HTTP头,为请求创建有效负载,并打开到服务的HTTP连接。REST服务返回带有HTTP响应代码的数据。由于许多REST服务的直接特性,在这个级别编写代码时,相对高效是可能的。如果服务是基于SOAP的,开发人员将创建SOAP信封,添加适当的SOAP头,并用数据有效负载填充SOAP信封的主体。SOAP服务用包含请求结果的SOAP信封响应。使用SOAP服务需要解析信封的XML内容;因此,大多数SOAP服务都是使用更高级别的API调用的。
  • 级别2 - "Language-Specific Toolkits":此级别的开发人员使用语言特定的工具包来处理SOAP或REST请求。尽管开发人员仍然专注于通过网络传输的数据的格式和结构,但工具箱处理了许多细节(例如处理响应代码和计算签名)。
  • 级别3 - "Service-Specific Toolkits":开发人员使用更高级别的工具包来处理特定的服务。在这个级别上,开发人员能够专注于业务对象和业务流程。当开发人员关注对组织重要的数据和流程,而不是关注有线协议时,他们的工作效率会大大提高。
  • 级别4 - "Service-Neutral Toolkits":这是API的最高级别。在此级别工作的开发人员使用多个云计算提供商的公共接口。与级别3一样,开发人员关注业务对象和业务流程。与级别3不同,在级别4工作的开发人员不必担心他们使用的是哪种云服务。使用与服务无关的工具包编写的应用程序应该能够使用不同的云供应商,只要对代码进行最小的更改。

(B)API分类

API可分为五类:

  • 第1类 - 普通编程:C语言、PHP、Java等常用编程接口。
  • 第2类 - 部署:编程接口以将应用程序部署到云端。除了任何特定于云的打包技术外,这还包括传统的打包机制,如.NET程序集和EAR/WAR文件。
  • 第3类 - 云服务:与云服务一起工作的编程接口。如前一节所讨论的,云服务API可以是特定于服务的,也可以是非特定于服务的。这些API分为云存储服务、云数据库、云消息队列和其他云服务的子类别。使用云服务API编写代码的开发人员知道他们正在使用云。
  • 第4类 - 映像和基础结构管理:用于管理虚拟机映像和基础结构详细信息的编程接口。图像的API支持上传、部署启动、停止、重新启动和删除图像。基础设施管理API控制防火墙、节点管理、网络管理和负载平衡等详细信息。
  • 第5类 - 内部接口:云基础设施不同部分之间的内部接口的编程接口。如果您想更改云架构中存储层的供应商,可以使用这些API。

(C)开发人员角色

为了讨论开发人员的需求,有助于指出开发人员扮演的不同角色。API和云服务的需求因角色而异:

  • 客户端应用程序开发人员:为最终用户编写基于云的客户端应用程序。这些开发人员将API用于云服务(类别3)。
  • 应用程序开发人员:编写使用云的传统应用程序。这些开发人员使用普通的API(1类)和云服务的API(3类)。
  • 部署者:打包、部署和维护使用云的应用程序。生命周期管理也是这里关注的一个问题。这些开发人员使用API进行部署、云服务和图像管理(类别2、3和4)。
  • 管理员:在多个级别上处理应用程序,包括部署和基础结构管理。这些开发人员使用类别2、3和4中的API。
  • 云提供商:使用其云产品下的基础设施。

待续:使用案例及场景

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();