云端运算

云端运算（cloud computing），也被意译为网络计算，是一种基于互联网的计算方式，通过这种方式，共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备，使用服务商提供的电脑基建作运算和资源。

## 沿革

云端运算是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变。用户不再需要了解“云”中基础设施的细节，不必具有相应的专业知识，也无需直接进行控制。云计算描述了一种基于互联网的新的IT服务增加、使用和交付模式，通常涉及通过互联网来提供动态易扩展而且经常是虚拟化的资源。

在“软件即服务（SaaS）”的服务模式当中，使用者能够存取服务软件及资料。服务提供者则维护基础设施及平台以维持服务正常运作。SaaS常被称为“随选软件”，并且通常是基于使用时数来收费，有时也会有采用订阅制的服务。

推广者认为，SaaS使得企业能够借由外包硬件、软件维护及支援服务给服务提供者来降低IT营运费用。另外，由于应用程序是集中供应的，更新可以即时的发布，无需使用者手动更新或是安装新的软件。SaaS的缺陷在于使用者的资料是存放在服务提供者的服务器之上，使得服务提供者有能力对这些资料进行未经授权的存取。

使用者透过浏览器、桌面应用程序或是移动应用程序来存取云端的服务。推广者认为云端运算使得企业能够更迅速的部署应用程序，并降低管理的复杂度及维护成本，及允许IT资源的迅速重新分配以因应企业需求的快速改变。

云端运算依赖资源的共享以达成规模经济，类似基础设施（如电力网）。服务提供者整合大量的资源供多个用户使用，用户可以轻易的请求（租借）更多资源，并随时调整使用量，将不需要的资源释放回整个架构，因此用户不需要因为短暂尖峰的需求就购买大量的资源，仅需提升租借量，需求降低时便退租。服务提供者得以将目前无人租用的资源重新租给其他用户，甚至依照整体的需求量调整租金。

## 基本特征

互联网上汇聚的计算资源、存储资源、数据资源和应用资源正随着互联网规模的扩大而不断增加，互联网正在从传统意义的通信平台转化为泛在、智能的计算平台。与计算机系统这样的传统计算平台比较，互联网上还没有形成类似计算机操作系统的服务环境，以支持互联网资源的有效管理和综合利用。在传统计算机中已成熟的操作系统技术，已不再能适用于互联网环境，其根本原因在于：互联网资源的自主控制、自治对等、异构多尺度等基本特性，与传统计算机系统的资源特性存在本质上的不同。为了适应互联网资源的基本特性，形成承接互联网资源和互联网应用的一体化服务环境，面向互联网计算的虚拟计算环境（Internet-based Virtual Computing Environment，iVCE）的研究工作，使用户能够方便、有效地共享和利用开放网络上的资源。

<image>

互联网上的云计算服务特征和自然界的zh-hans; zh-hant;|云、水循环具有一定的相似性，因此，云是一个相当贴切的比喻。根据美国国家标准暨技术研究院的定义，云计算服务应该具备以下几条特征：

- 随需应变自助服务。
- 随时随地用任何网络装置存取。
- 多人共享资源池。
- 快速重新部署灵活度。
- 可被监控与量测的服务。

一般认为还有如下特征：

- 基于虚拟化技术快速部署资源或获得服务。
- 减少用户终端的处理负担。
- 降低了用户对于IT专业知识的依赖。

## 参考形态

虚拟计算环境是一个学术上的概念，不同的研究组织对其有不同的实现方式。下面是虚拟计算环境的一种参考形态：

从应用视角上，iVCE以新型的资源管理模型，为终端用户提供了组织、共享和管理资源的方式和机制，以支持互联网资源的有效共享和综合利用。从开发视角上，iVCE是互联网新型应用的软件开发平台，提供了与资源管理模型一致的程序设计模式与运行支撑，能方便、快捷地帮助开发人员构造面向互联网的应用系统。从系统视角上，iVCE包括了支持iVCE资源管理模型的程序设计语言，网络延迟探测、支持网络资源按需聚合和协同的虚拟节点、资源聚合管理、资源协同管理、虚拟网络内存、虚拟网络外存和虚拟执行网络等基础服务，以及iVCE应用管理与运行支撑环境。

