3、云计算架构、概念与特性解析

云计算架构、概念与特性解析

1. 云计算概念

云计算是分布式计算演变的结果,也是为了满足 21 世纪轻松快速共享计算资源以应对挑战的需求而出现的。从早期的大型机基础设施分时共享的分布式计算模式开始,计算资源的可访问性得到了极大提升。大型机的共享只能通过有限数量的本地终端进行调度,互联网使计算终端摆脱了与大型机的共置限制,高性能计算(HPC)增强了集中计算资源的能力,网格计算进一步以即插即用的方式改善了计算资源的共享,而云计算则提供了几乎无限且易于访问的计算资源。

云计算的理念可以追溯到 20 世纪 50 年代,概念模型在 20 世纪 80 年代正式提出,90 年代开始发展,成功的云服务在过去几年才开始流行。云服务最初用于提供电子邮件服务,后来扩展到包括许多其他计算能力,如计算能力和存储等,即所谓的“一切即服务”(XaaS)。行业提供了从基础设施层(如亚马逊弹性计算云 Amazon EC2)到应用层(如电子邮件、文档共享和在线投票)等多种不同类型的云服务。

美国国家标准与技术研究院(NIST)在定义云计算标准方面发挥了领导作用。Mell 和 Grance 将云计算定义为“一种模型,它使人们能够通过网络随时随地、方便地按需访问一个可配置的共享计算资源池(如网络、服务器、存储、应用程序和服务),这些资源可以快速调配和释放,只需最少的管理工作或与服务提供商的交互”。他们进一步阐述该定义,包括五个特征(按需自助服务、广泛的网络访问、资源池化、快速弹性和计量服务)、三种服务模型(软件即服务、平台即服务和基础设施即服务)和四种部署模型(私有云、社区云、公共云和混合云)。

2. 云计算架构

从云消费者、云提供商和云经纪人的角度定义了不同的云架构,云计算架构的变化也受到特定应用的影响。最流行的架构是 NIST 通用架构,它是一个独立于供应商的概念架构。

NIST 参考架构定义了云计算中的六个不同参与者:
- 云提供商 :维护计算硬件和软件,并向他人提供云服务的个人或组织,如亚马逊。
- 云审计员 :监控和评估云提供商提供的云服务的安全性、性能和隐私影响的个人或组织,如负责联邦信息安全管理法案(FISMA)的安全官员。
- 云消费者 :采购和使用云服务的个人或组织,如亚马逊 EC2 用户。
- 云经纪人 :管理云服务的使用、性能和交付,并协商云提供商和云消费者之间关系的个人或组织,类似于 priceline.com 对旅游资源的中介服务。
- 云运营商 :提供云服务从云提供商到云消费者的连接和传输的中介。
- 用户 :运行在云消费者操作的云服务上的领域应用程序的最终用户。

云提供商提供的不同服务模型包括:
| 服务模型 | 描述 | 示例 |
| — | — | — |
| 基础设施即服务(IaaS) | 提供调配计算、存储、网络和其他基本计算资源的能力,可在其上部署操作系统和应用程序 | 亚马逊 EC2 |
| 平台即服务(PaaS) | 提供一个计算平台,消费者可以使用云提供商的工具和库开发软件,并将软件部署到云服务上 | 微软的 Windows Azure 和 Visual Studio |
| 软件即服务(SaaS) | 支持软件和数据托管在云端并作为服务提供,云消费者或用户通常通过 Web 浏览器访问此类服务 | Gmail |

下面是云计算架构的 mermaid 流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(云消费者):::process -->|采购和使用| B(云服务):::process
    C(云提供商):::process -->|提供| B(云服务):::process
    D(云审计员):::process -->|监控评估| B(云服务):::process
    E(云经纪人):::process -->|管理协商| B(云服务):::process
    F(云运营商):::process -->|连接传输| B(云服务):::process
    B -->|运行| G(用户):::process

3. 云计算特性

