亞馬遜CTO Werner Vogels
數(shù)據(jù)中心、網(wǎng)絡(luò)、存儲(chǔ)器、數(shù)據(jù)庫(kù)、負(fù)載均衡裝置(Load Balance)以及包括其他計(jì)算機(jī)資源,所有的IT資源本來(lái)是可控制的,盡管如此,假如我們依然被舊的觀念和習(xí)慣所左右而無(wú)法擺脫資源的束縛,是非常愚蠢的。21世紀(jì)的IT應(yīng)當(dāng)從資源中心(resources focus)向商務(wù)中心(.business focus)轉(zhuǎn)移――。
以上是亞馬遜的CTO Werner Vogels在11月29日召開(kāi)的AWS re:Invent會(huì)議上所做的基調(diào)演講開(kāi)場(chǎng)白。通過(guò)云計(jì)算,AWS從根本上改變了IT世界。那么,AWS技術(shù)部門(mén)負(fù)責(zé)人Werner Vogels,他所描繪的“21世紀(jì)的IT”又將是怎樣的呢?
21世紀(jì)的IT構(gòu)架所必備的4大要素
Werner Vogels提出的21世紀(jì)IT不可或缺的4大要素
Werner Vogels認(rèn)為,21世紀(jì)的IT構(gòu)架需具備以下特點(diǎn):
具有可控制性(Controllable);
靈活的故障修復(fù)功能(Resilient);
能夠充分適應(yīng)各種變化(Adaptive);
數(shù)據(jù)驅(qū)動(dòng)(Data Driven)。
首先,所謂Controllable應(yīng)為:
很小的各種組件是松散耦合(loose coupling) 結(jié)構(gòu);
App和process實(shí)現(xiàn)自動(dòng)化;
持成本意識(shí)設(shè)計(jì)。
為了能夠徹底實(shí)施自動(dòng)化,資源就應(yīng)當(dāng)盡量保持松散耦合狀態(tài),由此,即使環(huán)境發(fā)生變化也能夠?qū)崿F(xiàn)靈活且迅速的最優(yōu)化,與此同時(shí),達(dá)到控制成本的目的。
關(guān)于這一點(diǎn),Vogels強(qiáng)調(diào),“希望用戶(hù)不要試圖在已有的IT基礎(chǔ)設(shè)施上再追加物理資源”。他說(shuō),自從亞馬遜在2010年11月10日,停止物理服務(wù)器運(yùn)行后,就再也沒(méi)有啟動(dòng)任何物理服務(wù)器。
他還說(shuō),所有的服務(wù)器都可以分割成小的軟件零件,IT基礎(chǔ)設(shè)施的肥大化必然招致成本上升,而隨著商務(wù)的擴(kuò)大,IT成本也隨之上升的時(shí)代應(yīng)當(dāng)結(jié)束了。如果在IT構(gòu)架時(shí)持有成本意識(shí)進(jìn)行設(shè)計(jì),必然將物理基礎(chǔ)設(shè)施的擴(kuò)大排除在外。
他接著說(shuō):“過(guò)去,我本人曾無(wú)數(shù)次“擁抱”服務(wù)器,但是,服務(wù)器是絕對(duì)不會(huì)“擁抱”你,它只會(huì)憎惡我們。”他反復(fù)強(qiáng)調(diào)物理服務(wù)器是不會(huì)自動(dòng)靠近人的。
其次,對(duì)于故障修復(fù),他重點(diǎn)強(qiáng)調(diào):
應(yīng)當(dāng)最優(yōu)先保護(hù)顧客的利益;
AZ(Availability Zone)最低要有兩個(gè) ;
開(kāi)始時(shí)安全系統(tǒng)就應(yīng)當(dāng)和應(yīng)用程序整合;
不要受個(gè)別故障影響,故障往往發(fā)生在沒(méi)有準(zhǔn)備的時(shí)候。
自然災(zāi)害會(huì)破壞數(shù)據(jù)中心,負(fù)載均衡設(shè)備(Load Balance )和路由器( router)會(huì)產(chǎn)生異常信息包(packet),有人會(huì)突然拔掉電纜,發(fā)生停電,服務(wù)器會(huì)崩潰(crash),光盤(pán)會(huì)突然停止運(yùn)轉(zhuǎn)等等,突然發(fā)生的故障任何人都無(wú)法控制。因此,就應(yīng)當(dāng)估計(jì)到發(fā)生故障的可能性,而發(fā)生問(wèn)題時(shí),首先要考慮盡力保護(hù)顧客的利益,采取適當(dāng)?shù)拇胧﹣?lái)防止問(wèn)題發(fā)生。
Amazon S3運(yùn)用三個(gè)AZ,不只是AZ內(nèi)部,而且AZ之間也通過(guò)相互聯(lián)系,保證99.99999999%的高可用性。
Vogels指出,故障就像部署(Deploy)一樣,是能夠事先設(shè)計(jì)的 。因此,重要的是將故障看做是必然條件,在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)應(yīng)考慮如何才能迅速修復(fù)故障的問(wèn)題。
為了提高可用性就應(yīng)當(dāng)反復(fù)構(gòu)建(build)、測(cè)試(test)、整合(integrate)和部署四個(gè)步驟。Amazon.com平均11.6秒實(shí)施部署,一小時(shí)最大能夠重復(fù)1079次。同時(shí),進(jìn)行部署的主機(jī)(host)平均數(shù)為1萬(wàn)個(gè),最多可達(dá)到3萬(wàn)個(gè)(Vogels)。
Amazon.com大約每10秒就進(jìn)行部署。