## 发展历史

<image>

1983年，太阳电脑提出“网络是电脑”（“The Network is the computer”）。

1996年，Compaq公司在其公司的内部文件中，首次提及“云计算”这个词汇。

2006年3月，亚马逊推出弹性运算云端服务。

2007年10月，Google与IBM开始在美国大学校园，包括卡内基美隆大学、麻省理工学院、史丹佛大学、加州大学柏克莱分校及马里兰大学等，推广云端运算的 计划，这项计划希望能降低分散式运算技术在学术研究方面的成本，并为这些大学提供相关的软硬件设备及技术支援（包括数百台个人电脑及BladeCenter与System x服务器，这些运算平台将提供1600个处理器，支援包括Linux、Xen、Hadoop等开放源代码平台）。而学生则可以透过网络开发各项以大规模运算为基础的研究计划。

2008年1月30日，Google宣布在台湾启动“云端运算学术计划”，将与台湾台大、交大等学校合作，将这种先进的大规模、快速运算技术推广到校园。

2008年7月29日，雅虎、惠普和英特尔宣布一项涵盖美国、德国和新加坡的联合研究计划，推出云计算研究测试床，推进云计算。该计划要与合作伙伴建立6个数据中心作为研究试验平台，每个数据中心配置1400个至4000个处理器。这些合作伙伴包括新加坡资讯通信发展管理局、德国卡尔斯鲁厄大学Steinbuch计算中心、美国伊利诺大学香宾分校、英特尔研究院、惠普实验室和雅虎。

2008年8月3日，美国专利商标局网站信息显示，戴尔正在申请“云计算”（Cloud Computing）商标，此举旨在加强对这一未来可能重塑技术架构的术语的控制权。戴尔在申请文件中称，云计算是“在数据中心和巨型规模的计算环境中，为他人提供计算机硬件定制制造”。

2010年3月5日，Novell与云端安全联盟（CSA）共同宣布一项供应商中立计划，名为“可信任云端运算计划”。

2010年7月，美国太空总署和包括Rackspace、AMD、Intel、戴尔等支援厂商共同宣布“OpenStack”开放源码计划。

微软在2010年10月表示支持OpenStack与Windows Server 2008 R2的整合；而Ubuntu已把OpenStack加至11.04版本中。2011年2月，思科系统正式加入OpenStack，重点研制OpenStack的网络服务。

### 日本

2022年，日本的云端运算市场由亚马逊云端运算服务、微软和谷歌三家公司垄断，日经新闻认为过分依赖海外公司存在风险，在发生网络攻击等情况时，有受到美国干涉等隐忧。日本政府在2022年5月通过《经济安全保障推进法》，和国内大型资讯科技公司合作，发展国产云端运算服务

## 服务模式

美国国家标准暨技术研究院的云端运算定义中明确了三种服务模式：

- 软件即服务（SaaS）：消费者使用应用程序，但并不掌控操作系统、硬件或运作的网络基础架构。是一种服务观念的基础，软件服务供应商，以租赁的概念提供客户服务，而非购买，比较常见的模式是提供一组账号密码。例如：Adobe Creative Cloud，Microsoft CRM与Salesforce.com。
- 平台即服务（PaaS）：消费者使用主机操作应用程序。消费者掌控运作应用程序的环境（也拥有主机部分掌控权），但并不掌控操作系统、硬件或运作的网络基础架构。平台通常是应用程序基础架构。例如：Google App Engine。
- 基础设施即服务（IaaS）：消费者使用“基础运算资源”，如处理能力、储存空间、网络元件或中介软件。消费者能掌控操作系统、储存空间、已部署的应用程序及网络元件（如防火墙、负载平衡器等），但并不掌控云端基础架构。例如：Amazon AWS、Rackspace。

