《云计算揭秘企业实施云计算的核心问题》——2.2节理解不同云分类

2.2 理解不同云分类
既然已经知道云计算的支撑技术(如虚拟化、弹性、存储和数据库),那么理解这些概念在所提供的不同类型(种类)云计算服务中如何应用将是有帮助的。让我们回到第1章的云类型分类法—IaaS、PaaS和DaaS,用它来分类业界最出名提供商的云产品。
2.2.1 亚马逊EC2:基础设施即服务
亚马逊EC2被划分到IaaS(有些云观察员把它称为HaaS(Hardware as a Service),但亚马逊加入了太多额外服务,硬件即服务现在已变得不合适它了)。它是首家同时也是目前为止该类型中最大的提供商。亚马逊于2006年开放了其服务,最初利用的是零售业务的额外容量。该公司声称到2008年年底使用者已经超过50万个。
亚马逊EC2是最通用的大型云,但只提供了最少的自动伸缩或故障转移(failover)支持,这两个功能都必须在应用中编码才能实现。这与在PaaS类型云(如Google App Engine)中发生的自动透明的伸缩形成了鲜明对比,我们将在2.2.3节中讨论PaaS。在像EC2这样的IaaS类型云中,需要使用它们的API仔细地编程才能实现弹性。另外,你可以使用任何编程语言,并且可以在IaaS云中完全控制应用。不错,这需要更多的手工劳动,但你得到了类似物理硬件的外观,可以从操作系统中对其进行控制。LAMP栈是最简单同时也是最常见的EC2配置(见表2.6)。

亚马逊EC2利用了开源Xen hypervisor的一个定制版本来实现超虚拟化(paravirtualization)。由于超虚拟化出来的客户操作系统依赖hypervisor对特权操作提供支持,因此客户操作系统的运行不会加剧对CPU的访问。

超虚拟化要比那种客户操作系统无需修改即可运行的虚拟化环境高效。但是操作系统必须移植到超虚拟化环境,以便必须由VMM执行(并且运行也更慢)的操作系统任务可直接被客户操作系统执行。这就是亚马逊不会随便运行你想要的操作系统的原因—它只运行由它或原始厂商移植和完全测试过的操作系统。

亚马逊为其所有服务提供了丰富的API,表2.7描述了其中的一部分。它有SOAP形式的API,也提供了简单的HTML(GET、POST)形式。请求和配置云中虚拟化硬件,一般仅需12.5次调用。

EC2的定价策略从低端的每小型Linux实例(CPU)小时5美分,一直到高端Linux实例的0.5美元。S3的定价大约是每月每GB 0.15美元,存储用得越多,费用也越低。
2.2.2 微软Azure:基础设施即服务
微软的Azure和亚马逊的EC2同属IaaS,它同样也提供了更偏向于PaaS层级的额外服务。许多微软的最终用户应用正在翻新,以便能在云中运行。最终结果是,随着应用不断增加,整个平台最终试图达到SaaS层级,以抵御Google凭借Google Docs对微软Office发动的进攻,以及Google Apps SaaS产品。
图2.6中标记为Windows Azure的方框是经过修改使之能运行于云环境中的Windows Server 2008。这说明它是经过超虚拟化的,可有效运行于由微软Hypervisor(运行于微软云数据中的裸硬件上)创建的虚拟化环境中。
在其内部,这个由Windows Server 2008衍生出的操作系统层分成4大部分:存储,类似文件系统;组织控制器(fabric controller),它是用于建模/部署和供应的管理系统;虚拟化计算/VM;开发环境,它允许开发人员在其桌面模拟Windows Azure,同时为Visual Studio、Eclipse等其他工具提供了插件,开发运行于其上的云应用。基于这种架构,你只需将Azure部署于一台机器上,然后你就可以把它的多个实例复制到利用虚拟化技术的云中的其余服务器上。

