•你必須自己來(lái)管理系統(tǒng)。EC2有機(jī)器映像的流行的發(fā)行版如Ubuntu易被啟動(dòng),而在這之后你就要來(lái)保持它的更新和安全。
•縮放水平(即啟動(dòng)多個(gè)應(yīng)用程序?qū)嵗┎幌馠eroku那樣容易,Heroku只需移動(dòng)滑塊在它們的web界面。如果你想頻繁的上下擴(kuò)展,你最好熟悉操作流程。這似乎是一個(gè)很大的缺點(diǎn),但在實(shí)踐中,我們很少調(diào)整運(yùn)行一個(gè)應(yīng)用程序的實(shí)例的數(shù)量。
活生生的例子
比如我們有一個(gè)應(yīng)用程序需要10MB的數(shù)據(jù)庫(kù)存儲(chǔ)、一個(gè)工作進(jìn)程和SSL。使用Heroku,將產(chǎn)生以下費(fèi)用:
•增加數(shù)據(jù)庫(kù)存儲(chǔ)20美元。Heroku的免費(fèi)共享數(shù)據(jù)庫(kù)僅提供5MB的存儲(chǔ)。它們推出了一個(gè)新的選項(xiàng),但目前還不請(qǐng)清楚它的規(guī)格。
•SSL端點(diǎn)為20美元
•35美元的工作進(jìn)程
總計(jì):每個(gè)月需要75美元
使用亞馬遜則需要花費(fèi):
•一個(gè)隨需應(yīng)變的小型EC2實(shí)例需要57.60美元(或者一年期27.77美元;三年期17.69美元)。
從價(jià)格角度看,亞馬遜可以很容易的添加或刪除服務(wù)。而使用Heroku,你則要每個(gè)月額外支付一筆費(fèi)用。
其他注意事項(xiàng)
除了成本外,你要考慮是否可以在Heroku運(yùn)行你的應(yīng)用程序。如果你需要運(yùn)行自定義的二進(jìn)制文件或從源代碼編譯,你就必須弄清楚如何破解Heroku。如果你需要存儲(chǔ)臨時(shí)文件,你應(yīng)該知道Heroku的臨時(shí)文件系統(tǒng)不會(huì)讓這一任務(wù)很容易。你可能會(huì)下了很大的功夫,但仍然碰壁。就個(gè)人而言,我有破解法寶可以嘗試找到許多Heroku具體問(wèn)題的解決方法。
另一方面,如果你知道你的應(yīng)用程序在限制范圍內(nèi),則在Heroku上部署將是輕而易舉的。web界面美觀、CLI客戶端大部分情況下運(yùn)行良好(除了它不能管理多個(gè)Heroku賬戶),而且很容易通過(guò)附加軟件添加其他服務(wù)。但如果你認(rèn)為你的應(yīng)用程序的需求增長(zhǎng)方式不滿足于簡(jiǎn)單的水平擴(kuò)展,那么你應(yīng)該考慮AWS。當(dāng)然,你可以開(kāi)始使用Heroku隨后遷移到AWS,但是在這種情況下,你需要在兩個(gè)環(huán)境下配置你的應(yīng)用程序,并花費(fèi)時(shí)間去進(jìn)行遷移。
有其他選擇嗎?
根據(jù)我的經(jīng)驗(yàn),沒(méi)有其他平臺(tái)可以與Heroku或AWS競(jìng)爭(zhēng)。有一些Heroku不錯(cuò)的替代品如Dotcloud,但它們收到了Heroku的影響,減少與第三方產(chǎn)品的集成并只有少數(shù)的社區(qū)支持。
Rackspace是AWS最有力的競(jìng)爭(zhēng)者,但它缺乏豐富的API和支持。我們希望有更多的競(jìng)爭(zhēng)對(duì)手趕上Heroku和AWS,為我們提供更多的選擇。
結(jié)束語(yǔ)
Heroku和AWS都是優(yōu)秀的平臺(tái)。它們?cè)陉P(guān)鍵領(lǐng)域都有很大的不同,挑選適合自己的平臺(tái)才是正確的。這并沒(méi)有明確的贏家,就我個(gè)人而言,我喜歡兩個(gè)綜合起來(lái)用:小型應(yīng)用Heroku,大型應(yīng)用亞馬遜。最終獲勝的平臺(tái)將是那個(gè)最能幫助你實(shí)現(xiàn)你的目標(biāo),并可以長(zhǎng)期負(fù)擔(dān)的平臺(tái)。