云计算的几个特性使其与其他分布式计算范式(如网格计算)区分开来:
- 按需性 :云计算通常在后端有一个巨大的计算资源池,以支持消费者的按需访问。例如,谷歌的云服务在全球三个数据中心拥有超过 100 万台服务器,亚马逊、微软等公共云提供商也运行着数千到数百万台物理服务器,私有企业云也有数百台服务器。因此,云计算可以为消费者提供由大规模计算池支持的前所未有的按需计算能力。
- 最少与提供商交互的自助服务 :对于消费者来说,调配和释放云计算资源的能力通常似乎是无限的,可以随时以任何数量购买,而无需与云提供商交互,类似于在亚马逊网站上购买书籍。
- 宽带网络和设备独立访问 :云资源可通过网络获取,并可通过标准接口(如手机、笔记本电脑和个人数字助理 [PDA])访问。不同设备之间的数据同步涉及复杂操作,难以在许多不同设备之间保存和维护最新的数据和信息副本。云计算可以缓解不同副本之间的数据同步困难,因为数据在云中自动同步,不同设备在连接到互联网时可以获得相同版本的数据。例如,苹果 iCloud 服务使用户能够在 iPhone、iPad 和苹果电脑之间同步软件包、电子邮件地址、应用程序、媒体文件和电话号码。
- 资源池化(整合不同类型的计算资源) :提供商的计算资源通过多租户模型进行池化,以服务多个消费者。在这个模型中,不同的物理和虚拟资源根据消费者的需求动态分配和重新分配。传统 IT 系统通常只使用其全部容量的 10% 到 15%,而云计算显著提高了跨组织的计算资源共享,将计算资源利用率提高到 80%。同时,基于虚拟化的共享资源模型降低了消费者购买、操作和维护计算资源的成本。从云提供商的角度来看,虚拟化技术可以应用于不同级别的物理资源,因此可以将最新的物理资源添加到云资源池中,降低了维护和升级云平台的成本。另一方面,云消费者通过将责任外包给云提供商而无需维护基础设施。
- 快速弹性(快速弹性地调配、分配和释放计算资源) :在云服务中,应用程序可以配置为弹性获取更多资源以处理高峰工作负载。当负载减少时,资源可以在几秒钟到几分钟内快速释放。
- 计量服务(支持按使用量付费的定价模型) :云计算采用灵活的价格模型。云资源的使用可以被监控、控制、报告和收费,为云提供商和消费者提供所消费服务的透明度。通常,云提供商允许消费者按小时支付计算使用费用,而无需长期承诺。云提供商还允许客户以较低的批发价格长期预订资源。此外,一些提供商(如亚马逊 EC2)甚至提供价格投标(现货)选项,以更低的价格竞标未使用的云资源。
- 可靠性 :云基础设施消费者可以从提供商那里获得辅助服务,如经过验证的物理基础设施和数据中心的持续改进。这些服务符合新政策、安全补丁并进行升级,而无需额外付费。例如,亚马逊 EC2 服务级别协议(SLA)承诺在所有亚马逊 EC2 区域为消费者提供 99.95% 的可用性。

4. 云计算服务模型

服务模型是对通过云服务提供的服务类型的分类,主要关注最成熟的服务模型,包括 IaaS、PaaS、SaaS 和 DaaS,尤其是 IaaS。

分层计算逻辑框架包括硬件、操作系统、虚拟化服务(云计算的核心)、平台管理、软件管理、数据管理和领域应用程序。如果云提供商将云服务作为包括三个较低层的虚拟计算服务器提供,则服务模式称为 IaaS,如亚马逊 EC2。如果云提供商将云服务作为包括四个较低层的平台提供,用于开发、测试和部署应用程序和软件,则服务模式称为 PaaS,如微软的 Windows Azure 和 Visual Studio。如果云提供商将云服务作为包括五个较低层的软件提供,则服务模式称为 SaaS,如 Gmail 和 Google Earth。如果云提供商将云服务作为除应用程序之外的所有层之上的数据服务提供,则服务模式称为 DaaS。