### 云端服务提供者

云端服务提供者（Cloud Service Provider，简称：CSP）或称云端服务供应商，为提供可扩充的运算资源的第三方公司，让企业透过互联网以随选方式存取运算资源，包括提供云端运算能力、资料储存空间、平台或应用程序服务。一般而言，北美4大CSP指的分别是Google GCP、微软Azure、亚马逊AWS以及Meta。

## 部署模型

<image>

美国国家标准暨技术研究院的云计算定义中也涉及了关于云计算的部署模型：

### 公用云

简而言之，公用云（Public Cloud）服务可透过网络及第三方服务供应者，开放给客户使用，“公用”一词并不一定代表“免费”，但也可能代表免费或相当廉价，公用云并不表示使用者资料可供任何人查看，公用云供应者通常会对使用者实施使用存取控制机制，公用云作为解决方案，既有弹性，又具备成本效益。

### 私有云

私有云（Private Cloud）具备许多公用云环境的优点，例如弹性、适合提供服务，两者差别在于私有云服务中，资料与程序皆在组织内管理，且与公用云服务不同，不会受到网络带宽、安全疑虑、法规限制影响；此外，私有云服务让供应者及使用者更能掌控云端基础架构、改善安全与弹性，因为使用者与网络都受到特殊限制。

### 社群云

社群云（Community Cloud）由众多利益相仿的组织掌控及使用，例如特定安全要求、共同宗旨等。社群成员共同使用云端资料及应用程序。

### 混合云

混合云（Hybrid Cloud）结合公用云及私有云，这个模式中，使用者通常将非企业关键资讯外包，并在公用云上处理，但同时掌控企业关键服务及资料。

## 对比

云端运算常与网格运算（分散式计算的一种，由一群松散耦合的计算机集组成的一个超级虚拟计算机，常用来执行大型任务）、效用计算（IT资源的一种打包和计费方式，比如按照计算、存储分别计量费用，像传统的电力等公共设施一样）、自主计算（具有自我管理功能的计算机系统）相混淆。

事实上，许多云计算部署依赖于计算机集群（但与网格的组成、体系机构、目的、工作方式大相径庭），也吸收了自主计算和效用计算的特点。

它从硬件结构上是一种多对一的结构，从服务的角度或从功能的角度它是一对多的。例如，今天要设计一供应链管理系统，可以先从市面上提供的免费云端服务器主机，将Application放置主机上，使用MS所提供数据库，这样一来，硬件成本大幅降低，将Application放置云端上，且随时随地于任何终端装置上连结互联网，就能存取资料（因为基于公开的标准协定）。

## 体系架构

用户端应用程序平台基础设备服务器

截止到2009年，大部分的云计算基础构架是由通过数据中心传送的可信赖的服务和建立在服务器上的不同层次的虚拟化技术组成的。人们可以在任何有提供网络基础设施的地方使用这些服务。“云”通常表现为对所有用户的计算需求的单一访问点。人们通常希望商业化的产品能够满足服务质量（QoS）的要求，并且一般情况下要提供服务水平协议。开放标准对于云计算的发展是至关重要的，并且开源软件已经为众多的云计算实例提供了基础。

云端的基本概念，是透过网络将庞大的运算处理程序自动分拆成无数个较小的子程序，再由多部服务器所组成的庞大系统搜寻、运算分析之后将处理结果回传给使用者。透过这项技术，远端的服务供应商可以在数秒之内，达成处理数以千万计甚至亿计的资讯，达到和“超级电脑”同样强大效能的网络服务。它可分析DNA结构、基因图谱定序、解析癌症细胞等高阶运算，例如Skype以点对点（P2P）方式来共同组成单一系统；又如Google透过MapReduce架构将资料拆成小块运算后再重组回来，而且Big Table技术完全跳脱一般数据库资料运作方式，以row设计储存又完全的配合Google自己的档案系统（Google档案系统），以帮助资料快速穿过“云端”。