Windows Azure架构和框架。底部是Windows Azure操作系统。它运行在由微软Hypervisor创建的虚拟化环境中,Hypervisor运行在裸硬件之上。顶部是最终用户应用,它是微软正在翻新作为SaaS交付的产品。来源:微软
微软Azure的应用是用像Visual Studio这样专有的编程环境使用.NET类库编写的,并且被编译成公共语言运行时(Common Language Runtime),它是微软的语言无关的受管理环境。
Windows Azure API
Windows Azure API是基于REST的API,认证采用的是X.509客户端证书。表2.8列出了部分API,有助于你了解运行于Azure云中的应用被操纵和控制的方式。这是一组跟执行托管服务上操作相关的调用。
类似亚马逊,Azure顶部运行了一组预置服务,用于提供微软的PaaS功能。刚开始的服务包括:

  • Live服务
  • SQL服务
  • .NET服务
  • SharePoint服务
  • CRM服务
    在构建云应用时,你可以把低层级服务视为API,它们没有用户界面元素。
    相比起亚马逊的定价,Azure的定价:计算时间集(computing time set)为0.12美元/小时,存储为0.15美元/GB,存储事务为0.01美元/10kB。对于结构化数据库,Web版定价为每月1GB关系数据库不超过9.99美元;对于企业版,每月10GB关系数据库不超过99.99美元。据说,微软马上会推出一种分层、一站式(有限制)模型。