应用程序可以根据其功能驻留在 IaaS、PaaS、SaaS 和 DaaS 等任何服务级别。IaaS、PaaS 和 SaaS 自现代云计算开始以来就作为典型的云服务提供。大数据挑战凸显了对 DaaS(如 data.gov)的需求。行业还提供其他计算功能作为服务,如网络即服务(NaaS)、安全即服务(SECaaS)和存储即服务(STaaS),所有这些服务模型统称为“一切即服务”(XaaS)。

以亚马逊 EC2 为例,使用 IaaS 的操作步骤如下:
1. 通过在 Web 浏览器中登录 EC2 控制台并选择要启动的计算机类型,采购一台计算机(虚拟实例)。
2. 实例运行后,可以像访问传统远程服务器一样将其作为远程计算机进行访问。

使用微软 Windows Azure 和 Visual Studio 进行应用程序开发和部署的操作步骤如下:
1. 通过使用 Azure 账户进行简单配置,将在 Azure 云上部署和测试 Visual Studio 项目的功能集成到 Microsoft Visual Studio 中。
2. 在 Visual Studio 中创建、开发和测试应用程序。
3. 将应用程序部署到 Azure 云。

5. 云计算部署模型和云类型

一般来说,有四种类型的云部署,包括公共云、私有云、社区云和混合云:
- 公共云 :可供公众开放访问和使用,通常由公司提供、管理和运营,消费者按使用量付费,因此也被称为商业云。到目前为止,公共云可以说是最受欢迎和成熟的云类型。
- 社区云 :为服务具有共同利益(如使命、安全、合规性、管辖权等)的社区而发起,仅为单个组织或多个组织提供,由内部或第三方运营和管理。
- 私有云 :为单个组织(如业务部门)独家使用而提供,可由企业、学术机构、政府组织或它们的联合体拥有、管理和运营。这些私有云提供与公共云类似的经济和运营优势,同时允许公司或组织对其 IT 资源保持绝对控制。例如,惠普已转向私有云计算,将其现有的 85 个数据中心和 19000 名员工整合为六个云数据中心,员工数量减少了一半。有几种开源解决方案可将现有物理基础设施转换为私有云或社区云,如 Eucalyptus、CloudStack、OpenStack 和 OpenNebula。
- 混合云 :由上述两种或多种云类型组合而成,以满足特定的需求。例如,IT 软件企业可以构建一个包含两个私有云系统的混合云,其中一个作为操作系统,另一个用于开发和测试。此外,公共云和私有云可以结合使用,以实现成本效益和按需计算能力。例如,enStratus 为超过 10 个云平台提供中介服务,OpenNebula 可用于构建私有云,其应用程序编程接口(API)可用于访问亚马逊 EC2 的公共云。

下面是云类型的 mermaid 流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(云计算):::process --> B(公共云):::process
    A --> C(私有云):::process
    A --> D(社区云):::process
    A --> E(混合云):::process

6. 云计算资源综述

6.1 商业云