## 核心特性

<image>

- 敏捷（Agility）使用户得以快速且以低价格的获得技术架构资源。
- 应用程序界面（API）的可达性是指允许软件与云以类似“人机交互这种用户界面设施交互相所相一致的方式”来交互。云计算系统典型的运用基于REST（Representational State Transfer）网络架构的API。
- 在公有云中的传输模式中支持已经转变为运营成本，故费用大幅下降。很显然的降低了进入门栏，这是由于体系架构典型的是由第三方提供，且无需一次性购买，且没有了罕见的集中计算任务的压力。称为计算资源包的通用计算基础上的原则在细粒度上基于用户的操作和更少的IT技能被内部实施。
- 设备和本地依赖允许用户通过网页浏览器来获取资源，而无需关注用户自身是通过何种设备，或在何地介入资源（如PC、移动设备等）。通常设施是在非本地的（典型的是由第三方提供的），并且通过因特网获取，用户可以从任何地方来连接。
- 体系结构的中央化使得本地的耗用更少（例如不动产、电力等）。
- 峰值负载能力增加（用户无需建造最高可能的负载等级）。
- 原先利用率只有10-20%的系统利用效率增加了。
- 如果使用多个冗余站点，则改进了可靠性，这允许我们设计云计算以符合商业一致性以及灾备。
- 可扩展性经由在合理粒度上按需的服务开通资源，接近实时的自服务 (注意，并非完全实时，服务的启动时间根据虚拟机的类型，地点，操作系统和云提供商的不同而不同)，无需用户对峰值负载进行工程构造。
- 性能受到监控，同时一致性以及松散耦合架构通过web services作为系统接口被构建起来。
- 因为数据集中化了，故安全性得到了提升，增加了关注安全的资源等，但对特定敏感数据的失控将是持续关注的，且内核存储的安全性缺少关注。较传统系统而言，安全性的要求更加高。部分原因是提供商可以专注于用户所无法提供的资源之安全性解决方案。然而当“数据分布在更广的范围以及更多数量的设备上”时，以及在由“不相关的多个用户使用的多终端系统”时，安全性的复杂性极大的增加了。用户获取安全审计日志变得不太可能了。私有云的发展动力部分是源自客户对设备的掌控以及避免丢失安全信息。
- 维护云计算应用是很简单的，因为显而易见用户无需再在本机上进行安装。一旦改变达到了客户端，它们将更容易支持以及改进。

## 云计算的隐私安全问题

云计算受到业界的极大推崇并推出了一系列基于云计算平台的服务。然而在用户大量参与的情况下，不可避免的出现了隐私问题。用户在云计算平台上共享信息使用服务，那么云计算平台需要收集其相关信息。实际上，云计算的核心特征之一就是数据的储存和安全完全由云计算提供商负责。对于许多用户来说，这一方面降低了组织内部和个人成本，无需搭建平台即可享受云服务。但是，一旦数据脱离内网被共享至互联网上，就无法通过物理隔离和其他手段防止隐私外泄。因此，许多的用户担心自己的隐私权会受到侵犯，其私密的信息会被泄露和使用。

云计算的隐私安全问题主要包括：

- 在未经授权的情况下，他人以不正当的方式进行数据侵入，获得用户数据。
- 政府部门或其他权利机构为达到目的对云计算平台上的信息进行检查，获取相应的资料以达到监管和控制的目的。
- 云计算提供商为获取商业利益对用户信息进行收集和处理。

## 外部链接

- DRBD®
- OpenNbula
- Eucalyptus
- Nimbus - cloud computing for science
- CloudStack - The Apache Software Foundation!
- Deltacloud API - The Apache Software Foundation!
- Cloud Foundry by VMware
- OpenStack