2.2.3 Google App Engine:平台即服务
App Engine是一种专门面向传统Web应用的纯PaaS云,它强加了一种应用结构,在无状态的计算层和有状态的存储层之间进行了干净的分离。IaaS模型中如此明显的虚拟化和弹性,在此处几乎完全不露痕迹。但它们在幕后发挥着巨大的作用。这种模型的一个卖点就是,在面对容量需求变化时的自动弹性。
App Engine的编程语言是Python和Java。App Engine不适合通用计算。它最适合Web应用,建立在请求-回复计算的假设之上,这种结构假定长时间无CPU利用(如,人类思考时间)。因此,Google可以并且能够严格地给每个请求划定CPU时间。
App Engine的自动伸缩和高可用性机制,以及其专有的巨型数据存储(建立在BigTable之上),全都依赖这些约束。但应用若符合这些约束,构建一个可以自动伸缩且运行于这个星球上最大的云上的应用,不会有比这更快和更便宜的方式了。
App Engine开发环境
App Engine的开发环境包含以下元素:

  • 沙箱(sand box)—应用运行在一个对底层操作系统提供有限访问的安全环境之中。这些限制允许App Engine在多个服务器间分配针对应用的Web请求,启停服务器以满足流量需求。沙箱把应用隔离在一个安全可靠,同时独立于硬件、操作系统和Web服务器物理位置的环境里。
  • Java运行时环境—你可以使用常见的Java Web开发工具和API标准开发Java 6运行时环境的应用。应用与环境使用Java Servlet标准进行交互,而且可以使用常见的Web应用技术,如Java服务器页面(JavaServer Page,JSP)。应用可以使用Java标准API访问大多数App Engine服务。这个环境包含Java SE 6运行时环境(Java SE Runtime Environment,JRE)平台和类库。应用可以使用任何JVM字节码或类库特性,只要不超过沙箱限制。
    Python运行时环境—你可以使用Python 2.5编程语言开发应用,并将之运行于Python解释器之上。App Engine包含了Python Web应用开发的API和工具,包括数据建模API、Web应用框架,以及管理和访问应用数据的工具。Python环境包含受沙箱环境限制的Python标准库。为Python环境编写的应用代码只能用Python编写。Python环境提供了访问数据存储库、Google账号、URL fetch和邮件服务的API。
    数据存储库—App Engine提供了一个分布式数据存储服务,其特点是包含查询引擎且支持事务。该分布式数据存储库会根据应用需求量自动伸缩。正如前面讨论云数据库时所说,App Engine数据存储库有别于传统关系数据库。数据对象或实体(entity)有类别和一组属性。查询可以检索按属性值过滤和排序的实体。属性的值可以是任何被支持的值类型。数据存储库的实体是无模式的(schemaless)。应用代码强制和提供数据实体的结构。Java JDO/JPA接口和Python数据存储库接口包含了应用和强加这种结构的特性。
    如果日使用量不超过6.5 CPU小时和1GB进出应用的数据,App Engine是免费的。超过这一标准,传出带宽的成本是0.12美元/GB,传入带宽的成本是0.10美元/GB,CPU时间是0.10美元/小时,数据存储是每月0.15美元/GB,邮件接收为每收到一封邮件0.0001美元。
    2.2.4 云中的Ruby on Rails:平台即服务
    Ruby on Rails(RoR)是Ruby编程语言的开源Web应用框架。它旨在用于采用敏捷开发方法学的项目里,由于非常适合工期短、客户驱动的项目,也常被Web开发者使用。类似Google的App Engine,RoR应用也限于请求-响应架构的Web应用。
    开源软件 以源代码形式获得的计算机软件。这类软件在软件许可证之下提供了源代码和一般为版权持有者保留的其他权力,允许使用者学习、改变和改善软件。有人认为开源是一种哲学;另一些人则认为它是一种务实的方法学。在开源一词被广泛接纳之前,开发者和生产者使用了各种词汇来描述这一概念;开源随着互联网的兴起和计算源代码的大规模重新工具化赢得了支持。开源软件大多采用一种公开、协作的方式进行开发。
    Ruby语言的设计结合了Smalltalk的优雅概念、Python的易于使用和学习,以及Perl的务实主义。许多团队在使用RoR开发Web应用时体会到了10倍的速度提升。但许多人报告说,在使RoR完成巨大伸缩时,面临了极大挑战,可能必须对应用的架构和设计做出有悖于RoR本身特有性质的决策。
    许多小公司开始着手提供可运行于亚马逊EC2之上的RoR栈,包括Heroku、Aptana和EngineYard等。
    2.2.5 Salesforce.com的Force.com:平台即服务
    Salesforce.com是最成功的供企业使用的SaaS应用。自1999年以来,它是严格以云应用运行的客户关系管理(Customer Relationship Management,CRM)应用。
    Force.com是该公司的PaaS功能,在这里,开发者使用Apex编程语言创建可集成进主Saleforce应用、托管在Salesforce.com云基础设施之上的附加应用。
    Google和Saleforce已经集成了App Engine和Force. com,由此,应用可使用其中任意一种环境搭建,并且仍然可以访问存储于Salesforce网站上的公司数据存储库。
    Force.com还经营着被称为AppExchange的交换市场;它是由第三方开发者为Salesforce开发出的应用的目录,用户可以购买应用,并将其添加到自己的Salesforce环境中。超过450家的ISV提供了800多种应用。
    Force.com的列表价是每登录名5.00美元,每月每个用户最多5个登录名。按照该公司网站的说法,“Force.com云定价是针对偶尔使用、广泛部署的应用,仅针对平台的使用,而非CRM应用。”
    我们最后的分类有点特别—特别之处在于,它不是按照应用环境类型的不同划分的,而是按照所有权结构。所谓的数据中心即服务就是私营公司为自己的使用而创建的私有云。
    2.2.6 私有云:数据中心即服务
    私有云(也称内部云和公司云)是针对为防火墙背后数量有限的人提供托管服务的计算架构的术语。在推动亚马逊、微软和Google提供云服务的虚拟化、自动化和分布式计算方面,它有相同优势,允许公司的网络和数据中心管理员有效地成为满足公司内部消费者需求的服务提供商。
    私有云概念专门是为了吸引想要对他们的数据拥有比通过使用第三方托管服务(如亚马逊的EC2或S3)获得的控制权更多的组织而设计的。构建私有云的内部IT提供者必须对他们的运营做根本性改变,才能使他们的行为和提供的好处(以更小的规模)类似云计算提供商。除了通过更高的利用率和随用随付模型获得的经济效应外,还可以推动采用私有云模型的企业实现业务转变,至少让组织可以在合适时机更好地转变或延伸到公有云。
    反方观点
    这里有一些不同的观点:有人认为,私有云就是昂贵的数据中心加上一个好听的名字。Pundits预测,大约在2012年,就会看到这个概念的崛起和陨落。不过,所有人都同意虚拟化、面向服务架构和开放标准,对于运营数据中心的公司来讲,这些都是要考虑的好事情。批评者认为,所有这些关于私有云的鼓噪都是要掩盖真正的新闻:绝大多数的公司都不需要操心运营某种形式的数据中心,不管像不像云。

