云计算(英语:Cloud Computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。整个运行方式很像电网。
云计算是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变。用户不再需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制。[1] 云计算描述了一种基于互联网的新的IT服务增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展而且经常是虚拟化的资源。[2][3] 云其实是网络、互联网的一种比喻说法。因为过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。典型的云计算提供商往往提供通用的网络业务应用,可以通过浏览器等软件或者其他Web服务来访问,而软件和数据都存储在服务器上。云计算关键的要素,还包括个性化的用户体验。
云计算可以认为包括以下几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。云计算服务通常提供通用的通过浏览器访问的在线商业应用,软件和数据可存储在数据中心。
目录
- 1 基本特征
- 2 服务模式
- 3 布署模型
- 4 对比
- 5 体系架构
- 6 核心特性
- 7 发展历史
- 8 参考文献
- 9 开源云列表
|
基本特征
互联网上的云计算服务特征和自然界的云、水循环具有一定的相似性,因此,云是一个相当贴切的比喻。根据美国国家标准和技术研究院的定义[4], 云计算服务应该具备以下几条特征:
- 随需自助服务。
- 随时随地用任何网络设备访问。
- 多人共享资源池。
- 快速重新布署灵活度。
- 可被监控与量测的服务。
一般认为还有如下特征:
- 基于虚拟化技术快速部署资源或获得服务。
- 减少用户终端的处理负担。
- 降低了用户对于IT专业知识的依赖。
服务模式
NIST 的云计算定义共有三种服务模式:
- 软件即服务 (SaaS):消费者使用应用程序,但并不掌控操作系统、硬件或运作的网络基础架构。是一种服务观念的基础,软件服务供应商,以租赁的概念提供客户服务,而非购买,比较常见的模式是提供一组帐号密码。例如: Microsoft CRM与Salesforce.com
- 平台即服务 (PaaS):消费者使用主机操作应用程序。消费者掌控运作应用程序的环境(也拥有主机部分掌控权),但并不掌控操作系统、硬件或运作的网络基础架构。平台通常是应用程序基础架构。例如: Google App Engine。
- 基础架构即服务 (IaaS):消费者使用“基础计算资源”,如处理能力、存储空间、网络组件或中间件。消费者能掌控操作系统、存储空间、已部署的应用程序及网络组件(如防火墙、负载平衡器等),但并不掌控云基础架构。例如: Amazon AWS、Rackspace。
布署模型
简而言之,公用云服务可通过网络及第三方服务供应者,开放给客户使用,“公用”一词并不一定代表“免费”,但也可能代表免费或相当廉价,公用云并不表示用户数据可供任何人查看,公用云供应者通常会对用户实施使用访问控制机制,公用云作为解决方案,既有弹性,又具备成本效益。
私有云具备许多公用云环境的优点,例如弹性、适合提供服务,两者差别在于私有云服务中,数据与程序皆在组织内管理,且与公用云服务不同,不会受到网络带宽、安全疑虑、法规限制影响;此外,私有云服务让供应者及用户更能掌控云基础架构、改善安全与弹性,因为用户与网络都受到特殊限制。
社区云由众多利益相仿的组织掌控及使用,例如特定安全要求、共同宗旨等。社区成员共同使用云数据及应用程序。
混合云结合公用云及私有云,这个模式中,用户通常将非企业关键信息外包,并在公用云上处理,但同时掌控企业关键服务及数据。
对比
云计算常与网格计算(分散式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机,常用来执行大型任务)、效用计算(IT资源的一种打包和计费方式,比如按照计算、存储分别计量费用,像传统的电力等公共设施一样)、自主计算(具有自我管理功能的计算机系统)相混淆。
事实上,许多云计算部署依赖于计算机集群(但与网格的组成、体系机构、目的、工作方式大相径庭),也吸收了自主计算和效用计算的特点。
它从硬件结构上是一种多对一的结构,从服务的角度或从功能的角度它是一对多的。 (1)例如,今天要设计一供应链管理系统,可以先从市面上提供的免费云服务器主机,将Application放置主机上,使用MS所提供数据库,这样一来,硬件成本大幅降低,将Application放置云上,且随时随地于任何终端设备上链接互联网,就能访问数据(因为基于公开的标准协定). (2)云科技,在2009年开始至今,对于任何企业都吹起一股风潮,除了数据访问方便,营运成本大幅降低(例如,办公室软件,操作系统,硬件设备),都能通过云技术的提供,免费使用.现今很多企业在创业时,都采用云技术,来降低成本,以提高企业竞争能力.
体系架构
云层次结构示意图
客户端 |
应用程序 |
平台 |
基础设备 |
服务器 |
截止到2009年,大部分的云计算基础构架是由通过数据中心传送的可信赖的服务和创建在服务器上的不同层次的虚拟化技术组成的。人们可以在任何有提供网络基础设施的地方使用这些服务。“云”通常表现为对所有用户的计算需求的单一访问点。人们通常希望商业化的产品能够满足服务质量(QoS)的要求,并且一般情况下要提供服务水平协议。[5] 开放标准对于云计算的发展是至关重要的,并且开源软件已经为众多的云计算实例提供了基础。[6]
云的基本概念,是通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再由多部服务器所组成的庞大系统搜索、计算分析之后将处理结果回传给用户。通过这项技术,远程的服务供应商可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级电脑”同样强大性能的网络服务。它可分析DNA结构、基因图谱定序、解析癌症细胞等高级计算,例如Skype以点对点(P2P)方式来共同组成单一系统;又如Google通过MapReduce架构将数据拆成小块计算后再重组回来,而且Big Table技术完全跳脱一般数据库数据运作方式,以row设计存储又完全的配合Google自己的文件系统(Google文件系统),以帮助数据快速穿过“云”。
核心特性
- 敏捷(Agility)使用户得以快速且以低价格的获得技术架构资源。
- 应用程序界面(API)的可达性是指允许软件与云以类似“人机交互这种用户界面设施交互相所相一致的方式”来交互。云计算系统典型的运用基于REST(Representational State Transfer)网络架构的API。
- 在公有云中的传输模式中支持已经转变为运营成本,故费用大幅下降。很显然的降低了进入门栏,这是由于体系架构典型的是由第三方提供,且无需一次性购买,且没有了罕见的集中计算任务的压力。称为计算资源包的通用计算基础上的原则在细粒度上基于用户的操作和更少的IT技能被内部实施。
- 设备和本地依赖允许用户通过网页浏览器来获取资源,而无需关注用户自身是通过何种设备,或在何地介入资源(如 PC、移动设备等)。通常设施是在非本地的(典型的是由第三方提供的),并且通过因特网获取,用户可以从任何地方来连接。
- 一种称为多租户的软件架构技术允许在多用户池下共享资源与消耗:
- 体系结构的中央化使得本地的耗用更少(例如不动产、电力等)。
- 峰值负载能力增加(用户无需建造最高可能的负载等级)。
- 原先利用率只有10-20%的系统利用效率增加了。
- 如果使用多个冗余站点,则改进了可靠性,这允许我们设计云计算以符合商业一致性以及灾备。
- 可扩展性经由在合理粒度上按需的服务开通资源,接近实时的自服务,无需用户对峰值负载进行工程构造。
- 性能受到监控,同时一致性以及松散耦合架构通过web services作为系统接口被构建起来。
- 因为数据集中化了,故安全性得到了提升,增加了关注安全的资源等,但对特定敏感数据的失控将是持续关注的,且内核存储的安全性缺少关注。较传统系统而言,安全性的要求更加高。部分原因是提供商可以专注于用户所无法提供的资源之安全性解决方案。然而当“数据分布在更广的范围以及更多数量的设备上”时,以及在由“不相关的多个用户使用的多终端系统“时,安全性的复杂性极大的增加了。用户获取安全审计日志变得不太可能了。私有云的发展动力部分是源自客户对设备的掌控以及避免丢失安全信息。
- 维护云计算应用是很简单的,因为显而易见用户无需再在本机上进行安装。一旦改变达到了客户端,它们将更容易支持以及改进。
发展历史
美国国家航空航天局的 OpenStack/Nebula计算平台。
1983年,太阳电脑(Sun Microsystems)提出“网络是电脑”(“The Network is the computer”)。
2006年3月,亚马逊(Amazon)推出弹性计算云(Elastic Compute Cloud;EC2)服务。
2006年8月9日,Google首席执行官埃里克·施密特(Eric Schmidt)在搜索引擎大会(SES San Jose 2006)首次提出“云计算”(Cloud Computing)的概念。Google“云端计算”源于Google工程师克里斯托弗·比希利亚所做的“Google 101”项目。
2007年10月,Google与IBM开始在美国大学校园,包括卡内基美隆大学、麻省理工学院、斯坦福大学、加州大学柏克莱分校及马里兰大学等,推广云计算的计划,这项计划希望能降低分散式计算技术在学术研究方面的成本,并为这些大学提供相关的软硬件设备及技术支持(包括数百台个人电脑及BladeCenter与System x服务器,这些计算平台将提供1600个处理器,支持包括Linux、Xen、Hadoop等开放源代码平台)。而学生则可以通过网络开发各项以大规模计算为基础的研究计划。
2008年1月30日,Google宣布在台湾启动“云计算学术计划”,将与台湾台大、交大等学校合作,将这种先进的大规模、快速计算技术推广到校园[7]。
2008年7月29日,雅虎、惠普和英特尔宣布一项涵盖美国、德国和新加坡的联合研究计划,推出云计算研究测试床,推进云计算。该计划要与合作伙伴创建6个数据中心作为研究试验平台,每个数据中心配置1400个至4000个处理器。这些合作伙伴包括新加坡资讯通信发展管理局、德国卡尔斯鲁厄大学Steinbuch计算中心、美国伊利诺伊大学香宾分校、英特尔研究院、惠普实验室和雅虎。[8]
2008年8月3日,美国专利商标局网站信息显示,戴尔正在申请“云计算”(Cloud Computing)商标,此举旨在加强对这一未来可能重塑技术架构的术语的控制权。戴尔在申请文件中称,云计算是“在数据中心和巨型规模的计算环境中,为他人提供计算机硬件定制制造”。[9]
2010年3月5日,Novell与云安全联盟(CSA)共同宣布一项供应商中立计划,名为“可信任云计算计划(Trusted Cloud Initiative)”。
2010年7月,美国国家航空航天局和包括Rackspace、AMD、Intel、戴尔等支持厂商共同宣布“OpenStack”开放源代码计划,[10] 微软在2010年10月表示支持OpenStack与Windows Server 2008 R2的集成;[11]而Ubuntu已把OpenStack加至11.04版本中。[12] 2011年2月,思科系统正式加入OpenStack,重点研制OpenStack的网络服务。[13]
参考文献
- ^ Danielson, Krissi. Distinguishing Cloud Computing from Utility Computing. Ebizq.net. 2008-03-26 [2010-08-22].
- ^ Gartner Says Cloud Computing Will Be As Influential As E-business. Gartner.com [2010-08-22].
- ^ Gruman, Galen. What cloud computing really means. InfoWorld. 2008-04-07 [2009-06-02].
- ^ 美国国家标准与技术研究院对云计算(NIST) 的定义
- ^ Buyya, Rajkumar; Chee Shin Yeo, Srikumar Venugopal. Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities (PDF). Department of Computer Science and Software Engineering, The University of Melbourne, Australia: 9 [2008-07-31].
- ^ Open source fuels growth of cloud computing, software-as-a-service
- ^ 张德厚. 与学界合作Google推广“云端运算技术”. 中广新闻网. 2008年1月30日 [2008-2-1].
- ^ 服务器新闻. 雅虎惠普英特尔云计算挑战谷歌IBM. IT专家网. 2008年7月29日.
- ^ 新浪科技. 戴尔在美申请“云计算”商标. 新浪科技. 2008年8月3日.
- ^ Rackspace Open Sources Cloud Platform; Announces Plans to Collaborate with NASA and Other Industry Leaders on OpenStack Project
- ^ OpenStack Is Now Open for Windows Server
- ^ Canonical joins the OpenStack community
- ^ Cisco joins OpenStack Community
- 简论云计算的三层分类:以“IBM 推云计算电邮”为例 (2009.11.15)
- 商业周刊 第1146期 2009-11-09
- 移动商务概论、实务与应用:无所不在的云计算、移动设备、RFID与物联网 ,棋峰信息出版,2012年9月第1版,ISBN:978-986-276-549-4
开源云列表
- DRBD®
- OpenNebula
- Abiquo
- Eucalyptus
- Nimbus - cloud computing for science
- CloudStack - The Apache Software Foundation!
- Deltacloud API - The Apache Software Foundation!
- Cloud Foundry by VMware
- OpenStack
隐藏▲
查
·
论
·
编
云计算
|
|
客户端 |
网页浏览器
· 智能手机
· 上网本
· Nettop
|
|
|
应用 |
SAP OnDemand Solutions
· Google Apps
· Microsoft Online
· NetSuite
· SalesForce
|
|
平台 |
App Engine
· Windows Azure
· Engine Yard
· Force.com
· Heroku
· MTurk
· RightScale
· Amazon S3
· SimpleDB
· SQS
|
|
基础设施 |
EC2
· Eucalyptus
· FlexiScale
· GoGrid
· Nimbus
· OpenStack
· Rackspace Cloud
· VPC
|
|
类型 |
SaaS
· PaaS
· IaaS
· CaaS
|
|
技术 |
网络
· 数据中心
· 分散式文件系统
· 硬件虚拟化
· Web服务
· 虚拟设备
· 多租户技术
|
|
标准 |
Ajax
· Atom
· HTML5
· REST
· XMPP
· BitTorrent
|
|
隐藏▲
查
·
论
·
编
并行计算
|
|
概论 |
高性能计算
· 计算机集群
· 分布式计算
· 网格计算
·
云计算
|
|
|
方式 |
Bit-level parallelism
· Instruction level parallelism
· Data parallelism
· 任务并行
|
|
理论 |
Speedup
· Amdahl定理
· Flynn's taxonomy
(SISD • SIMD • MISD • MIMD)
· Cost efficiency
· Gustafson定理
· Karp-Flatt metric
|
|
元素 |
进程
· 线程
· 纤程
· PRAM模型
|
|
协调 |
多处理
· 多线程
· 超线程
· 内存一致性
· Cache coherency
· Barrier
· 同步化
· Application checkpointing
|
|
编程 |
Programming model
· Implicit parallelism
· Explicit parallelism
|
|
硬件 |
贝奥武夫机群
· 对称多处理机
· Asymmetric multiprocessing
· Simultaneous multithreading
· 内存 (
非均匀访存模型 · Cache only memory architecture · 共享内存 · Distributed memory · Distributed shared memory )
Massively parallel processing
· 超纯量
· 矢量处理机
· 超级计算机
· Stream processing
· 通用图形处理器 (GPGPU)
|
|
APIs |
POSIX Threads
· OpenMP
· 信息传递接口 (MPI)
· Intel Threading Building Blocks
|
|
问题 |
Embarrassingly parallel
· Grand Challenge
· Software lockout
· 可扩放性
· 竞争危害
· 死锁
· 确定性算法
|
|