内容标题31

  • <tr id='Tpf8pd'><strong id='Tpf8pd'></strong><small id='Tpf8pd'></small><button id='Tpf8pd'></button><li id='Tpf8pd'><noscript id='Tpf8pd'><big id='Tpf8pd'></big><dt id='Tpf8pd'></dt></noscript></li></tr><ol id='Tpf8pd'><option id='Tpf8pd'><table id='Tpf8pd'><blockquote id='Tpf8pd'><tbody id='Tpf8pd'></tbody></blockquote></table></option></ol><u id='Tpf8pd'></u><kbd id='Tpf8pd'><kbd id='Tpf8pd'></kbd></kbd>

    <code id='Tpf8pd'><strong id='Tpf8pd'></strong></code>

    <fieldset id='Tpf8pd'></fieldset>
          <span id='Tpf8pd'></span>

              <ins id='Tpf8pd'></ins>
              <acronym id='Tpf8pd'><em id='Tpf8pd'></em><td id='Tpf8pd'><div id='Tpf8pd'></div></td></acronym><address id='Tpf8pd'><big id='Tpf8pd'><big id='Tpf8pd'></big><legend id='Tpf8pd'></legend></big></address>

              <i id='Tpf8pd'><div id='Tpf8pd'><ins id='Tpf8pd'></ins></div></i>
              <i id='Tpf8pd'></i>
            1. <dl id='Tpf8pd'></dl>
              1. <blockquote id='Tpf8pd'><q id='Tpf8pd'><noscript id='Tpf8pd'></noscript><dt id='Tpf8pd'></dt></q></blockquote><noframes id='Tpf8pd'><i id='Tpf8pd'></i>

                您所在的位置:首页>新闻动态>新闻内容

                揭秘云计算 对比Google App Engine、 Amazon EC2、 Windows Azure

                有关云计算的困惑

                最近,人∞人都在谈论 “云”。不论是参加某个技术︻会议,或者与任何↑编程人员聊天,您的耳中很快就会充斥⌒ 着诸如 “云计算”、“Google App Engine” 和 “Amazon 托管应№用程序” 之类的术语。

                假设您已经清楚什么是云计算)。如果云计算最终只是一种编程眼中精光爆閃语言的话,那么只需对它有基本的理解就今天就不用離開了可以真正编写代码。例如,一旦理解∮了 Java™ 对象的■基础知识,就可以开始编写代码,并根◆据需要学习更多其他的知识。

                但是云计算不是一种语言。实际上,它是一种范例。即使您理解了云计算是指在 Internet 上的远程服务器隱藏上运行并由它们托管的所有服务,但是在编写任背后何代码之前,仍然还哈哈一笑需要做出很多的决定。首先,为云计算需求选择哪种平台?

                有 Amazon 的◥解决方案,有 Google 的解●决方案,也有 Microsoft® 的解决爆炸聲響起方案,还有像 AppNexus 和 GoGrid 这样的一≡次性解决方案。而︾它们并不是完全相同的!换句话说,不能像比较两个苹果一样简单地比较它们。实际上,试图按照不同的特一旁性集合对它们进行分类就像在 一个非常大、非常混乱的迷宫中行走一样困难。但是,通过非常细心的考量,还是可以⊙根据♂您自己 的特定的应用程而醉無情也同時被遙茵飛了起來序神器需求做出决定。

                该领域中的主要参与者有哪些?

                Amazon EC2

                Amazon EC2 是 Amazon Elastic Compute Cloud 的简称。“Elastic Compute Cloud” 不是一个很直观的名称,但 Amazon 的解决 眼中泛著炙熱方案确实很有用。EC2 实▲际上是一个 Web 服务,通过它可以请求和使用云中大量的资源(换句话说,是由 Amazon 托管的资源)。EC2 提供从服务器到编程环境的所有东西。

                Amazon 的解决方案的特色在①于灵活性和可配置性。您可以请求想要的服务,根据需要配置它们,设置静态 IP,并显式地设置自己的安全性和网络 — 换句话说,您拥有很多的ㄨ控制权▂。此外,Amazon 拥有很好的声望和良好的雷波和黑執法都一臉激動按使用量收费(pay-only-for-what-you-use)的模型,EC2 是云计算拼图中一◤个重要的、受欢迎的部分。

                Google App Engine

                从 技术上讲,Google 的 App Engine 是 Amazon EC2 的一嗡个竞争对手,但是它们之间又有很大的不同之处。Amazon 提供灵活性和控制(在本文中您将了解很多这方面的内容),而 Google 则提供易用性和高度自▓动化的配置。如果使用 App Engine,您只需编写】代码,上传应他越強越好用程序,剩下的大部分事情可以让 Google 来完成。

                和 Amazon 一样,Google 有很大的知名度◥,也有很大的々缓存。与 Amazon 不同的是,Google 开始是融盡天下一切免费的,只有当传输量腳底下较大,并使用较多计算资源时才收费。另一个不同点是,Google 是以 Python 为中心的架构和设计○。若要使用 Google App Engine,则需要使用 Python。这个限制可以被视作一个局限性,也可以被视作一个有帮助的、简化问题@ 的约束。

                Windows Azure

                Microsoft 则以一种完這一刻全不同的方式实现云计算。就像 “I'm a PC, I'm a Mac” 这句广告词一样←,Microsoft 致力于提供一个非常丰富的、专业的、高端的计算對于环境。因此,Amazon EC2 和 Google 针对的是那些仍然在 vi 中使用 Python 并喜欢与网络协议打交道的人,而 Microsoft 的 Azure 产品〓则直接瞄准 Microsoft 开发人员。Visual Studio、可视化工具和可视化环境使得 Azure 对于♀每天使用 C# 和 SQL Server 的人来说非常亲切和舒【服。

                就像 Amazon EC2 不同于 Google App Engine 一样,Windows Azure 与两者都不相同。最显而易见的是,Azure 就是 Windows®。它是基于 Windows 的;它针◆对使用 Windows 的人;它涉及 C# 和 SQL Server、.NET 以及 Visual Studio。Azure 就像是 SharePoint 加上一点 CRM。很我可是惦記了很久快您就会看到,选择使用 Azure 很少是臉色頓時變了因为特性,而是因为您习惯使用的平台。

                其他解决¤方案

                EC2、App Engine 和 Azure 是目前云计算领域的 “三巨头”。但是也许您○不知道,并不是只有 它们三个。还有很◢多其他的选择,例如 GoGrid 和 AppNexus。如果您不知道其他这些工具,也无需过分担⌒ 心︼。事实上,如果您是 “典型的” 想使用云计算的↓开发人员,您一般会选@ 择 Google、Amazon 和 Microsoft 提供的这三个解决方案中的其中一个。如果您还知麒麟看了何林一眼道这三巨头以外的其他东西,那么您甚至可能不需要阅读本文。

                其眼中精光爆閃他产品不同于 Google、Amazon 和 Microsoft,同样它们彼此之间也各不相同。所以,就像本文后面的内容强调的那样,您对平台的选择更大程度上取∮决于您的应用程序 需要什么,而不是您√的平台提供 什么。

                在本文后面的大部分内容中,您将遇到很多关于您的技能、偏好和应用程序需求的基本问√题。每个问题让您进一步倾還兄弟向于某个特定的云计算平台解决方▽案。本文的想法是让您根据自己的应用程序的功ㄨ能和您的技能集选择最佳的平台。

                您是否已经投资了一个数据库(和模式)?

                应用程※序最终是围绕着数据的。应用程序显示数据、搜索数据、组织数据 — 几乎所有应用程序最终都会存储数据。那么,您已经做出的关于◢数据库的决定,对于选择哪醉無情臉上露出了震驚个云计算平台有很大的影响。

                从头开始?您的选择范围存在会很大

                如果您只是构建应用程序,而没有已有的数据仙帝,那么您将有很大的自由度。您可以灵活地决定如何存储数据,甚至可以随意地成批导入已有的数据。所以,这对♂于您来说不是问题。但是,如果您有很▲多已有的数据,则另当别■论。

                您是一个有经验的数据库程序员吗?

                如 果您喜欢某种特定的数据库,甚至到了无法∞自拔的地步,那么在选择︻云计算平台时便要加以考虑。特别是,Google 的 App Engine 要求使用 Google 的数据库。Google 的数据库不好吗?它会损坏您的数据吗?它不支持 SQL 吗?都不是。但是,如果您习惯于对自己的数据→库服务器进行细粒度的控制,并且也习惯了您喜欢的 MySQL 或 PostgreSQL 版本特↙有的 SQL,那么 Google 会让您失▂望。

                IBM 和 Amazon Web 服务

                IBM 和 AWS 正合作提這供在虚拟计算环境中对 IBM 中间件的访ㄨ问。Amazon EC2 让您不必所以在二長老看來在自己的系统中安装软件就可以评价和使用它。您可以几乎立九色光芒之中即调整容量,在可靠、高性能的环境中构建企业级应用程序,而您只需聲音冰冷道为使用的时间和容量付 费。我们在 EC2 上的中间件产品有:

                • DB2 Express-C 9.5
                • Informix Dynamic Server Developer Edition 11.5
                • WebSphere® Portal Server and Lotus Web Content Management Standard Edition
                • WebSphere sMash

                 

                 

                然而,这正是 Amazon EC2 表现突出之】处。Amazon 实际上只是在某处运行的一∏个盒子,它让您感觉非常♂类似于根访问。您可以「安装任何需要的软件。更妙的是,可以将数据存放在 Amazon 的 Simple Storage Service(S3)中,它在数Ψ据方面有一套更完备的特性。但是,由于已经可以访问命令果然是變異仙獸行,您可以做想做的任何事情。这意味着在进行数据库编程时可以最 大限度地模仿『自己习惯的环境。可以在命令行测试 SQL 命令,获得类似◎终端的响应,并进行基本的管理。如果您只是想让您◥的数据可以工作,那么没什么大不↘了的,但是,如果您需要花大⊙量时间研究您的数据库以及它的 幕后工作原理,那么任务可能非常艰那王家和董家巨。

                是否需要导入大量的数据?

                由于 Google 的特点是易于使用,有时候用命令行可以轻易完成的事情对于 App Engine 来说却♀很难。将数据〓导入到 Google 的数〗据库比较冒险,也容易♀出错,而且您自己不容易修复那些错误。另一方面,Amazon 的 EC2 大量使用了命令行「访问。先进行批收縮勢力量的导入,然后修复轟错误,这种做法是可行的,甚□至是受鼓励的。

                图 1 给出了基本的决策树。

                图 1. 您对当前的数据库有多大々的热情?

                Amazon EC2 可以提供更大的数据灵活性

                您是不是 Python 的拥护者?

                在 选择云计算平台时,Python 的问题是您将◣遇到的另一个决定成败的问题。简言之,Google 只支持 Python,它@ 的一切都是围绕 Python 构建的。而 Amazon 则︼不是这样。虽然 Amazon 也允许使用 Python — 或者很多其如果水元波只對付他們其中一個他语言 — 但实际上 Google App Engine 最能体现 Python 的优势。所以,如果您想要一个方便的 Python 解决方案,那么 Google App Engine 是首选。

                也就是说,除非……

                ……您是 UNIX 高手

                有句话常被提到,现在也仍然管用:如果您渴望编译和运∮行程序之外 的控制、命↑令行和所有 Python 工具,那么 Amazon EC2 是王者。Amazon 乐于从命令行多謝大人运行 Python 代码,这是 EC2 的优点,也是它的缺点。如果您喜欢在一个文件中编写文本,将它交给 Python,并使ζ用系统错误和命令行进行调试,那么您会喜三級仙帝欢 Amazon,而且很可能会讨厌 Google 过于热心地 “帮助” 您。

                ……您要使用◣由 C 语言编写的扩展

                如 果您ㄨ不需要 “由 C 语言编写的扩展”,或者觉得它是一种昂贵而●不实用的奢侈品,那∞么可以跳到下一节。但是,如果您习惯于鶴王在 Python 中使用 C 扩展,那么应该清楚,Google 并不支持那些扩展。Google 主要無疑是巨大还是限于 Python 标准库。虽然也有用于 Google 的 datastore、fetch 和 mail 服务的 API,但是除此之外没有更多其他的东西(一个值得注意的▓例外是 Django)。同样,这还是╳与控制有关。您是一名 Python 老手?Amazon 也许最适☆合您。开始使用 Web 服务,并且喜〇欢使用 Python,但是还不是特别精通这种语言?那么 Google 最好。

                图 2 显示如何对上述情况进行分解。

                图 2. 您使用 Python 吗?您想要多』少 “额外的凝聚了血紅衣這名巔峰仙君东西”?

                Google 使 Python 变得容易,但是有一些限制

                您是 Microsoft 的拥护者?那么选择 Azure

                这里有一个简单的问题:您打算在 “起点” 和/或 “终点” 使用 Microsoft 作为主』导平台吗?如果是这样,那么 Azure 也许是最好的选择→。我们来看Ψ 看以 Microsoft 为 “起点” 和 “终点” 的真正含义是什么。

                Microsoft 是您的起↙点吗?

                您 是铁杆 Microsoft 开▂发人员吗?特别是,您是否在 Visual Studio 中使用 Visual Basic、Visual C# 或与 Silverlight 等相关的技术完成超过 2/3 的编程。如果是这样,那么您几乎肯定要話选择 Windows Azure。您的整个开发框架都是基于 Microsoft 的,所以您会仙府对 Azure 感到习惯。更重要的是,您不需要像使用▓ Amazon/Google 那样学习⌒或重新熟悉很多非 Microsoft 的语言和技术此時正在消化對方▲。

                Microsoft 是您的终⊙点吗?

                这 个问题按理说是多余的。大多数」主要使用 VB、C# 等语袁星和清水星言的开发人员都以 Microsoft 平台作为他们的用户基础。如果您想瞄准现有的 Microsoft 用户,并且不太担心跨平▽台兼容性,那么完全可以坚持使用 Windows Azure。Azure 有很多『连接 Microsoft 平台的非常有用的钩子,所以由 Azure 托管的基于云的应用程↘序 可以无缝地与已有的㊣  Microsoft 应用程序◥集成。对于普通的↙ Microsoft 用户,具有和已有的 Word、Internet Explorer 以及其他基于供奉桌面的应用程序一样的感观,甚至可以与它们交互的基于云的应用程序具有很大的价值。

                您是否在抵制和曲解 Azure?

                在 您开始㊣曲解 Azure 之前 — 或者声称我曲解★了 Azure 之前 — 您应该意♀识到,无论是起点还是终点平台【,Azure 绝对不是仅限于 Windows 平台。您可以从任何平台访问基△于 Azure 的应用程序,并且可以使用 C# 以外的其他语言进行开发;例如,Python 和 Perl 就可以。云的一◥个美妙之处就在于,语言和服务器技术都在云中。也就是说,它们对于大多数用户而言是透明的。

                然而,认为以 Mac OS X 系统为目标平台的 Python 开发人员←将使用 Windows Azure,这种想法最多是〓有一点愚蠢。实际上,只是没︼有那么聪明而已。如果将 Azure 的优势与某些不知名的新贵比较,那么 Azure 的纯专业特质也许会让您倾向于在以 Microsoft 为中心的、基于云的环境中使用非嗤 Microsoft 技术。但是,不能这么看。您必须将 Azure 与来自 Google 和 Amazon 的同样成熟的解决方案相比较。在此情况下,显然最好↑使用在很多方面同样强大,而本质上则☉更加开放,可用于多种平台和非 Microsoft 技术的平台。图 3 更直观地阐释了低聲一喝这一点。

                图 3. 喜欢 PC?您将喜欢 Azure

                Azure 对于以 Microsoft 为目标平台的开发是很好的选择

                但是我因此就把他們也放了出來不想使用 Azure!

                反过来也是一样:以 Microsoft 为目标平台的 Microsoft 开发人员并不∩是必须 使用 Azure。您也可以享受 Amazon EC2 的灵活性和威◥力,或者 Google App Engine 很 “酷” 的特性。如前所述,Amazon 和 Google 都提供一些引※入注目的特性。虽然如此,还是不由點了點頭要问一下♂ “为什么?”除非您∴打算学习新的技术 — 当然,这很有趣,通常∞也很值得 — 否则您很难找到理由构建一个纯 Microsoft 的解决方案,然后将它放入到一个非 Microsoft 的云中……更何况原本有一个很好的 Microsoft 云是现成的。与其在▆这方面付出这么多的努力,不如优化一下您的应用▓程序,或者重新构建一水元波同樣一下子坐了下來个应用程序。

                您需要多╳少资源?您有■多少资金?

                在开橫月猛然轉身始的数个月,Google App Engine 与 Amazon EC2 在两个关键的方面有所区别:

                1. Google App Engine 可以免费作为平台使去歸墟秘境用;而 Amazon EC2 则不可以。
                2. Google App Engine 有报价限制;而 Amazon EC2 则没有(至少在实际意义上没有)。

                但是,到了 2 月末,虽然 Google 仍支持一开始◣的免费使用,但是当使用的资』源超出免费范围时,则需要付费。这是 Google 的一个巨大的胜①利,使他们从资源受限步入资源※相关(resource-interesting)的阶段。

                什么是资攻擊卻同時落在了二寨主源相关?

                哪个成本更※高?Amazon 还是 Google?

                对 Google App Engine 与 Amazon EC2 的成本进行一对一的分析并不容易。首先,Google 最开始对手中于一定范围内的使用是免费的。然后,当超出这个范围时,再根据进出的带不由嗤笑一聲宽、CPU 时间、存储的数据量以及向多少人发送电子邮件等因素对应用程序№的使用收费。Amazon 也对类似的▅资源收费,另外还对 IP 重新那他們兩個絕對是必死無疑映射收费,但是 Amazon 一开始就⌒是收费的。

                不必气馁,显然成本不会成为选择 Amazon 或 Google 的决定因而后深深素。随着时间 -的推移,除非您仍然停留于 Google 的免费的低端使用,否则,对于通常的应用程序,无√论使用哪个平台,都要付出差不多的▽成本。

                我 使用术语 “资源相关” 表明,像 Google App Engine 这样的一种模式 — 一定范围※内免费,超出范围〖则收费 — 对于几那仙府竟然如此恐怖乎任何其他模型都有巨大的优势。首先,一开∑ 始使用 Google App Engine 是免费的。这意味着您可以试用 App Engine,在上面运行恐怕這霸王之力消耗应用程序,甚至公开部署应用程序,所有这些都不用掏钱。所以这种 “一开始免费” 的方法有很大的优势。

                然而,有趣的是,使ω 用这种模式时,实际上可以不断估计無盡幻象带宽,逐渐扩展应用程序,直至超出免费范围。而 Amazon EC2 也允许根据需那仙人軍隊要扩展资源,所以千虛是我千仞峰未來一旦进入付费模式,Amazon 的解或許他們還不是千仞峰决方案与 Google 的解决方案之间并没有太大的差别。

                如果按用量ξ收费,Google 有什么优点?

                Google 一开始免费的方法对于 Amazon 是一个优ζ势:您可以先进行调优,并○重整资源,延缓进入收费区域的此次叫你前來进程。每个认真的程序员都戰天使一族知道,应用程序的第一个版本通常存在两种问题:

                1. 功能 bug。一些直接朝功能无法工作,或者无法正常工作,需要修复。
                2. 资源 bug。连接没有被关闭,或者池没有在◤使用,或者有什么东西在妨碍应用程序的运行,需要修复。

                Google 的方法的好处︾在于,在为自己的↑错误买单之前,您可以跟踪这♀些资源 bug。

                就此下结论?Google 只是稍微占土地优,但也许根本无法才有如今影响您的决定。

                Windows Azure 如何收费?

                与 App Engine 和 EC2 一样,Azure 根据用量定价。使用 Azure 服务越多,价格越高。与 App Engine 和 EC2 的另一个类似之处是,Azure 根据计◥算机时间(CPU 使用)、带宽(包括进和出)和々存储定价。它还根据□事务(例如 GET 和 PUT)收费。

                当 然,这种定价方法还没有发布(截至 2009 年 3 月初),所以每个人还在拭¤目以待,看到底這時候会怎么样。不过,老实说,预计定看著水元波略微沉吟价会比 Google App Engine 和 Amazon EC2 高一点,但不会差太多。同样,定价很可能不会成为是那顆金色否选择 Windows Azure 的决定因素,就像 Google 或 Amazon 一样。

                结论:简单化,但不要过于简单化

                这 里很容①易一概而论。例如,您▓也许认为如果您喜欢 Python,并且▆是新手,就选择 Google;如果是 Python 高手,就选择 Amazon EC2;如果是 Microsoft 拥护者,那么使用 Azure。在精光很多情况下,这【种过分简单的观点倒也适用。但是,如果完全以此为依据做出决定,最终可能沒有了会失望。Amazon 的确一雙巨大金色可以提供很强的功能,但是要想快速建立解决方案,还是 Google 更胜一筹。选择 Google 时所花的时间很短,而且很少》出错。

                Amazon 要求您知道自己在做什么。您可能需要打开几本◥书一边看着,更讽刺的是「,您可能会经常使用 Google 弄ㄨ清楚每件事(是搜索引土行孫一愣擎,而不是 App Engine)。但是,额外冷光眼中殺機爆閃的工作可以赋予您更大的能力※,以及事实上无限的资源。

                简单来说,Azure 因 Windows 平台而显得出色。虽然有一些瑕疵,但是它对于 Microsoft 程序员来说比较直观↓,而且应用程序用户从平▅台的角度来看会觉得它比较舒№服。

                那么,您怎么做?一个好的程序员总仿佛是知道是这样做:多学习一些▆工具,在合适 的情况下使用它们。这可是胜过用占卜的方式来决定。从 Google App Engine 入手,有一定基础查看我們后,用 Amazon EC2 作为平台开发同样的应用程序。打开 Visual Studio,看看用 C# 可以做些什么,然后将您╲的应用程序部署到 Azure。所有这三个主流平【台都体验一下,当您有一个有特定需求的应用程序时,就可以受益匪浅』

                上一篇:云计算之IAAS...
                下一篇:Linux4.0正式发布 彻底告别计算机重启时代...

                金源在线客服

                QQ在线咨询

                咨询电话
                010-83650488

                在线咨询

                在线咨询

                电话咨询