1.考虑私有云的人需要注意的问题
假如你正在考虑实施私有云,请记住以下几点:
私有云规模小。这是大多数创新云计算提供商专注于能进一步释放消费者能力的Web技术的原因—数量摆在那儿。公司数据中心面对的用户容量极少能接近这些提供商所面临的级别。而且,我们已经讨论过,容量借助巨型的规模经济驱动节约成本。
遗留应用无法轻易地迁移到云中。迁移到私有云的遗留应用至多会看到边际改进(marginal improvement)。取得这一成绩的唯一办法就是不要把这些应用针对云基础设施重新进行架构设计。
在公司内部并不意味着安全。私有云最大的驱动因素是对于安全的恐惧、不确定和疑虑。在很多人看来,让数据待在防火墙后自己控制的数据中心里会让他们感到更安全。但这是一种谬误,除非你的公司在考虑安全性方面耗费的金钱超过了亚马逊、Google和Salesforce。
做自己最擅长的事情。并不存在一套简单技巧可以让数据中心运营人员照搬亚马逊或Google的做法。因为这些公司靠运营世界上最大的数据中心为生。根据来自数以百万的交易的实时性能反馈,这些公司在持续优化自己的运营方式。你可以尝试向他们学习和模仿,但你们的创新率永远不会处于同一水准—私有云将总是远落后于公有云。
2.亚马逊虚拟私有云
亚马逊虚拟私有云(Virtual Private Cloud,VPC)可以安全无缝地桥接公司现有IT基础设施和AWS云。尽管它不是我们前面定义的私有云,但这种方式给公司提供了一种将它们的数据中心和亚马逊云融合的混合模型。
Amazon VPC使企业可以将现有基础设施经由虚拟专用网(Virtual Private Network,VPN)连接到一组被隔离的AWS计算资源,将现有管理功能(如安全服务、防火墙和入侵检测系统)扩展到包含进来的AWS资源上。你将在第4章了解更多关于云安全、私有云和VPC的内容。
到目前为止,为了知道云的工作方式,我们已经探索了云的技术支撑;为了理解它们的差异,我们已经将这些知识应用到各种类型中最著名的云中。你现在已经有了足够信息提出这样一个问题:我需要哪种类型的云?

时间: 2024-10-31 14:21:36

《云计算揭秘企业实施云计算的核心问题》——2.2节理解不同云分类的相关文章

《云计算揭秘企业实施云计算的核心问题》——导读

目 录 第1章 什么是云计算1.1 定义云计算的5大原则1.2 迁移到云中带来的效益1.3 导致云计算的IT演变1.4 云的分层:按使用分类1.5 小结第2章 理解云计算分类2.1 云计算的支撑技术2.2 理解不同云分类2.3 选择你需要的云提供商2.4 小结第3章 云计算的商业依据3.1 云计算的经济意义3.2 云适合什么场景3.3 云不适合什么场景3.4 零资本创业公司3.5 中小型企业3.6 大型企业中的云计算3.7 小结

《云计算揭秘企业实施云计算的核心问题》——2.1节云计算的支撑技术

2.1 云计算的支撑技术 不管是出于好奇,还是因为这可以让我们成为一位好司机和车主,大部分人都对自己汽车的工作原理有一个基本了解.类似地,让我们也学习点构建云(不论什么类型)所需的基本技术和基础设施,以便了解它的运作: 云需要运行于网络上的服务器,而且这些服务器需要一个"家".这个物理上存在的房子及其内部设施组成了数据中心. 云的服务器需要虚拟化.这是为了高效利用大批量的服务器.否则,数目巨大的服务器带来的经济影响将无法让云可以有效地利用成本. 云需要访问API.没有它,云中的虚拟服务

《云计算揭秘企业实施云计算的核心问题》——3.1节云计算的经济意义