受成本效益、自动化、可扩展性和云服务灵活性的吸引,许多组织正在从传统的物理 IT 系统转向云计算,商业 IT 企业越来越多地在其产品中提供云服务。除了前面提到的亚马逊和微软 Windows Azure 外,以下是其他一些流行的商业云服务:
- Google App Engine(GAE) :谷歌在 2003 年至 2006 年的几篇论文中概述了 PaaS 云计算。GAE 于 2008 年作为原型发布,消费者可以基于 GAE API 开发 Web 应用程序并托管在谷歌数据中心。它为 Web 应用程序提供自动扩展功能,并按需动态分配计算资源。在有限的资源使用水平内,GAE 是免费的,对于应用程序所需的额外存储、带宽或实例运行时间将收取费用。
- Salesforce :Salesforce 平台为消费者提供不同的服务,以交付用于客户关系管理(CRM)业务的变革性应用程序,包括 Force.com 用于构建员工应用程序和定制 Salesforce 体验;Heroku 用于使用任何编程语言创建客户应用程序;Database.com 用于在云数据库中安全地共享和存储数据;Site.com 用于交付网站和数字营销;Identity 用于在云中提供单一、社交、可信的身份;AppExchange 作为一个可信的云计算应用程序市场;ISVforce 用于为云客户构建强大的商业应用程序;Remedyforce 用于在云上提供下一代 IT 服务管理。
- Joyent :Joyent 是提供云计算服务的 IT 供应商之一,包括可编程负载均衡、计算、存储、虚拟专用网络(VPN)和防火墙服务。与许多使用 Xen 技术进行虚拟化的云提供商(如亚马逊)不同,Joyent 开发了自己的虚拟化软件 SmartOS,以确保服务的稳定性和安全性。SmartOS 提供硬件和操作系统(OS)虚拟化的组合,以支持高效、可靠和高性能的云计算。Joyent 为约 25% 的 Facebook 应用程序提供支持,其另一个客户 LinkedIn 在一个月内有超过 1000 万次访问,另一个流行的微博服务 Identi.ca 也选择 Joyent 作为平台。
- Rackspace :2010 年 7 月,Rackspace 与来自科技行业的领导者(如 NASA、Citrix、Dell、NTT DATA、Rightscale 等)一起发起了一个新的开源云倡议 OpenStack 项目。从一开始,OpenStack 就被设计为开源的,旨在为云提供商和客户建立共同基础。OpenStack 帮助 Rackspace 快速发展,使其有机会与其他大公司(如亚马逊)竞争。目前,Rackspace 云产品基于 OpenStack 实现。
- GoGrid :GoGrid 是美国互联网服务提供商 ServePath 旗下的公司,在托管服务方面有着悠久的历史,提供互联网托管、专用服务器、虚拟主机和虚拟服务器。GoGrid 提供世界上第一个基于 Web 的多服务器管理控制台,通过该控制台或 API,云消费者可以在几分钟内跨多个数据中心实时调配和扩展虚拟和物理服务器、存储、网络、负载均衡和防火墙。此外,GoGrid 还提供专用托管服务,使云消费者能够在整合云服务器托管服务的灵活性和可扩展性的同时,调配专用(物理)服务器。
- Verizon 的 CaaS :除了电信和其他服务外,Verizon Business 也开展云活动。Verizon 的 CaaS 允许客户根据其消耗的资源量动态支付数据中心资源(如存储和应用程序托管)的费用。
- IBM :IBM 公司于 2009 年 6 月发布了 SmartCloud 云服务,它能够帮助公司快速创建云,是一个高度可扩展的云解决方案,结合了基础设施和平台功能,可在异构虚拟机管理程序和硬件平台上实现弹性工作负载管理、映像生命周期管理和弹性、大规模调配。Reservoir 是 IBM 和欧盟联合开展的云计算研究倡议,它能够在不同的管理域、IT 平台和地理区域实现复杂 IT 服务的大规模部署和管理。

6.2 开源云解决方案

一些开源项目致力于研究和开发云计算技术和基础设施,除了 Nimbus、Eucalyptus、OpenNebula、CloudStack 和 Virtual Workspaces 等开源解决方案外,以下是其他一些开源项目:
- Amazon Elastic MapReduce(EMR) :是一种用于在云中高效处理和分析大数据的 Web 服务。它集成了 Hadoop 框架,实现了一种名为 MapReduce 的计算范式,用于在计算集群上分布式处理大型数据集,并与亚马逊 EC2、亚马逊 S3 和其他亚马逊 Web 服务(AWS)集成。EMR 还支持与 Hadoop 相关的技术,如 Hive、Pig 和 HBase。
- Xen Cloud Platform(XCP) :是一种云基础设施虚拟化解决方案,它使用 Xen 作为虚拟机管理程序,并为单台主机上的虚拟机和网络提供管理工具。与其他开源云解决方案(如 Eucalyptus)不同,XCP 不提供 IaaS 的整体架构,类似于 VMware 的 ESXi,它提供了一种处理虚拟机自动创建、配置和维护的工具。
- TPlatform :是一个为 Web 挖掘应用程序提供开发平台的云解决方案,它是受谷歌云技术启发的典型 PaaS。TPlatform 的基础设施由三个组件支持:一个类似于谷歌文件系统(GFS)的可扩展文件系统 Tianwang File System(TFS)、BigTable 数据存储机制和 MapReduce 编程模型。
- Apache VCL :是一个通过 Web 界面远程访问计算资源的开源系统,这些资源通常位于数据中心。VCL 可以作为一个中介来访问独立的机器(如大学校园里的实验室计算机)。VCL 框架包括:一个 Web 客户端,提供一个用户界面,用于请求和管理 VCL 资源;一个数据库服务器,存储有关 VCL 预订、访问控制以及机器和环境清单的信息;多个管理节点,用于控制 VCL 资源的子集。

