【计算机系统导论】8.2 云计算

CAP 理论,云计算的发展,概念,虚拟化,原理,思路,paxos,参考我撸下来的课程笔记(英文原文)


云计算(英语:Cloud Computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。
云计算是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变。用户不再需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制。[1]云计算描述了一种基于互联网的新的IT服务增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展而且经常是虚拟化的资源。[2][3]
在“软件即服务(SaaS)”的服务模式当中,用户能够访问服务软件及数据。服务提供者则维护基础设施及平台以维持服务正常运作。SaaS常被称为“随选软件”,并且通常是基于使用时数来收费,有时也会有采用订阅制的服务。
推广者认为,SaaS使得企业能够借由外包硬件、软件维护及支持服务给服务提供者来降低IT营运费用。另外,由于应用程序是集中供应的,更新可以即时的发布,无需用户手动更新或是安装新的软件。SaaS的缺陷在于用户的数据是存放在服务提供者的服务器之上,使得服务提供者有能力对这些数据进行未经授权的访问。
用户通过浏览器、桌面应用程序或是移动应用程序来访问云的服务。推广者认为云计算使得企业能够更迅速的部署应用程序,并降低管理的复杂度及维护成本,及允许IT资源的迅速重新分配以因应企业需求的快速改变。
云计算依赖资源的共享以达成规模经济,类似基础设施(如电力网)。服务提供者集成大量的资源供多个用户使用,用户可以轻易的请求(租借)更多资源,并随时调整使用量,将不需要的资源释放回整个架构,因此用户不需要因为短暂尖峰的需求就购买大量的资源,仅需提升租借量,需求降低时便退租。服务提供者得以将目前无人租用的资源重新租给其他用户,甚至依照整体的需求量调整租金。
目录 [隐藏]
1 基本特征
2 参考形态
3 发展历史
4 服务模式
5 部署模型
6 对比
7 体系架构
8 核心特性
9 云计算应用
10 云计算的隐私安全问题
11 参考文献
12 开源云列表
基本特征[编辑]
互联网上汇聚的计算资源、存储资源、数据资源和应用资源正随着互联网规模的扩大而不断增加,互联网正在从传统意义的通信平台转化为泛在、智能的计算平台。与计算机系统这样的传统计算平台比较,互联网上还没有形成类似计算机操作系统的服务环境,以支持互联网资源的有效管理和综合利用。在传统计算机中已成熟的操作系统技术,已不再能适用于互联网环境,其根本原因在于:互联网资源的自主控制、自治对等、异构多尺度等基本特性,与传统计算机系统的资源特性存在本质上的不同。为了适应互联网资源的基本特性,形成承接互联网资源和互联网应用的一体化服务环境,面向互联网计算的虚拟计算环境(Internet-based Virtual Computing Environment,iVCE)的研究工作,使用户能够方便、有效地共享和利用开放网络上的资源。[4][5][6][7][8][9]
Cloud computing icon.svg
互联网上的云计算服务特征和自然界的云、水循环具有一定的相似性,因此,云是一个相当贴切的比喻。根据美国国家标准和技术研究院的定义,云计算服务应该具备以下几条特征:[10]
随需应变自助服务。
随时随地用任何网络设备访问。
多人共享资源池。
快速重新部署灵活度。
可被监控与量测的服务。
一般认为还有如下特征:
基于虚拟化技术快速部署资源或获得服务。
减少用户终端的处理负担。
降低了用户对于IT专业知识的依赖。
参考形态[编辑]
虚拟计算环境是一个学术上的概念,不同的研究组织对其有不同的实现方式。下面是虚拟计算环境的一种参考形态:
从应用视角上,iVCE以新型的资源管理模型,为终端用户提供了组织、共享和管理资源的方式和机制,以支持互联网资源的有效共享和综合利用。从开发视角上,iVCE是互联网新型应用的软件开发平台,提供了与资源管理模型一致的程序设计模式与运行支撑,能方便、快捷地帮助开发人员构造面向互联网的应用系统。从系统视角上,iVCE包括了支持iVCE资源管理模型的程序设计语言,网络延迟探测、支持网络资源按需聚合和协同的虚拟节点、资源聚合管理、资源协同管理、虚拟网络内存、虚拟网络外存和虚拟执行网络等基础服务,以及iVCE应用管理与运行支撑环境。
发展历史[编辑]

美国国家航空航天局的OpenStack/Nebula计算平台。
1983年,太阳电脑提出“网络是电脑”(“The Network is the computer”)。
2006年3月,亚马逊推出弹性计算云服务。
2006年8月9日,Google首席执行官埃里克·施密特在搜索引擎大会(SES San Jose 2006)首次提出“云计算”的概念。Google“云端计算”源于Google工程师克里斯托弗·比希利亚所做的“Google 101”项目。
2007年10月,Google与IBM开始在美国大学校园,包括卡内基美隆大学、麻省理工学院、斯坦福大学、加州大学柏克莱分校及马里兰大学等,推广云计算的项目,这项计划希望能降低分布式计算技术在学术研究方面的成本,并为这些大学提供相关的软硬件设备及技术支持(包括数百台个人电脑及BladeCenter与System x服务器,这些计算平台将提供1600个处理器,支持包括Linux、Xen、Hadoop等开放源代码平台)。而学生则可以通过网络开发各项以大规模计算为基础的研究项目。
2008年1月30日,Google宣布在台湾引导“云计算学术项目”,将与台湾台大、交大等学校合作,将这种先进的大规模、快速计算技术推广到校园[11]。
2008年7月29日,雅虎、惠普和英特尔宣布一项涵盖美国、德国和新加坡的联合研究计划,推出云计算研究测试床,推进云计算。该计划要与合作伙伴创建6个数据中心作为研究试验平台,每个数据中心配置1400个至4000个处理器。这些合作伙伴包括新加坡资讯通信发展管理局、德国卡尔斯鲁厄大学Steinbuch计算中心、美国伊利诺大学香宾分校、英特尔研究院、惠普实验室和雅虎。[12]
2008年8月3日,美国专利商标局网站信息显示,戴尔正在申请“云计算”(Cloud Computing)商标,此举旨在加强对这一未来可能重塑技术架构的术语的控制权。戴尔在申请文件中称,云计算是“在数据中心和巨型规模的计算环境中,为他人提供计算机硬件定制制造”。[13]
2010年3月5日,Novell与云安全联盟(CSA)共同宣布一项供应商中立项目,名为“可信任云计算项目”。
2010年7月,美国国家航空航天局和包括Rackspace、AMD、Intel、戴尔等支持厂商共同宣布“OpenStack”开放源代码项目,[14] 微软在2010年10月表示支持OpenStack与Windows Server 2008 R2的集成;[15]而Ubuntu已把OpenStack加至11.04版本中。[16] 2011年2月,思科系统正式加入OpenStack,重点研制OpenStack的网络服务。[17]
服务模式[编辑]
美国国家标准和技术研究院的云计算定义中明确了三种服务模式:[10]
软件即服务(SaaS):消费者使用应用程序,但并不掌控操作系统、硬件或运作的网络基础架构。是一种服务观念的基础,软件服务供应商,以租赁的概念提供客户服务,而非购买,比较常见的模式是提供一组账号密码。例如:Microsoft CRM与Salesforce.com。
平台即服务(PaaS):消费者使用主机操作应用程序。消费者掌控运作应用程序的环境(也拥有主机部分掌控权),但并不掌控操作系统、硬件或运作的网络基础架构。平台通常是应用程序基础架构。例如:Google App Engine。
基础设施即服务(IaaS):消费者使用“基础计算资源”,如处理能力、存储空间、网络组件或中间件。消费者能掌控操作系统、存储空间、已部署的应用程序及网络组件(如防火墙、负载平衡器等),但并不掌控云基础架构。例如:Amazon AWS、Rackspace。
部署模型[编辑]

云种类
美国国家标准和技术研究院的云计算定义中也涉及了关于云计算的部署模型[10]:
公用云(Public Cloud)
简而言之,公用云服务可通过网络及第三方服务供应者,开放给客户使用,“公用”一词并不一定代表“免费”,但也可能代表免费或相当廉价,公用云并不表示用户数据可供任何人查看,公用云供应者通常会对用户实施使用访问控制机制,公用云作为解决方案,既有弹性,又具备成本效益。
私有云(Private Cloud)
私有云具备许多公用云环境的优点,例如弹性、适合提供服务,两者差别在于私有云服务中,数据与程序皆在组织内管理,且与公用云服务不同,不会受到网络带宽、安全疑虑、法规限制影响;此外,私有云服务让供应者及用户更能掌控云基础架构、改善安全与弹性,因为用户与网络都受到特殊限制。
社区云(Community Cloud)
社区云由众多利益相仿的组织掌控及使用,例如特定安全要求、共同宗旨等。社区成员共同使用云数据及应用程序。
混合云(Hybrid Cloud)
混合云结合公用云及私有云,这个模式中,用户通常将非企业关键信息外包,并在公用云上处理,但同时掌控企业关键服务及数据。
对比[编辑]
Tango-nosources.svg 此章节未列出参考或来源。
云计算常与网格计算(分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机,常用来执行大型任务)、效用计算(IT资源的一种打包和计费方式,比如按照计算、存储分别计量费用,像传统的电力等公共设施一样)、自主计算(具有自我管理功能的计算机系统)相混淆。
事实上,许多云计算部署依赖于计算机集群(但与网格的组成、体系机构、目的、工作方式大相径庭),也吸收了自主计算和效用计算的特点。
它从硬件结构上是一种多对一的结构,从服务的角度或从功能的角度它是一对多的。例如,今天要设计一供应链管理系统,可以先从市面上提供的免费云服务器主机,将Application放置主机上,使用MS所提供数据库,这样一来,硬件成本大幅降低,将Application放置云上,且随时随地于任何终端设备上链接互联网,就能访问数据(因为基于公开的标准协议)。
体系架构[编辑]
云层次结构示意图
客户端
应用程序
平台
基础设备
服务器
截止到2009年,大部分的云计算基础构架是由通过数据中心传送的可信赖的服务和创建在服务器上的不同层次的虚拟化技术组成的。人们可以在任何有提供网络基础设施的地方使用这些服务。“云”通常表现为对所有用户的计算需求的单一访问点。人们通常希望商业化的产品能够满足服务质量(QoS)的要求,并且一般情况下要提供服务水平协议。[18] 开放标准对于云计算的发展是至关重要的,并且开源软件已经为众多的云计算实例提供了基础。[19]
云的基本概念,是通过网络将庞大的计算进程自动分拆成无数个较小的子程序,再由多部服务器所组成的庞大系统搜索、计算分析之后将处理结果回传给用户。通过这项技术,远程的服务供应商可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级电脑”同样强大性能的网络服务。它可分析DNA结构、基因图谱定序、解析癌症细胞等高级计算,例如Skype以点对点(P2P)方式来共同组成单一系统;又如Google通过MapReduce架构将数据拆成小块计算后再重组回来,而且Big Table技术完全跳脱一般数据库数据运作方式,以row设计存储又完全的配合Google自己的文件系统(Google文件系统),以帮助数据快速穿过“云”。
核心特性[编辑]
Tango-nosources.svg 此章节未列出参考或来源。

云计算图解
敏捷(Agility)使用户得以快速且以低价格的获得技术架构资源。
应用程序界面(API)的可达性是指允许软件与云以类似“人机交互这种用户界面设施交互相所相一致的方式”来交互。云计算系统典型的运用基于REST(Representational State Transfer)网络架构的API。
在公有云中的传输模式中支持已经转变为运营成本,故费用大幅下降。很显然的降低了进入门栏,这是由于体系架构典型的是由第三方提供,且无需一次性购买,且没有了罕见的集中计算任务的压力。称为计算资源包的通用计算基础上的原则在细粒度上基于用户的操作和更少的IT技能被内部实施。
设备和本地依赖允许用户通过网页浏览器来获取资源,而无需关注用户自身是通过何种设备,或在何地介入资源(如PC、移动设备等)。通常设施是在非本地的(典型的是由第三方提供的),并且通过因特网获取,用户可以从任何地方来连接。
一种称为多租户的软件架构技术允许在多用户池下共享资源与消耗:
体系结构的中央化使得本地的耗用更少(例如不动产、电力等)。
峰值负载能力增加(用户无需建造最高可能的负载等级)。
原先利用率只有10-20%的系统利用效率增加了。
如果使用多个冗余站点,则改进了可靠性,这允许我们设计云计算以匹配商业一致性以及灾备。
可扩展性经由在合理粒度上按需的服务开通资源,接近实时的自服务[20] (注意,并非完全实时,服务的启动时间根据虚拟机的类型,地点,操作系统和云提供商的不同而不同),无需用户对峰值负载进行工程构造。
性能受到监控,同时一致性以及松散耦合架构通过web services作为系统接口被构建起来。
因为数据集中化了,故安全性得到了提升,增加了关注安全的资源等,但对特定敏感数据的失控将是持续关注的,且内核存储的安全性缺少关注。较传统系统而言,安全性的要求更加高。部分原因是提供商可以专注于用户所无法提供的资源之安全性解决方案。然而当“数据分布在更广的范围以及更多数量的设备上”时,以及在由“不相关的多个用户使用的多终端系统”时,安全性的复杂性极大的增加了。用户获取安全审计日志变得不太可能了。私有云的发展动力部分是源自客户对设备的掌控以及避免丢失安全信息。
维护云计算应用是很简单的,因为显而易见用户无需再在本机上进行安装。一旦改变达到了客户端,它们将更容易支持以及改进。
云计算应用[编辑]
云教育
教育在云技术平台上的开发和应用,被称为“教育云”。云教育从信息技术的应用方面打破了传统教育的垄断和固有边界。通过教育走向信息化,使教育的不同参与者——教师、学生、家长、教育部门等在云技术平台上进行教育、教学、娱乐、沟通等功能。同时可以通过视频云计算的应用对学校特色教育课程进行直播和录播,并将信息储存至流存储服务器上,便于长时间和多渠道享受教育成果。
云物联
物联网是新一代信息技术浪潮的生力军。物联网通过智能感知、识别技术与普适计算广泛应用于互联网各方面。物联网作为互联网的业务和应用,随着其深入的发展和流量的增加,对数据储存和计算量的要求将带来对云计算的需求增加。并且在物联网的高级阶段,必将需要虚拟云计算技术的进一步应用。[21]
云社交
云社交是一种虚拟社交应用。它以资源分享作为主要目标,将物联网、云计算和移动互联网相结合,通过其交互作用创造新型社交方式。云社交把社会资源进行测试、分类和集成,并向有需求的用户提供相应的服务。用户流量越大,资源集成越多,云社交的价值就越大。目前云社交已经具备了初步模型。
云安全
主条目:安全即服务
云安全是云计算在互联网安全领域的应用。云安全融合了并行处理、网络技术、未知病毒等新兴技术,通过分布在各领域的客户端对互联网中存在异常的情况进行监测,获取最新病毒程序信息,将信息发送至服务端进行处理并推送最便捷的解决建议。通过云计算技术使整个互联网变成了终极安全卫士。[22]
云政务
云计算应用于政府部门中,为政府部门降低成本提高效率做出贡献。由于云计算具有集约、共享、高效的特点,所以其应用将为政府部门降低20%至80%的成本。所以在电子商务延伸至电子政务的背景下,各国政府部门都在着力进行电子政务改革,研究云计算普遍应用的可能性。伴随政府改革的进行,政府部门也开始从自建平台到购买电信运营商的服务,这将为促进云计算的进一步发展并为电信运营商带来商机。
云存储
云存储是云计算的一个新的发展浪潮。云存储不是某一个具体的存储设备,而是互联网中大量的存储设备通过应用软件共同作用协同发展,进而带来的数据访问服务。云计算系统要运算和处理海量数据,为支持云计算系统需要配置大量的存储设备,这样云技术系统就自动转化为云存储系统。故而,云存储是在云计算的概念的延伸。[23]
云计算的隐私安全问题[编辑]
主条目:云计算的安全性
云计算受到业界的极大推崇并推出了一系列基于云计算平台的服务。然而在用户大量参与的情况下,不可避免的出现了隐私问题。用户在云计算平台上共享信息使用服务,那么云计算平台需要收集其相关信息。实际上,云计算的核心特征之一就是数据的储存和安全完全由云计算提供商负责。对于许多用户来说,这一方面降低了组织内部和个人成本,无需搭建平台即可享受云服务。但是,一旦数据脱离内网被共享至互的联网上,就无法通过物理隔离和其他手段防止隐私外泄。因此,许多的用户担心自己的隐私权会受到侵犯,其私密的信息会被泄露和使用。 云计算的隐私安全问题主要包括:1 在未经授权的情况下,他人以不正当的方式进行数据侵入,获得用户数据。 2 政府部门或其他权利机构为达到目的对云计算平台上的信息进行检查,获取相应的资料以到达监管和控制的目的。3 云计算提供商为获取商业利益对用户信息进行收集和处理。[24]

捧个钱场?