3.1 云计算的经济意义云计算有能力改变IT的经济效应.由于采用随用随付原则,它改变了资本开支(CAPEX)和运营开支(OPEX)间的比率.首先,让我们整体了解各IT部署模型:然后,将它们应用到一个特殊的小型电子商务应用例子上.这将为你设定一条基线,帮你理解特定条件下导致一种解决方案优于另一种的成本和折衷.CAPEX和OPEXCAPEX是创造未来收益的开支.企业花钱购买固定资产,就导致了资本开支.会计会给一个资产账目增加一项资本开支(对其进行资本化).一般来讲,CAPEX要求先期投资被分摊(折旧

《云计算揭秘企业实施云计算的核心问题》——1.3节导致云计算的IT演变

1.3 导致云计算的IT演变 2005年,云计算还没有完全从以太技术(ether technology)中脱胎换骨.它的技术基础发展大约有40多年了.这个技术历程是渐变的,横跨几个不同的领域.但是,这些进步汇聚在一起,则代表了改变未来IT走向的革命性巨变. Gillett和Kapor于1996年在一篇MIT论文(http://ccs.mit.edu/papers/CCSWP197/CCSWP197.html)里有史以来第一次提到了云计算.今天对云计算的普遍认识依然保留着原意.仅仅十年后,随着亚马

《云计算揭秘企业实施云计算的核心问题》——1.1节定义云计算的5大原则

1.1 定义云计算的5大原则我们可以把云计算的5大原则总结如下: 任何订阅用户均可使用的计算资源池. 最大化硬件利用率的虚拟计算资源. 按需伸缩的弹性机制. 自动新增或删除虚拟机. 对资源使用只按使用量进行计费.这些原则在未来将不会发生显著变化,我们认为这5大原则是把某事物称为云计算的必要条件.表1.1对这些原则进行了总结,每条原则后面都附有一段便于快速参考的简短解释. 接下来将具体讨论这些原则,解释每条原则的含义和它是云计算支柱的原因. 1.1.1 计算资源池云计算的第一个特征就是,它能够利用

《云计算揭秘企业实施云计算的核心问题》——2.4节小结

2.4 小结本章建立在对第1章的云类型和计算演变到现阶段的原因(技术和经济两方面)的理解基础之上.经过深入考察支撑技术,我们知道了云的工作机制.云提供商正在制造非同凡响的规模经济.随着他们运营这些巨型数据中心的专业经验变得越来越好,他们的成本会持续降低.本章介绍了推动云计算的部分核心技术.排在最前面的当属虚拟化,甚至大多数公司的数据中心都已经开始使用它,并把它作为提高服务器利用率并因此降低成本的一种手段.由于云是一种虚拟化的服务器环境,在这里,你可以快速创建机器或应用的新实例,进而通过网络控制它

《云计算揭秘企业实施云计算的核心问题》——3.5节中小型企业

3.5 中小型企业在创业公司的历险例子里,云利用方式的讨论都是围绕一些技术导向型公司和应用展开的,因为这类公司跟云有极深的渊源.当我们转而讨论中小型企业时,有上百万种不同类型的公司符合这个描述.与之前讨论的创业公司不同,云实现不见得是他们运营的核心.对很多这类企业而言,在云中运行应用可能跟宇宙飞船在月球上着陆一样,关系不大.让我们关注3个特殊例子,对于一般的中小型企业来说,它们每个都具有不同的技术复杂度和不同的可应用性.此时将会浮现一个通用的主题:通过高效的使用资金和IT资源,这些企业可以利用云

《云计算揭秘企业实施云计算的核心问题》——1.4节云的分层:按使用分类

1.4 云的分层:按使用分类 为了更好地讨论其他类型的云,让我们首先深入了解一点关于SaaS演变和获得认可的背景. 在商用计算的早期,计算机资源非常稀缺,主要的使用模型更像公共设施.这和今天云计算提供的设施概念是两码事:它更像在干旱季节时村里的社区用井.社区成员可以使用并且分配一定量的水.如今的云计算,我们回归到了计算作为一种可以使用的公共设施这种概念,但它已不再是稀罕之物. 千禧年之交发生的业务模型向SaaS的转变昭示着云运动的到来.之前,它称为SaaS,即由应用服务提供商(Applicati

《云计算揭秘企业实施云计算的核心问题》——第1章,第1.0节什么是云计算

第1章 什么是云计算本章内容 定义云计算的5大原则 迁移到云中带来的好处 演变中的IT如何走向云计算 讨论不同层次(类型)的云云计算是IT领域时下最时髦的词汇.让我们弄明白其中的原因和这次云计算炒作涉及的内容.在最高层面上,云提供商.分析师和用户逐渐达成一种共识,他们将云计算定义为由第三方提供的高层计算服务,不但唾手可得,而且能根据需求量的变化动态伸缩.云计算背离了IT系统传统的开发.运营和管理方式.从经济学观点看,采用云计算不仅带来了潜在的巨大经济利益,而且提供了更大的灵活性和机动性.贯穿全书