云计算以其独特的架构、丰富的服务模型、多样的部署方式以及众多的商业和开源解决方案,为现代计算带来了巨大的变革和发展机遇。无论是企业还是个人,都可以根据自身的需求和场景选择合适的云计算服务和解决方案,以实现高效、灵活和经济的计算资源利用。

6. 云计算资源综述(续)

6.1 商业云(续)

为了更清晰地对比各商业云服务的特点,我们整理了以下表格:
| 商业云服务 | 主要服务内容 | 独特优势 | 典型应用案例 |
| — | — | — | — |
| Google App Engine(GAE) | 基于 API 开发 Web 应用,提供自动扩展和按需资源分配,有限免费,超量收费 | 依托谷歌强大技术,免费使用有一定额度 | 适用于小型 Web 应用开发者 |
| Salesforce | 提供 CRM 业务多方面服务,涵盖应用构建、数据存储、营销等 | 全面的 CRM 解决方案 | 广泛应用于 CRM 相关业务 |
| Joyent | 提供可编程负载均衡、计算、存储等服务,自研 SmartOS 虚拟化软件 | 服务稳定性和安全性高 | 支持 Facebook、LinkedIn 等大型应用 |
| Rackspace | 基于 OpenStack 提供云产品,参与开源项目推动发展 | 开源优势利于竞争和创新 | 吸引众多云服务需求者 |
| GoGrid | 提供多服务器管理控制台和专用托管服务 | 实时调配和扩展资源能力强 | 满足企业对服务器灵活管理需求 |
| Verizon 的 CaaS | 允许动态支付数据中心资源费用 | 费用支付灵活 | 适合资源使用波动大的企业 |
| IBM SmartCloud | 实现弹性工作负载管理和大规模调配,结合基础设施和平台功能 | 高度可扩展性 | 助力大型企业快速创建云 |

6.2 开源云解决方案(续)

下面是各开源云解决方案的对比表格:
| 开源云解决方案 | 核心功能 | 与其他方案差异 | 适用场景 |
| — | — | — | — |
| Amazon Elastic MapReduce(EMR) | 集成 Hadoop 框架,处理和分析大数据 | 与亚马逊其他服务集成度高 | 处理亚马逊生态内大数据 |
| Xen Cloud Platform(XCP) | 云基础设施虚拟化,提供虚拟机和网络管理工具 | 不提供 IaaS 整体架构 | 专注虚拟机管理 |
| TPlatform | 为 Web 挖掘应用提供开发平台,受谷歌技术启发 | 有类似谷歌的组件支持 | Web 挖掘应用开发 |
| Apache VCL | 通过 Web 界面远程访问计算资源,可作为中介访问独立机器 | 可访问独立机器 | 高校实验室等场景 |

7. 总结与展望

云计算凭借其独特的特性和多样化的服务模式,为不同规模的企业和个人用户提供了强大的计算支持和灵活的资源调配方式。从按需自助服务到资源池化,从多种服务模型到不同的部署类型,云计算不断推动着信息技术的发展和创新。

