<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    hengheng123456789

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      297 Posts :: 68 Stories :: 144 Comments :: 0 Trackbacks
    轉(zhuǎn)自:http://tech.163.com/digi/10/1111/06/6L6IS5NO001618J7.html

    最近一個潛在客戶要求我們比較一下Amazon EC2和Google App Engine,正好我們剛剛在EC2和Google App Engine上完成了兩個相對來說規(guī)模較大的項(xiàng)目,因此有必要做一下總結(jié),我打算從三個角度來對比這兩大云計(jì)算平臺:技術(shù),業(yè)務(wù)和未來發(fā)展趨勢,本文是技術(shù)方面的對比,ok,準(zhǔn)備好咖啡,我們開始吧!

    如果按平臺類型來分,大家可能已經(jīng)知道Google App Engine屬于PaaS(平臺即服務(wù)),而Amazon EC2屬于IaaS(基礎(chǔ)設(shè)施即服務(wù)),Amazon EC2給你一個安裝了操作系統(tǒng)的“盒子”,你可以自己安裝應(yīng)用程序,也可以使用AMI(Amazon Machine Image),如果你想構(gòu)建一個高度復(fù)雜的定制應(yīng)用,Amazon EC2是不二之選,它允許你控制環(huán)境參數(shù),底層操作系統(tǒng),存儲和網(wǎng)絡(luò)需求,從技術(shù)上講,它屬于很底層的服務(wù),你可以調(diào)整你需要的大部分東西。

    Google App Engine給你一個完整的平臺,包括完整的SDK(以及Eclipse插件)和服務(wù),你可以構(gòu)建和部署你自己的應(yīng)用程序,但你不能很好地控制操作系統(tǒng),硬件和存儲,諸如寫文件系統(tǒng),使用線程等操作都有限制,這樣設(shè)計(jì)的目的是為了確保平臺不會被某個應(yīng)用程序綁架。

    簡單起來就是:

    IaaS:原始硬件(處理器,網(wǎng)絡(luò)和存儲)

    PaaS:操作系統(tǒng),系統(tǒng)軟件,開發(fā)框架和虛擬機(jī)。

    下面從技術(shù)角度來比較一下這兩個平臺。

    1、提供的服務(wù)

    Google App Engine憑借豐富的服務(wù)擊敗Amazon EC2,Google App Engine提供的服務(wù)可以讓開發(fā)人員快速進(jìn)入開發(fā)狀態(tài)。如Blobstore,Images,Mail,Memcache,Multitenancy,Oauth,Task Queues,URL Fetch,Users,XMPP這些服務(wù)在Amazon EC2上是需要自己安裝的,為了便于比較,假設(shè)你已經(jīng)為Memcache,Mail和多租戶搭建好了基礎(chǔ)設(shè)施,看看在EC2上你用了多長時間安裝,我敢打賭你會超過一個小時,使用Google App Engine時,這些服務(wù)都是現(xiàn)成的,就象果盤中插好牙簽的水果一樣,你可以隨時享用。

    2、管理

    Google App Engine再次勝出,因?yàn)橐坏┠愕膽?yīng)用程序部署成功后,它幾乎不需要管理,當(dāng)你的應(yīng)用程序負(fù)載變大時,你不需要向服務(wù)注入新的實(shí)例,Google App Engine可以自由擴(kuò)大負(fù)載能力,新實(shí)例是實(shí)時剝離的。使用Amazon EC2時,你必須時刻跟蹤通信流量(現(xiàn)在可以通過腳本自動跟蹤了),新實(shí)例是在你的配置基礎(chǔ)上剝離的,因此,如果我的峰值負(fù)載是2x+y,那么需要剝離2個以上的應(yīng)用程序服務(wù)器。

    此外,使用Google App Engine升級應(yīng)用程序服務(wù)器實(shí)例,安裝新的負(fù)載均衡器時,沒有管理開銷,這一切都是自動執(zhí)行的。

    3、抽象水平

    和上一條聯(lián)系緊密的是抽象水平,Google App Engine抽象得比較好,你只需要關(guān)心你的應(yīng)用程序和業(yè)務(wù)邏輯,不用擔(dān)心底層基礎(chǔ)設(shè)施的管理,正如Nick Johnson所說的那樣,抽象水平應(yīng)作為挑選云計(jì)算平臺的一個基本原則,你需要做的是駕駛,不需要研究引擎蓋以下的東西。在我看來,如果你的核心業(yè)務(wù)是貨物運(yùn)輸,那么你應(yīng)該買一輛卡車,它能高效地把你的貨物從A地運(yùn)輸?shù)紹地,相反,你不應(yīng)該考慮如何購買零部件自己組裝一輛卡車。

    在軟件開發(fā)領(lǐng)域,我們看到有Grails,RoR等框架,它們大受歡迎,是因?yàn)樗鼈兲峁┝烁咚降某橄螅绻闶且幻嗤呓常鼈兙拖笫悄_手架,你可以踩在它們上面干你的工作。

    4、可靠性

    從我個人的認(rèn)識來講,兩者都很可靠,這一點(diǎn)從它們的用戶數(shù)量就可以知道一二,用戶可以時刻查看Google App Engine的狀態(tài),它是透明的,但從歷史數(shù)據(jù)來看,Amazon EC2的正常運(yùn)行時間比Google App Engine要好。

    5、可移植性

    從使用的底層操作系統(tǒng)和開發(fā)框架來看,Amazon EC2具有更好的可移植性,但也不要擔(dān)心你會被Google App Engine給鎖住,Google已經(jīng)給出了遷移指南,指導(dǎo)你如何從轉(zhuǎn)移出Google App Engine平臺,當(dāng)然包含你所有的數(shù)據(jù)在內(nèi)。還有AppScale這樣的程序可以幫助你將Google App Engine上的程序轉(zhuǎn)移到Amazom EC2或其它云平臺上,AppScale已經(jīng)可以支持EC2,Eucalyptus,Xen和KVM。

    6、存儲

    Google App Engine目前嚴(yán)重依賴于BigTable,開發(fā)人員需要從一個完全不同的角度來認(rèn)識和學(xué)習(xí)它,特別是對于那些特熟悉關(guān)系數(shù)據(jù)庫,被關(guān)系數(shù)據(jù)庫理論束縛的人更需要洗洗腦,它提供了一個JPA&JDO訪問接口,但它不支持所有的JPA&JDO功能,特別是關(guān)系部分,Google最近也高調(diào)宣布要讓Google App Engine支持傳統(tǒng)的SQL數(shù)據(jù)庫。Amazon EC2已經(jīng)支持SQL數(shù)據(jù)庫,你可以使用Oracle,MySQL等你所熟悉的關(guān)系數(shù)據(jù)庫。

    7、應(yīng)用程序維護(hù)和升級

    對Google App Engine來說,應(yīng)用程序維護(hù)和升級是件輕而易舉的事,它為各種應(yīng)用程序提供了一個詳細(xì)的管理面板,包括日志查看器和數(shù)據(jù)查看器,一個程序可以有多個版本,當(dāng)新版本經(jīng)過測試,可以用于生產(chǎn)環(huán)境時,你可以將其設(shè)為默認(rèn)的版本,而Amazon EC2就麻煩多了,因?yàn)樗鼘儆贗aaS類型,所有維護(hù)和升級相關(guān)的事情你必須親力親為。

    8、開發(fā)限制

    使用Google App Engine時,你必須受到平臺的限制,如果你的查詢處于僵死狀態(tài),很難將其殺掉,此外,Google App Engine沒有線程,提供的SDK也是受限的,有些類和功能被列入黑名單,因此不能被使用,也不能寫文件系統(tǒng)等等。

    從表面上看這些限制是不可理喻的,但如果有朝一日你也要提供PaaS類型的平臺時,你就能理解為什么Google要做這些限制了,這樣才能確保運(yùn)行在平臺上的應(yīng)用程序不會違反平臺的規(guī)則,否則平臺就可能被應(yīng)用程序綁架,從而變得不可使用,平臺上的其它應(yīng)用程序就會收到牽連。

    即便有這些限制,90%的商業(yè)應(yīng)用程序仍然可以在Google App Engine上正常運(yùn)行,但對于那些要使用線程,或?qū)懳募到y(tǒng)的應(yīng)用,最好還是選擇Amazon EC2,因?yàn)樗峁┝怂械讓釉L問和控制權(quán)。

    9、語言支持

    截至目前,Google App Engine支持Java和Python,但任何可以轉(zhuǎn)換成字節(jié)碼,可在JVM上執(zhí)行的任何編程語言都可以在Google App Engine上運(yùn)行,如果你喜歡其它編程語言,最好選擇Amazon EC2,因?yàn)槟憧梢栽谒牟僮飨到y(tǒng)上面安裝語言運(yùn)行時環(huán)境,你擁有幾乎完整的硬件和操作系統(tǒng)控制權(quán),還有什么不能做的呢?在Amazon EC2上也托管了許多有趣的C#,.NET,ASP.NET MVC/Visual Studio項(xiàng)目,具有諷刺意味著的是,盡管還有Microsoft Azure,但許多以MS技術(shù)開發(fā)的項(xiàng)目卻托管在Amazon EC2上。

    概括地說,Amazon EC2是進(jìn)入云計(jì)算的早期嘗試者,它利用互聯(lián)網(wǎng)標(biāo)準(zhǔn)和開放平臺創(chuàng)建了一個非常靈活的云計(jì)算平臺,Google則利用了它在大型數(shù)據(jù)庫方面的研究成果和它內(nèi)部實(shí)現(xiàn)的一些技術(shù)創(chuàng)建了一個強(qiáng)大,但有更多限制的云計(jì)算環(huán)境。從核心技術(shù)來講,Amazon EC2允許你擴(kuò)展任何計(jì)算機(jī)實(shí)例到多個實(shí)例,因此你擁有每個虛擬盒子的完全控制權(quán),Google App Engine從操作系統(tǒng)抽象而來,沒有計(jì)算機(jī)實(shí)例的概念,如果你的Web應(yīng)用程序不需要操作系統(tǒng)相關(guān)的功能,那么Google App Engine無疑是最好的選擇,如果需要更好地控制你的系統(tǒng)環(huán)境,特別是操作系統(tǒng)相關(guān)的控制,那么最好選擇Amazon EC2。

    posted on 2011-04-29 15:00 哼哼 閱讀(506) 評論(0)  編輯  收藏 所屬分類:
    主站蜘蛛池模板: 一区二区无码免费视频网站| 日本高清免费不卡视频| 亚洲粉嫩美白在线| 大陆一级毛片免费视频观看i| 狠狠入ady亚洲精品| 亚洲国产精彩中文乱码AV| 免费毛片在线看片免费丝瓜视频 | 国产亚洲精品免费| 亚洲狠狠婷婷综合久久久久| 99在线精品视频观看免费| 国产精品亚洲精品日韩动图 | 欧美色欧美亚洲另类二区| 亚洲日韩一页精品发布| 手机看黄av免费网址| 特级毛片免费播放| 在线免费观看亚洲| 免费人成视频x8x8入口| 亚洲视频免费在线看| 曰批全过程免费视频观看免费软件 | 永久免费不卡在线观看黄网站| 亚洲jjzzjjzz在线播放| 亚洲色大成网站www永久一区| 久久电影网午夜鲁丝片免费| 暖暖日本免费中文字幕| 精品久久久久久亚洲中文字幕| 亚洲毛片免费观看| 中文字幕亚洲不卡在线亚瑟| 夜夜嘿视频免费看| 人妻无码久久一区二区三区免费| 西西人体大胆免费视频| 亚洲性线免费观看视频成熟| 人人狠狠综合久久亚洲婷婷| 免费少妇a级毛片人成网| 成视频年人黄网站免费视频| 免费无码作爱视频| 免费播放国产性色生活片| 亚洲国产成人va在线观看网址| 亚洲成AV人片一区二区| 亚洲精品线路一在线观看| 日韩高清免费在线观看| 皇色在线视频免费网站|