隨著云世界的日新月異,想進(jìn)入云世界的您在面對大量的選擇時(shí)該何去何從?下面是一些關(guān)于知名云服務(wù)的使用和測試總結(jié)。當(dāng)然在這之前,我們必須知道“云”是建立在托管您的應(yīng)用程序上的服務(wù)。
- Auto-Scalling — 當(dāng)需求增加時(shí),你可以自動(dòng)的獲得更多資源(一般情況下是更多的虛擬機(jī))來響應(yīng)請求。這在一般的應(yīng)用程序中很少用到,但能保證你的服務(wù)不再因?yàn)檫^高的加載量而癱瘓也無異于錦上添花
- 只為你所使用的買單 — 簡單地說,就是你可以根據(jù)現(xiàn)實(shí)情況來選擇你所需要的更大或者更小的服務(wù)。這在“云”中可以很簡單的達(dá)成,比重新配置遠(yuǎn)程機(jī)器要容易得多
- 云基礎(chǔ)設(shè)施 — 開發(fā)和維護(hù)服務(wù)良好的運(yùn)行需要投入巨額成本。所以與其在自己機(jī)器上安裝和配置一個(gè)通信設(shè)備,遠(yuǎn)不如連接到一個(gè)現(xiàn)有并有人管理的通信設(shè)備?;蛘呤菙?shù)據(jù)庫,電子郵件服務(wù),高速緩存等
- 管理軟件 — 你可以獲得控制臺(tái),命令軟件和網(wǎng)絡(luò)UI來操作你安裝的實(shí)例。不僅得到了提升(那些工具都比原生的工具好)還減輕了你的學(xué)習(xí)負(fù)擔(dān)(通過學(xué)習(xí)自帶的教程)
- 負(fù)載平衡器 — 出現(xiàn)在所有的服務(wù)里
以上帶來的是易用性上的提升 — 讓你不需要管理方面的知識(shí),即使你有這方面的能力,你只需要做很少就可以擁有一個(gè)在現(xiàn)實(shí)中隨時(shí)可以為你服務(wù)的應(yīng)用程序,雖然這不一定比一般的服務(wù)器便宜(甚至?xí)F)。我們先看一下各個(gè)服務(wù)的表現(xiàn):
Amazon Web Services(AWS)
這是最普遍的選擇
- 一般流程:你可以在EC2創(chuàng)建一個(gè)實(shí)例(虛擬機(jī)),使用SSH框架,做任何你想要的操作。更高的負(fù)載讓你可以隨時(shí)隨地的創(chuàng)建和刪除拷貝。
- 靈活性:就像支配你自己的電腦一樣容易
- 易用性:AWS控制臺(tái)和Elastic Beanstalk給你帶來非常好的UI來管理應(yīng)程序。利用Beanstalk你甚至不需要打開控制臺(tái)就可以開發(fā)應(yīng)用程序。事實(shí)上,你起碼需要提供一些配置。最好的莫過于提供了預(yù)定義實(shí)例的圖片,這樣你只需要不到一分鐘就可以運(yùn)行好“Tomcat with MySQL”。Amazon API中已經(jīng)有許多好的解決方案,比如RightScale。
- 產(chǎn)品特色:除下基本的實(shí)例功能以外,還可以擁有一些附加的 — 托管數(shù)據(jù)庫,DNS,云存儲(chǔ),CDN,郵件服務(wù),高速緩存等。所以你可以用Amazon提供的版本來代替自己用于安裝和管理這些服務(wù)的實(shí)例。
- 收費(fèi)模式 — 按實(shí)例運(yùn)行的時(shí)間收費(fèi)
- 試用情況:1年(微型實(shí)例)。
Google App Engine(GAE)
這個(gè)屬于PaaS(Platform as a Service),不會(huì)獲得自己的虛擬機(jī),還受到一些標(biāo)準(zhǔn)API的限制(比如:不可以創(chuàng)造大量的線程),也不可以使用文件系統(tǒng)(可以使用Blobstore API來替代)。
- 一般流程:你可以建立和設(shè)計(jì)程序(通過使用命令行或者IDE)。不需要管理服務(wù)器也沒有ssh — 只有app。app在沙箱中運(yùn)行,可能還會(huì)運(yùn)行一些專有的API在NoSQL中進(jìn)行存儲(chǔ),使用MapReduce等。你不需要經(jīng)常接入目標(biāo)設(shè)備就可以通過管理員UI來瀏覽數(shù)存儲(chǔ),查看日志文件和性能標(biāo)準(zhǔn)。
- 靈活性:低 — 在沙箱中設(shè)計(jì)程序,受到配置和提供給你的管理員UI的限制
- 易用性:良好的管理員UI
- 產(chǎn)品特色:雖然有更多的附加項(xiàng),但是仍然有突出的地方 — 電子郵件,數(shù)據(jù)存儲(chǔ),任務(wù)列隊(duì),分布式緩存等。
- 收費(fèi)模式:通常情況下,按使用的資源總量收費(fèi)。
- 試用情況:少量資源使用下永久免費(fèi)
Windows Azure
你將得到虛擬機(jī)還可以通過遠(yuǎn)程桌面進(jìn)行管理
- 一般流程:你可以建立一個(gè)虛擬主機(jī)就像AWS的那樣。你也可以使用php,asp或者note.js來設(shè)計(jì)簡單的網(wǎng)站(像GAE一樣的PaaS)
- 靈活性:VM下高,PaaS下低
- 易用性:良好的管理員UI
- 產(chǎn)品特色:高速緩存,數(shù)據(jù)庫,服務(wù)總線
- 收費(fèi)模式 — 根據(jù)使用量或者定期付費(fèi)
- 試用情況:兩個(gè)月(最小的虛擬機(jī))
HeroKu
PaaS — 在沙箱中設(shè)計(jì)app并且擁有許多用于其他服務(wù)的插件。擁有兩種類型的“馬達(dá)” — 一類為網(wǎng)絡(luò)請求服務(wù),另一類為后臺(tái)請求服務(wù)。
- 一般流程:下載heroku工具,運(yùn)行然后用它建立和設(shè)計(jì)程序
- 靈活性:低,雖然是在沙箱中運(yùn)行,但是每個(gè)插件都是可配置的而且擁有許多的插件,所以靈活性強(qiáng)于其他的PaaS。對Java程序員來說不幸的消息是,它只支持通過Git來查看部署。
- 易用性:良好的網(wǎng)絡(luò)UI
- 產(chǎn)品特色:只要你能想象得到的都以插件方式存在
- 收費(fèi)模式 — 按照不同的配置,數(shù)據(jù)庫,插件收費(fèi)
- 試用情況:每個(gè)月有750小時(shí)的免費(fèi)時(shí)間 — 這就意味著你可以一直低限度的免費(fèi)使用
Jelastic
專為Java提供的PaaS — 在沙箱中設(shè)計(jì)app。你可以配置構(gòu)造和使用各種第三方服務(wù)。這在其他的服務(wù)中是不常見的。
- 一般流程:你可以通過良好的UI選擇一種構(gòu)造來設(shè)計(jì)你自己的文件領(lǐng)域??梢詾槟愕某绦蚺渲米畲髷?shù)量的服務(wù)器。所有東西都可以通過網(wǎng)絡(luò)UI來配置。
- 靈活性:低,不可以ssh
- 產(chǎn)品特色:你可以使用額外的服務(wù) — MySQL,MongoDB,CouchDB等
- 收費(fèi)模式 — 服務(wù)器及附加服務(wù)(MySQL,MongoDB等)
- 試用情況:兩個(gè)月的免費(fèi)試用
當(dāng)然還有其他的選擇,特別值得關(guān)注的是RackSpace,一個(gè)一直致力于虛擬機(jī)的公司,擁有帶一些“云”思想的簡單虛擬機(jī),比如auto-scalling。
沒有最好的,只有最適合你的。多了解不同服務(wù)的局限性和特色才能幫助你做到更好的選擇。特別像使用GAE和HeroKu這兩種平臺(tái)你必須改變你的設(shè)計(jì)思路。還HOLD住嗎,決定好從哪開始你的云端之旅了嗎?(仲浩/編譯 原文來自:dzone)