商业云服务和开源云解决方案为用户提供了丰富的选择。商业云服务通常具有完善的技术支持和服务体系,适合对稳定性和服务质量要求较高的企业;而开源云解决方案则以其灵活性和可定制性,吸引了众多开发者和技术爱好者。

在未来,随着技术的不断进步,云计算有望在以下几个方面取得更大的发展:
- 安全性提升 :随着云计算应用的广泛普及,数据安全和隐私保护将成为至关重要的问题。未来的云计算技术将更加注重安全性,采用更先进的加密技术和访问控制机制,确保用户数据的安全。
- 与新兴技术融合 :云计算将与人工智能、物联网、大数据等新兴技术深度融合,创造出更多创新的应用场景。例如,通过云计算提供的强大计算能力,支持人工智能模型的训练和推理;利用物联网设备产生的大量数据,在云端进行分析和处理。
- 绿色节能 :随着全球对环境保护的重视,云计算提供商将更加注重节能减排。采用更高效的硬件设备和能源管理策略,降低云计算数据中心的能耗,实现绿色计算。

为了更直观地展示云计算未来发展的路径,我们用 mermaid 流程图表示:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(云计算现状):::process --> B(安全性提升):::process
    A --> C(与新兴技术融合):::process
    A --> D(绿色节能):::process
    B --> E(更安全的云计算):::process
    C --> F(创新应用场景):::process
    D --> G(绿色云计算):::process

总之,云计算作为一种重要的信息技术,将在未来的数字化时代发挥更加重要的作用。无论是企业还是个人,都应该积极关注云计算的发展趋势,合理利用云计算资源,以适应不断变化的技术环境。

8. 常见问题解答

为了帮助读者更好地理解云计算相关知识,我们整理了一些常见问题及解答:
1. NIST 云计算的定义是什么?
NIST 将云计算定义为“一种模型,它使人们能够通过网络随时随地、方便地按需访问一个可配置的共享计算资源池(如网络、服务器、存储、应用程序和服务),这些资源可以快速调配和释放,只需最少的管理工作或与服务提供商的交互”。
2. 三种最流行的云计算服务模型是什么?
三种最流行的云计算服务模型是基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。IaaS 提供基本计算资源;PaaS 提供开发和部署软件的平台;SaaS 提供托管在云端的软件服务。
3. 云计算的主要特性有哪些?哪个最重要?
云计算的主要特性包括按需性、最少与提供商交互的自助服务、宽带网络和设备独立访问、资源池化、快速弹性、计量服务和可靠性。这些特性相互关联,共同构成了云计算的优势,很难说哪个最重要,具体取决于用户的需求。例如,对于需要快速响应业务变化的企业,快速弹性可能更为重要;而对于注重成本控制的企业,计量服务可能是关键因素。
4. 四种不同的云计算部署模型及其用户社区是什么?
- 公共云 :可供公众开放访问和使用,适用于大多数个人和小型企业,按使用量付费。
- 社区云 :为具有共同利益的社区提供服务,如特定行业的企业或高校科研团队。
- 私有云 :为单个组织独家使用,适用于对数据安全和隐私要求较高的企业,如金融机构和政府部门。
- 混合云 :结合了两种或多种云类型,适用于需要平衡成本和性能的企业,如 IT 软件企业可将部分业务部署在私有云,部分业务利用公共云的资源。
5. 列举四个商业云服务及其供应商。
- 亚马逊 EC2 :亚马逊提供的 IaaS 服务。
- Windows Azure :微软提供的 PaaS 服务。
- Google App Engine(GAE) :谷歌提供的 PaaS 服务。
- Salesforce :Salesforce 公司提供的 CRM 相关云服务。
6. 列举四个开源云解决方案及其所有者。
- Amazon Elastic MapReduce(EMR) :亚马逊开源项目。
- Xen Cloud Platform(XCP) :开源社区项目。
- TPlatform :基于相关技术开发的开源云解决方案。
- Apache VCL :Apache 开源组织开发。

通过以上内容,希望读者能够对云计算有更深入的了解,并在实际应用中能够根据自身需求选择合适的云计算服务和解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值