還在苦苦搜索資料,論證云服務(wù)能夠帶來哪些優(yōu)勢?今天我們將一同深入探討如何利用Amazon Web Services來運(yùn)行一套由數(shù)據(jù)驅(qū)動的網(wǎng)站方案。
云計算技術(shù)在過去幾年當(dāng)中無疑迎來了迅猛發(fā)展并開始快速走向成熟,如今我們已經(jīng)能夠在其現(xiàn)場部署名單當(dāng)中看到眾多令人信服的成功案例。特別是對于那些可能無力購買服務(wù)器及其它硬件設(shè)備的小型及初創(chuàng)企業(yè),云服務(wù)更是一條能夠快速幫我們構(gòu)建起業(yè)務(wù)體系的康莊大道。
除了成本優(yōu)勢之外,公有云還提供各類完善的功能特性,諸如可擴(kuò)展性與資源彈性等等。更重要的是,企業(yè)能夠利用公有云快速——只需要數(shù)分鐘,而不再像過去使用物理基礎(chǔ)設(shè)施時那樣需要耗時數(shù)周甚至數(shù)月——完成基礎(chǔ)設(shè)施設(shè)置。
下面我們將具體探究Amazon Web Services(簡稱AWS)——目前人氣最高的云服務(wù)方案之一——的方方面面,從而了解如何利用它幫助小型企業(yè)在激烈的市場競爭中占據(jù)主動。
AWS生態(tài)系統(tǒng)與基本實(shí)施條件
值得注意的是,雖然設(shè)置一套云部署方案并不像火箭科學(xué)那么高端復(fù)雜——至少從基礎(chǔ)角度來看是如此——但還是會對大家的IT專業(yè)背景或者特定技術(shù)能力提出一定要求,這也是保障一切得以正確配置的前提條件。舉例來說,熟知關(guān)于LAMP(即Linux、Apache、MySQL以及PHP)堆棧相關(guān)知識的技術(shù)人員很可能是負(fù)責(zé)AWS使用工作的最佳人選。
盡管以通用作為前提性設(shè)計思路,AWS通常也能夠完成專有云體系的實(shí)現(xiàn)工作——這一點(diǎn)已經(jīng)沒有什么爭議了。因此,雖然不同云產(chǎn)品之間往往在概念上存在著不少相似之處,但AWS之上的特定使用經(jīng)驗(yàn)通常無法被直接沿用至微軟Azure或者谷歌Compute Engine當(dāng)中,同時也不能被簡單套用到內(nèi)部部署工作之內(nèi)。
AWS還提供了多種實(shí)施手段,幫助企業(yè)客戶快速建立并運(yùn)行多種通用部署場景:事實(shí)上,我們通??梢酝ㄟ^不止一種辦法實(shí)現(xiàn)特定解決方案。不過為了幫助大家更清晰地認(rèn)知AWS云,我們會盡可能壓縮本次服務(wù)清單的長度,以免增加不必要的學(xué)習(xí)難度。
Amazon Web Services主控制臺。
Web托管工作中的部分核心組件
EC2(即Elastic Compute Cloud,彈性計算云)虛擬服務(wù)器構(gòu)成了AWS云部署體系中的主干部分。這些虛擬服務(wù)器可以多種不同配置方案進(jìn)行交付,每套配置都擁有不同的CPU、內(nèi)存、存儲與網(wǎng)絡(luò)性能水平,且以小時為單位計算使用成本。值得注意的是,某些較為陳舊的實(shí)例類型可能隨時間推移而陸續(xù)被淘汰。
S3(即Simple Storage Service,簡單存儲服務(wù))是一套對象存儲系統(tǒng),能夠容納最高5TB的單一對象,且可以通過必要的命令行操作、API調(diào)用甚至是專門設(shè)計以與其協(xié)作的桌面應(yīng)用從任意位置發(fā)起網(wǎng)絡(luò)訪問。
EBS(即Elastic Block Store,彈性塊存儲)提供傳統(tǒng)文件系統(tǒng)功能,但使用成本也更高一些。EBS分卷功能與磁盤驅(qū)動器類似,能夠直接接入服務(wù)器并充當(dāng)存儲驅(qū)動器,甚至能夠在計算實(shí)例被關(guān)閉之后仍然持續(xù)存在。(值得注意的是,大家可以對EC2實(shí)例進(jìn)行設(shè)置以確保其被關(guān)閉后,對應(yīng)EBS分卷亦同時被刪除。)
RDS(即Relationship Database Service,關(guān)系數(shù)據(jù)庫服務(wù))是一項Web服務(wù),能夠幫助用戶輕松完成關(guān)系數(shù)據(jù)庫管理系統(tǒng)(簡稱RDBMS)的設(shè)置、運(yùn)維以及規(guī)模擴(kuò)展工作。大家可以從多種現(xiàn)有數(shù)據(jù)庫引擎當(dāng)中作出選擇,具體包括MySQL、甲骨文、SQL Server、PostgreSQL以及Amazon Aurora。
Route 53主要面向DNS與域名注冊體系。Route 53提供極具競爭力的計費(fèi)標(biāo)準(zhǔn),其使用成本往往比某些域名注冊商提供的方案更為低廉。從另一方面講,不少Web托管企業(yè)也會以捆綁方式提供類似服務(wù),包括免費(fèi)提供域名或者在使用的前幾年內(nèi)提供更為低廉的計費(fèi)方案。
最后,如果大家希望采用AWS云方案,那么我要向各位公布一條好消息:AWS產(chǎn)品目前提供最長達(dá)一年的計算實(shí)例免費(fèi)使用周期,此外以上列出的各項產(chǎn)品及服務(wù)亦有不同免費(fèi)機(jī)制可供選擇。
起步:從機(jī)器鏡像到選擇區(qū)域
AWS提供涵蓋范圍極廣的預(yù)構(gòu)建且經(jīng)過優(yōu)化的Amazon Machine Images(即Amazon機(jī)器鏡像,簡稱AMI),大家可以將其直接載入到剛剛創(chuàng)建完成的實(shí)例當(dāng)中,從而大大簡化首個計算實(shí)例的啟動過程。目前AWS Marketplace當(dāng)中還包含有大量由第三方創(chuàng)建的鏡像方案,而AWS社區(qū)亦創(chuàng)建并共享多種公共AMI成果。
在建立自己的云基礎(chǔ)設(shè)施之前,大家首先需要為這套虛擬基礎(chǔ)設(shè)施選定一個位置或者說“區(qū)域”。在這方面,我們的基本選擇思路應(yīng)當(dāng)遵循兩大原則:要么保證設(shè)施位置與大部分用戶保持接近,要么保證其與大部分開發(fā)人員的物理位置保持接近。在后一種情況下,大家可能會在上傳數(shù)據(jù)及開發(fā)網(wǎng)站的過程中獲得更為良好的載入時間與速度表現(xiàn)。開發(fā)人員與數(shù)據(jù)庫管理員可能會擔(dān)心不同區(qū)域內(nèi)的數(shù)據(jù)庫副本能否得到確切同步,但沒必要太過憂慮——副本之間一定會得到正確同步。最后,某些服務(wù),特別是那些新型或者尚處于beta測試階段的產(chǎn)品,可能只會在特定區(qū)域當(dāng)中供大家使用。
當(dāng)然,具體情況取決于大家網(wǎng)站的實(shí)際架構(gòu)。在大多數(shù)情況下,使用良好的內(nèi)容交付網(wǎng)絡(luò)(簡稱CDN)服務(wù)能夠確切模擬我們的部署區(qū)域。除了AWS CloudFront CDN之外,大家也可以使用其它備選方案。除此之外,AWS還提供多種工具選項,幫助大家輕松將工作負(fù)載遷移至多個區(qū)域當(dāng)中。
最后,值得指出的是,雖然大部分AWS服務(wù)的使用成本在各個區(qū)域之間完全一致,但也存在著成本不同的特殊情況。大家可以在后文的“監(jiān)控使用成本”章節(jié)來更為深入地了解AWS成本結(jié)構(gòu)。
正常運(yùn)行時間架構(gòu)
如果大家誤以為云計算永遠(yuǎn)不會發(fā)生停機(jī)等故障,請再仔細(xì)思考一番。雖然AWS家族中的一部分服務(wù)擁有非常出色的可靠性,而且AWS方面也提供大量功能以簡化停機(jī)事故發(fā)生后的恢復(fù)工作,大家仍然需要將可靠性規(guī)劃與工程技術(shù)機(jī)制作為部署流程中的重要組成部分。
舉例來說,大家可能會在AWS所使用的底層Xen虛擬機(jī)管理程序當(dāng)中發(fā)現(xiàn)嚴(yán)格漏洞,而且一部分AWS設(shè)備需要在補(bǔ)丁安裝的過程中進(jìn)行重啟。此外,負(fù)責(zé)在后臺處理各類任務(wù)的物理服務(wù)器有可能——或者說一定會發(fā)生故障。如果缺少內(nèi)置自動化機(jī)制的支持,在AWS之上建立而成的網(wǎng)站方案可能出現(xiàn)意料之外的運(yùn)行狀態(tài),甚至在服務(wù)器崩潰或者后端重啟時導(dǎo)致業(yè)務(wù)不可用。
一般來講,大家應(yīng)當(dāng)確保重要站點(diǎn)能夠在同一區(qū)域內(nèi)的多個可用區(qū)中正常運(yùn)行。通常情況下,這要求我們從起步之初就將多可用區(qū)部署思路納入數(shù)據(jù)庫后端設(shè)計當(dāng)中。在內(nèi)部基礎(chǔ)設(shè)施中部署更多數(shù)據(jù)庫服務(wù)器肯定會帶來更高使用成本,因此大家要選擇多可用區(qū)數(shù)據(jù)庫選項時也要做好承擔(dān)更多支出的心理準(zhǔn)備。
最典型的設(shè)置當(dāng)中需要引入一套彈性負(fù)載均衡器(簡稱ELB),其作用在于將輸入應(yīng)用程序的流量分配到多個計算實(shí)例當(dāng)中。與此同時,流量還會被自動從存在故障的實(shí)例處被轉(zhuǎn)移到正常運(yùn)行的實(shí)例當(dāng)中,這相當(dāng)于在特定可用區(qū)遭遇災(zāi)難性事故時將負(fù)載遷移至其它正??捎脜^(qū)。
別忘了安全性議題
AWS一直高度重視安全問題,對于一家只需要鼠標(biāo)點(diǎn)擊幾下就能建立或者移除數(shù)百臺服務(wù)器的供應(yīng)商來說,關(guān)注安全自然也在意料之中。舉例來說,一家擁有光明發(fā)展前景的初創(chuàng)企業(yè)很可能由于黑客入侵Amazon EC2控制面板而導(dǎo)致業(yè)務(wù)體系徹底崩潰——甚至整套基礎(chǔ)設(shè)施都被完全移除。
為了實(shí)現(xiàn)更出色的管理安全水平,AWS方面建議客戶為用戶設(shè)定受到嚴(yán)格限制的權(quán)限內(nèi)容,從而管理其負(fù)責(zé)范疇之內(nèi) 的資源——而不能設(shè)置“root”用戶并允許其進(jìn)行無限制訪問。正如典型Linux系統(tǒng),用戶可以被分配至多個組,而其它角色早可被創(chuàng)建并分配至至用戶或者對應(yīng)組。
AWS同時支持虛擬與基于硬件的MFA(即多因素驗(yàn)證)方案,上圖所示為Gemalto安全令牌。
除此之外,AWS還提供多因素驗(yàn)證(簡稱MFA)方案,且同時具備硬件與虛擬選項。在硬件MFA方面,AWS支持來自第三方供應(yīng)商Gemalto公司的安全令牌產(chǎn)品。再有,AWS還支持虛擬MFA應(yīng)用,例如在Android、iPhone以及黑莓設(shè)備平臺上的谷歌Authenticator,外加Android平臺上專有的AWS Virtual MFA應(yīng)用程序。
監(jiān)控使用成本
最后,在云計算方面,大家聽到的最多的可能其降低基礎(chǔ)設(shè)施使用成本的能力。不過企業(yè)用戶可能會逐漸發(fā)現(xiàn),云服務(wù)的運(yùn)營成本會隨時間推移而不斷增加,在某些特定情況下其短期成本甚至?xí)哂趦?nèi)部部署方案。
為了幫助用戶更為明確地了解自己的云部署成本,AWS設(shè)計一款以月為單位的計算工具,幫助用戶以數(shù)字為基礎(chǔ)了解自己所使用服務(wù)項目的部署成本。其中的評估指標(biāo)包括磁盤及網(wǎng)絡(luò)資源的使用水平。這能夠幫助企業(yè)在無需針對特定可靠性或服務(wù)項目的前提下決定現(xiàn)有運(yùn)營成本是否符合預(yù)期。
企業(yè)當(dāng)然希望根據(jù)現(xiàn)有部署方案對使用成本進(jìn)行優(yōu)化,在這種情況下大家不妨根據(jù)現(xiàn)有資源使用水平購買“臨時”或者“保留”計算實(shí)例。簡而言之,前者允許企業(yè)以較低價格使用整體云環(huán)境下的閑置計算能力,而后者則允許企業(yè)客戶預(yù)先登記及/或預(yù)先支付未來需要使用的資源成本。很明顯,臨時實(shí)例所調(diào)用的資源未必始終來自同區(qū)域。
大家可以預(yù)先登記最多三年的預(yù)期資源使用量,預(yù)先支付機(jī)制也同樣支持最多一年周期,二者都能帶來更為實(shí)惠的運(yùn)營成本。
AWS自身還提供一套值得依賴的咨詢服務(wù),能夠幫助企業(yè)用戶調(diào)整AWS部署流程中的各方面項目,包括安全保障與運(yùn)維成本優(yōu)化。當(dāng)然,要獲得真正全面的顧問建議,大家需要購買付費(fèi)支持計劃。
在今天的文章中,我們僅僅涉及到了AWS所提供的全部可行性提示中的一小部分,但相信這已經(jīng)足以幫助大家建立正確的云計算發(fā)展思路。如果想要選擇AWS作為自身業(yè)務(wù)基礎(chǔ),首先要做的就是提出關(guān)于邁出下一步的正確問題。
原文標(biāo)題:How to set up Amazon Web Services for your small business