云计算服务模型,第 1 部分: 基础架构即服务(IaaS)
英文原文:Cloud computing service models, Part 1: Infrastructure as a Service
本文介绍三个云类别中的第一个:基础架构即服务(infrastructure as a service,IaaS)。IaaS 的一些关键概念包括:
- 云爆发(cloudbursting)
- 多租户计算(multi-tenant computing )
- 资源共用(resources pooling)
- 虚拟机监控程序(hypervisor)
最重要的是了解 IaaS 与众不同的两个方面:弹性和虚拟化。
IaaS 的价值
对于企业而言,IaaS 的巨大价值通过云爆发(cloudbursting) 概念实现 — 云爆发是指当需要的计算资源最多时将任务卸载到云环境的过程。云爆发促成的资本节约潜力巨大,因为企业无需额外投资利用率很低的服务器,那些服务器一年中只有两三次使用 70% 的容量,其余时间仅有 7-10% 的负荷。
但是,对于要在这方面利用 IaaS 优势的企业而言,IT 部门必须能够构建和实现能够将一些流程重新分配到一个 IaaS 云的软件。要构建和实现能够管理这种再分配流程的软件,需要考虑 4 个重要事项:
- 事实证明,如果某个供应商可能会停业,那么针对该供应商的专有 IaaS 进行开发将是一个代价不菲的错误。
- 编写良好的资源分配软件通常比较复杂,需要顶尖的开发人员资源,这种资源的成本不会低廉。预先为您能找到的最好资源准备更多预算将为您自己和您的组织节约大量时间、减少挫折并消除预料之外的费用。
- 您需要将什么发送到云并在云中处理?将个人身份、财务信息和医疗保健之类的数据发送到云将使您面临违反美国 Sarbanes-Oxley (SOX) Act、Payment Card Industry (PCI) 或 Health Insurance Portability and Accountability Act (HIPAA) 法规的风险。
- 务必理解转移企业日常运营关键流程的危险。一个好主意是事先绘制一张包含三列的表,第一列是涉及合规性关键数据的流程,第二列是涉及业务关键任务的流程,第三列是涉及非关键任务的流程。然后,计划在第一阶段只让软件卸载第三列中的项目。
另外,组织需要注意云计算市场的供应商锁定(lock-in)状态。拥有可以从数据中心移动到云环境和在供应商的云之间移动的虚拟机(VM)对于企业而言可能是一种资产,但这需要供应商支持一种标准文件格式,而供应商通常不愿意那样做。
而实际情况是,目前没有一种公开规范或位于一个标准组织之下的规范。换句话说,目前没有一种真正标准化的格式,这种情况的结果至多是使事情变得复杂,原因是没有人保证您的构建基于的格式将来会受到支持。但是,有一点值得注意,假如这种新格式的规范是公开的,或者您拥有访问它的权限,那么将一种虚拟设备移植到另一种格式通常是可行的。令人感到欣慰的是,最近在对 Open Virtualization Format (OVF) 的支持方面取得了重大进展,OVF 很有可能成为标准 。另一个有希望的候选项是 Virtual Machine Disk (VMDK) 格式。VMDK 最初是 VMware 的一种专有格式,但现在它公开了,并受到了几个第三方组织的支持。
基础架构即资产
为展示云计算的演变过程,我们来回顾一下汽车工业在过去 50 年内的发展历程。在上世纪 60 年代到 70 年代,汽车制造商的相对优势完全取决于马力和扭矩。但是,到了 80 年代,事实证明这种模式不利于市场和环境,这迫使模式从基础架构即资产转移到基础架构即服务。
类似地,大量成功的公司在过去 50 年之内花费大量宝贵时间和资源来构建基础架构,其目标是通过创建一个更大、更快、更强的网络来获取战胜其竞争对手的竞争优势。IT 行业中的 “基础架构即资产” 范式拥有上世纪六七十年代的 “暴力跑车(muscle cars )” 所拥有的相同或类似的低效率和不利特征。对于企业计算,这些低效率包括:
- 大量未使用的计算能力和容量,它们耗费的成本与大型、昂贵的数据中心中的硬件消耗的大量空间相关联。
- 昂贵的人力资源需求,包括要求基础架构资产(服务器、路由器、交换机等)所在的数据中心的网络管理员进行 24 小时监控。
- 旨在应对高水平能源浪费的 Green Computing 计划的一个巨大障碍。
为帮助您理解云计算的这三个类别,我创建了一个跨概念矩阵供您参考(参见表1)。范式(paradigm)是大多数用户遵循的模式。如前所述,IaaS 标志着从 “基础架构即资产” 到 “基础架构即服务” 的转变。云计算的其他两个类别(见表1)也标志着范式转变。对于 Platform as a Service (PaaS),转变来自 “平台即资产” 范式,该范式的特征是大量采购许可。同样的转变也适用 Software as a Service (SaaS),这种转变是从 “软件以许可形式作为组织资产” 到 “软件以服务形式提供”。本系列第 2 和第 3 部分将分别讨论 PaaS 和 SaaS。
表 1. 三个云计算类别的跨概念矩阵
范式转变 | 特征 | 关键词 | 优势 | 劣势和风险 | 不适用时间 | |
---|---|---|---|---|---|---|
IaaS | Infrastructure as an asset | 通常独立于平台;基础架构成本被共享从而减少;SLAs;根据使用情况付费;自我伸缩 | 网格计算、效用计算、计算实例、虚拟机监控程序、云爆发、多租户计算、资源共用 | 避免硬件和人力资源上的资本投入;ROI 风险减小;准入门槛低;简化和自动化的伸缩 | 业务效率和生产力极大地依赖供应商的能力;长期成本可能更高;集中化需要新的/不同的安全措施 | 当资本预算大于经营预算时 |
PaaS | 许可采购 | 使用云基础架构;服务敏捷项目管理方法 | 解决方案堆栈 | 简化了的版本部署 | 集中化需要新的/不同的安全措施 | N/A |
SaaS | Software as an asset(企业和消费者) | SLA;瘦客户机应用程序驱动的 UI;云组件;通过 API 通信;无状态;松散耦合;模块化;语义互操作性 | 瘦客户机;客户机-服务器应用程序 | 避免软件和开发资源上的资本投入;ROI 风险减小;简化和迭代的更新 | 集中化需要新的/不同的安全措施 | N/A |
IaaS 的主要方面
与其将互联网想象成一个单一的全球云,不如将其想象为由许多云组成的一个系统(比如一个暴风雨云)可能更准确。通过这种比喻,就可以从逻辑上断定:闪电是云际通信的天气系统等价物。假设那些云以一种系统方式相互交互,创建一个单一结果:互联网,从这个意义上讲,上述比喻可能更准确。
但互联网不太可能只由一个云组成——至少在不远的将来不太可能——原因是云计算标准缺乏,且企业也没有进行长期投资以消除供应商锁定的明显尝试。不管怎样,如果它不是有利于资本主义精神的创新,云计算也无法发展到今天的程度。也许有一天,互联网真的能成为一个单一、互联的云,在那个云中:虚拟机可以轻松转移到 “那个云”,而不必担心文件格式;互联的 VM 集群可以跨服务提供商得到管理——只需通过一个界面即可实现。但在此之前,我们还是认为互联网由很多云组成。( 具有讽刺意味的是,我正在使用 Apple MobileMe 云来存储这篇文章,这样我才能跨几个设备处理它。)
了解弹性基础架构
弹性是 IaaS 的首要关键方面。为了阐述弹性的概念,我需要您展开想象。假设云由一些粘在一起的棉花糖簇组成,这样人们就可以坐在它们上面。每个棉花糖都能承载一定数量的人,具体取决于组成云的棉花糖簇的数量和那些簇中包含的棉花糖的数量。随着越来越多的人登上棉花糖云,您可以通过粘贴更多的棉花糖来扩展棉花糖簇,增加表面面积。您可能已经明白,人代表需要计算资源的应用程序,比如承载网站并运行软件的资源。棉花糖簇代表 VM 集群,每个棉花糖代表一个 VM。
尽管这听起来有点像 Seuss 博士的书中可能出现的内容,但它提供了一种方法来理解许多黑魔法(dark art)考虑的一个概念:弹性集群化(elastic clustering)。集群化几个物理服务器来形成一个虚拟云称为云集群化(cloud clustering),如果它真是一种黑魔法,则精通程度通过一位艺术家的系统设计的可伸缩性来衡量。
我们来看一个例子。假设您是一位为美国政府工作的统计研究员。政府有点人手不足,您刚刚接受一个任务,需要编辑最近的美国人口统计的所有数据。您负责制定必要的统计数据,以便议会能够制定关于经济恢复资金分配和从现在起三天内的税收金额的重要决策。毋庸讳言,这是一项非常重要的工作,您的时间有点紧张。而且,您必须处理的数据量简直是个天文数字,您刚刚发现,编辑那些统计数据需要的计算资源需要 IT 部门三周时间才能准备好!
这种问题正是您可以使用 IaaS 轻松缓解的。事实上,使用 IaaS,您可以在一小时之内完成全美人口普查数据分析。您首先创建一个服务器的单个实例,这个服务器包含在数据上运行查询需要的数据库软件。这个实例称为一个映像。
当您部署映像并将数据导入数据库之后,就可以根据需要复制那个映像任意多次,并开始运行您的数据处理任务。当任务运行时,您可以手动或自动添加和移除资源。例如,如果计算任务的运行速度不够快,只需将更多机器实例副本添加到集群。
理解弹性概念之后,现在我们来看看 IaaS 的第二个主要方面:虚拟化。
机器虚拟化
Sergey Brin 和 Larry Page——Google 的创始人——早在 1995 年就有了正确的想法,当时他们每天晚上都在斯坦福大学的计算机科学大楼后面的废料箱里翻检,找出被人忽略的计算机零件。他们将那些随意的、基于 x86 的计算机零件带回宿舍,将它们添加到托管具有传奇色彩的 “爬网蛛” 的 Frankenstein 机器上,爬网蛛——两次——记录下了斯坦福市的整个网络 。
今天,Google 预计在 12 个主要数据中心拥有超过 100 万台 x86 服务器,在各大洲拥有约 20 个小型数据中心。那是一个非常大的云。两个系统设计关键因素曾在 1995 年允许他们伸缩他们的 “宿舍怪兽”,而它们仍然适用今天的 Google 网络中的一百多万台服务器。直到今天,Google 仍然继续使用廉价的 x86 零件,而不是许多公司数据中心中昂贵得多的企业服务器组件。其次,故障转移、冗余性、监控、集群化和其他基础架构管理任务通过在操作系统层之下运行的一个虚拟系统来处理,而不是使用负载平衡器之类的独立硬件来处理类似任务。
IaaS 很容易定位,因为它通常是独立于平台的。IaaS 有一个硬件和软件资源组合组成。IaaS 软件是低级代码,独立于操作系统运行——称为虚拟机监控程序——并负责管理硬件资源的库存并根据需要分配上述资源(见图1)。这个过程称为资源共用(resource pooling)。 虚拟机监控程序实现的资源共用使得虚拟化成为可能,虚拟化使多租户计算(multi-tenant computing) 成为可能——多租户计算概念指由几个组织共享的一个基础架构,这些组织在安全需求和遵从性问题方面有类似的兴趣。
图 1. VMs、虚拟机监控程序和计算机之间的关系
通过 IaaS,您拥有提供处理、存储、网络和其他计算资源的能力,您可以在那里部署和运行任意软件,比如操作系统和应用程序。大多数云计算用例遵循您已经习惯的基础分层结构:一个软件解决方案堆栈或平台被部署在一个网络基础架构上,一些应用程序在那个平台之上运行。但是,虚拟化使得云范式独一无二。
结束语
在本文中,您了解了云计算的许多原则,IaaS 的架构,以及云计算如何用于一个真实场景。本系列第二篇文章将深入第二个主要的云计算类别:PaaS。在此期间,请查看参考资料部分的链接,了解关于 IaaS 的更多信息。
参考资料
- Grace Walker 的 developerWorks 文章 “云计算基础” 是一个不错的云计算简介。
- 查看 Cloudscaling 的 IaaS 购买者指南。
- Wikipedia 详细提供了 云计算背景知识。
- 查看 Eweek.com 的 使用 IaaS 的公司调查。
- 当今有许多公司正在提供 IaaS。下面是两个主要的提供商:
- 探索 developerWorks 云计算专区,其中包括宝贵的社区讨论和关于云的新技术资源。
- 在 IBM 智能业务云计算 中,获取宝贵的业务建议,增强云中的性能和效率。
- 阅读 Cloud Computing—A Primer,了解云计算基本知识。
- 观看 developerWorks 演示中心,包括面向初学者的产品安装和设置演示,以及为经验丰富的开发人员提供的高级功能。
关于作者
Dan Orlando 是企业开发社区一位公认的领袖。Dan 长期担任顾问,他在 Adobe 技术平台方面的专业技术经常受到工业领袖和 IBM developerWorks、Adobe Developer Connection 和 Amazon Web Services 等出版物的引用。Dan 还定期在 DanOrlando.com 撰写博客。
云计算服务模型,第 1 部分: 基础架构即服务(IaaS)的更多相关文章
- 云计算服务模型,第 2 部分: 平台即服务(PaaS)
英文原文:Cloud computing service models, Part 2: Platform as a Service 平台即服务 (PaaS) 常常是最容易让人迷惑的云计算类别,因为很 ...
- 关于云计算基础架构IaaS层的几点看法
真实的云计算什么样? 云计算对普通用户来说,总是一个云里雾里的话题. 本文从最基础的概念開始科普,说明了四个常见的错误理解,和作者的四个猜想. IaaS(Infrastructure as a Ser ...
- [Search Engine] 搜索引擎分类和基础架构概述
大家一定不会多搜索引擎感到陌生,搜索引擎是互联网发展的最直接的产物,它可以帮助我们从海量的互联网资料中找到我们查询的内容,也是我们日常学习.工作和娱乐不可或缺的查询工具.之前本人也是经常使用Googl ...
- 云计算服务模型,第 3 部分: 软件即服务(PaaS)
英文原文:Cloud computing service models, Part 3: Software as a Service 软件即服务 (SaaS) 为商用软件提供基于网络的访问.您有可能已 ...
- Windows Server基础架构云参考架构:硬件之上的设计
作者 王枫 发布于2014年1月27日 综述 毫无疑问,移动互联网.社交网络.大数据和云计算已经成为IT发展的四个大的趋势.其中云计算又为前三个提供了一个理想的平台.今天不仅互联网公司,很多传统行业的 ...
- 微软云基础架构Hyper-scale Datacenter
每天醒来,可能很多人的习惯都是打开手机,看看微信,刷刷朋友圈,或者看看新闻,去咖啡店,打开电脑搜索一些关键字,观看视频,电视剧--可是你有没有想过你每一次键盘的敲击,每一次微信的语音的发送,数据会流向 ...
- 一个都不能少: DevOps的3大核心基础架构
DevOps的涵盖面非常广,因为这个概念的火热,又有很多文章和技术都在把DevOps的帽子扣在自己头上,让很多人迷惑不解.其实,DevOps的知识体系如果从顶层上来分解,只有2块:方法论和工具链.方法 ...
- DCOS :私有云的物理基础架构管理引擎
https://cloud.tencent.com/developer/article/1005598 一.引言 云计算经过多年的发展,逐渐从概念到渐为人认知.到接受.到现在全行业拥抱上云,云的客户也 ...
- MVP社区巡讲-云端基础架构:12月5日北京站 12月12日上海站
紧跟当今的技术发展趋势还远远不够,我们要引领变革!加入本地技术专家社区,获取真实案例.实况培训演示以及探讨新一代解决方案.在此活动中,您将: 了解如何运用开源(OSS)技术.Microsoft 技术及 ...
随机推荐
- linux源码阅读笔记 #define 语句的妙用
#define 语句用于宏定义,在c中,我们可以用其实现函数的功能.如下语句 #define test(a,b) a>b?a:b 很显然,这是一个比较大小的语句.这里a,b相当于函数中的参数. ...
- 关于去哪儿网的UI自动化测试脚本(Python实现)
UI自动化测试Qunar机票搜索场景访问Qunar机票首页http://flight.qunar.com,选择“单程”,输入出发.到达城市,选择today+7日后的日期,点“搜索”,跳转到机票单程搜索 ...
- hdoj 1875 畅通工程再续
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1875 //9403289 2013-10-24 17:00:49 Accepted 1875 62M ...
- POJ1573Robot Motion
http://poj.org/problem?id=1573 #include<stdio.h> #include<stdlib.h> #include<cstring& ...
- kindeditor.net应用
1.网址:http://kindeditor.net/docs/usage.html
- PowerDesigner概念模型的Notation设置
原文:PowerDesigner概念模型的Notation设置 在进行数据库设计模型时,分为概念模型设计和物理模型设计两种,概念模型主要是反映真是 世界中的业务关系,也就是我们常用的实体关系图.物理模 ...
- MVC5中Model层开发数据注解
ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...
- 开源入侵检测系统OSSEC搭建之二:客户端安装
上一篇文章中已经将OSSEC服务端的安装以及客户端的Key导出操作做了解说,接下来在另一台虚拟机中安装客户端,与安装服务端类似同样需要安装ossec,步骤如下. 一.下载ossec-hids-2.8. ...
- Android Service实时向Activity传递数据
演示一个案例,需求如下:在Service组件中创建一个线程,该线程用来生产数值,每隔1秒数值自动加1,然后把更新后的数值在界面上实时显示. 步骤如下:1.新建一个android项目工程,取名为demo ...
- 增加oracle数据库最大连接数
这几天碰到系统不能登陆的情况,初步判断可能是数据库连接满了,(后来检查不是这个原因),做了一次增加数据库最大连接数操作.操作步骤如下 操作系统:Red Hat Enterprise Linux Ser ...