云計(jì)算已經(jīng)不僅僅是虛擬基礎(chǔ)設(shè)施的快速自助式服務(wù)。開(kāi)發(fā)者和管理員正在尋求規(guī)?;朴?jì)算的供應(yīng)和管理方法。這篇文章是關(guān)于動(dòng)態(tài)計(jì)算資源池維護(hù)的自動(dòng)化工具和理念系列的其中一篇??梢酝ㄟ^(guò)這里訂閱這一系列文章的新文章發(fā)布通知。
早期云計(jì)算的典型部署是,一兩個(gè)員工使用幾臺(tái)服務(wù)器針對(duì)某個(gè)特定需求搭建一個(gè)小規(guī)模私有云。然而,隨著整個(gè)企業(yè)中越來(lái)越多的員工使用各種云服務(wù)模型(IaaS,PaaS,SaaS)中的大量功能,我們已經(jīng)看到越來(lái)越多的公有云采用案例。
隨著更多的組織擴(kuò)展對(duì)公有云服務(wù)的使用,它們小到初創(chuàng)企業(yè),大到全球最大的企業(yè)和政府。同時(shí),大規(guī)模云計(jì)算的各種問(wèn)題也開(kāi)始不斷出現(xiàn)。
大規(guī)模公有云的潛在問(wèn)題
毋庸置疑,各類企業(yè)通過(guò)采用公有云都獲益匪淺,不過(guò)大規(guī)模的采用公有云也伴隨著很多挑戰(zhàn)和風(fēng)險(xiǎn)。最主要的有如下幾方面:
成本
最初使用公有云時(shí),僅允許有限的少數(shù)幾個(gè)人訪問(wèn),這時(shí)跟蹤成本相對(duì)簡(jiǎn)單。然而,隨著更多(通常是相互獨(dú)立的)部門(mén)中越來(lái)越多的人獲得訪問(wèn)權(quán)限,你可能會(huì)遇到功能重復(fù),過(guò)度供應(yīng)、未經(jīng)授權(quán)的采購(gòu)、未使用的“僵尸”實(shí)例、多余的帶寬和存儲(chǔ)費(fèi)用、以及其他一些不必要的影響因素,不斷蠶食著預(yù)期的成本節(jié)省。
未經(jīng)授權(quán)的訪問(wèn)
對(duì)小規(guī)模的公有云服務(wù)訪問(wèn)的管理相對(duì)簡(jiǎn)單,但是隨著公有云的采用規(guī)模逐漸增加,管理將很快失控。公司的前雇員在離職后可能仍然留有訪問(wèn)權(quán)限,員工的角色變化后,并沒(méi)有相應(yīng)的更新訪問(wèn)權(quán)限,新員工難以訪問(wèn)到其所需要的資源等。由于多數(shù)云服務(wù)提供者無(wú)法提供企業(yè)級(jí)的安全保障,隨著逐步擴(kuò)大公有云的采用規(guī)模,你將很快成為未經(jīng)授權(quán)的訪問(wèn)的犧牲品。
惡意入侵
比員工的訪問(wèn)權(quán)限控制問(wèn)題更嚴(yán)重的是,外部對(duì)云服務(wù)的惡意入侵。密碼丟失,共享的用戶ID,數(shù)據(jù)泄漏,簡(jiǎn)單密碼,社會(huì)工程學(xué),網(wǎng)絡(luò)釣魚(yú)和惡意軟件都有可能使公有云服務(wù)暴露在數(shù)據(jù)丟失,篡改,攻擊,拒絕服務(wù)和其他惡意入侵的影響之下。
人為失誤
公有云服務(wù)規(guī)模較小時(shí)通過(guò)人工就可以容易地管理,但隨著規(guī)模的不斷擴(kuò)大,不可能持續(xù)地增加人力資源以維持其可管理性。這就意味著更少的人有更多的工作要做,均衡法則告訴我們最終肯定會(huì)有人犯錯(cuò)誤。進(jìn)而可能會(huì)導(dǎo)致大規(guī)模的故障,盡管這并不是云服務(wù)獨(dú)有的問(wèn)題。
可見(jiàn)性
當(dāng)只有少數(shù)幾個(gè)服務(wù)時(shí),管理可以很細(xì)致,只要一兩個(gè)人就可以了解這些服務(wù)的部署位置,配置方式,成本花費(fèi),使用情況,所屬關(guān)系,問(wèn)題原因,解決方案,服務(wù)關(guān)閉時(shí)間,恢復(fù)辦法等。然而,在規(guī)模較大的系統(tǒng)中,隨著公有云部署規(guī)模的不斷擴(kuò)大和更多用例的訪問(wèn)放開(kāi),云的使用情況將變得越來(lái)越不清楚。
分類診斷
可見(jiàn)性差導(dǎo)致的其中一個(gè)后果就是問(wèn)題的分類診斷也變得更加困難。例如,如果不知道系統(tǒng)運(yùn)行在哪里或者它如何與其他的服務(wù)連接,基本上就無(wú)法確定事務(wù)流變慢的原因。系統(tǒng)思維方面的專家W. Edwards Deming曾經(jīng)說(shuō)過(guò),“不可衡量者不可管理,”也許更恰當(dāng)?shù)恼f(shuō)法是,不可見(jiàn)者不可管理。
可審核性
可見(jiàn)性差的另外一個(gè)副作用就是,隨著越來(lái)越多的系統(tǒng)和服務(wù)被抽象到云服務(wù)中,追蹤誰(shuí)在訪問(wèn)什么,何時(shí),如何以及為什么訪問(wèn)就變得越來(lái)越困難,與可審核性有關(guān)的關(guān)鍵問(wèn)題也就隨之而來(lái)。如果沒(méi)有自動(dòng)化的工具,在大規(guī)模云環(huán)境下,跟蹤,記錄和審查訪問(wèn)、變更,、故障、曝光率、利用率等信息將會(huì)變得非常困難。
可恢復(fù)性
盡管嚴(yán)重的停機(jī)故障并非云所獨(dú)有,但是幾乎每周我們都會(huì)聽(tīng)到新的令人關(guān)注的公有云故障的報(bào)道。然而多數(shù)云服務(wù)提供者,特別是商品化服務(wù),并未內(nèi)置恢復(fù)功能;即便是更加健壯的服務(wù),也可能無(wú)法提供及時(shí)的恢復(fù)服務(wù)或優(yōu)先考慮你的業(yè)務(wù)需求。如果沒(méi)有系統(tǒng)可用于備份、故障轉(zhuǎn)移和恢復(fù),停機(jī)故障將會(huì)導(dǎo)致災(zāi)難性的后果。
用自動(dòng)化解決所有這些問(wèn)題
所有這些問(wèn)題的解決辦法就是IT自動(dòng)化。當(dāng)然,自動(dòng)化并不是銀彈;而且對(duì)有缺陷的流程進(jìn)行自動(dòng)化只能讓壞事在沒(méi)有控制的情況下執(zhí)行得更快。不過(guò),如果實(shí)施得當(dāng),各種形式的自動(dòng)化工具可以讓你在擴(kuò)大公有云部署規(guī)模的同時(shí)避免上述諸多問(wèn)題。
例如:
流程自動(dòng)化可以在更大的范圍、更廣的區(qū)域、以更低的成本快速地執(zhí)行和整合已有的任務(wù)和工作流,并且能夠?yàn)槿藗兲峁┍阮A(yù)期更完善的審計(jì)和控制。
供應(yīng)自動(dòng)化可以控制何人,何時(shí),為何及如何創(chuàng)建和發(fā)布何種云服務(wù),從而減少錯(cuò)誤,消除僵尸服務(wù),并使得成本跟蹤和細(xì)粒度的審計(jì)和控制成為可能。
配置自動(dòng)化可以確保系統(tǒng)補(bǔ)丁得到及時(shí)安裝,無(wú)用的端口得到及時(shí)關(guān)閉,系統(tǒng)漏洞得到及時(shí)消除,超支得到及時(shí)控制,系統(tǒng)是可重用的,并且能夠減少錯(cuò)誤的發(fā)生。
即使在最大型的云計(jì)算部署中,事件監(jiān)控也可以跟蹤到錯(cuò)誤,并且可以確保觸發(fā)事件是清晰可見(jiàn)的,根本原因能夠被盡早確定,警報(bào)得到及時(shí)升級(jí),并且能夠在問(wèn)題變得致命之前,及時(shí)發(fā)現(xiàn)并解決這些問(wèn)題。
容器化可以提供更高層級(jí)的抽象,將用戶從某個(gè)云計(jì)算基礎(chǔ)設(shè)施或平臺(tái)的細(xì)節(jié)中抽離出來(lái)。這樣用戶就可以快速地完成從一個(gè)服務(wù)到另一個(gè)服務(wù)的低接觸(low-touch)遷移,從而更好地滿足災(zāi)難恢復(fù)和成本控制需求。
具有自動(dòng)檢測(cè)、通知、升級(jí)及分類診斷問(wèn)題能力的性能監(jiān)控工具,可以為提供必要的可視性,避免糟糕的體驗(yàn),預(yù)防由于問(wèn)題診斷不善導(dǎo)致在云容量上花費(fèi)過(guò)高而造成的成本超支。
備份和恢復(fù)自動(dòng)化可以讓故障對(duì)終端用戶完全透明,特別是當(dāng)它們與事件和性能監(jiān)測(cè)工具相連,或用于在云應(yīng)用中構(gòu)建容錯(cuò)和災(zāi)難恢復(fù)機(jī)制時(shí)。
發(fā)布自動(dòng)化可以在不需要人工干預(yù)的情況下將云環(huán)境中的新應(yīng)用和更新應(yīng)用自動(dòng)從開(kāi)發(fā)環(huán)境轉(zhuǎn)到生產(chǎn)環(huán)境,從而加速在大型部署環(huán)境中的創(chuàng)新,同時(shí)降低人為失誤,確??蓪徍诵圆⑾龕阂獯a。
身份及訪問(wèn)管理可以在需要時(shí)為用戶提供必要的云服務(wù)訪問(wèn)權(quán)限,在不需要時(shí)回收相應(yīng)的權(quán)限,從而達(dá)到防止惡意入侵,消除數(shù)據(jù)丟失,啟用審計(jì)和控制,提升可見(jiàn)性以及控制使用成本的目的。
容量管理可以讓云平臺(tái)的消費(fèi)者更準(zhǔn)確地預(yù)測(cè)他們的服務(wù)增長(zhǎng)情況和峰值需求,以及何時(shí)應(yīng)該釋放資源,從而做到在幫助控制云資源的成本的同時(shí),減少潛在的服務(wù)問(wèn)題。
此外,自動(dòng)化讓公有云具有了之前通過(guò)傳統(tǒng)的手工方式無(wú)法具有的新的能力。例如,使用諸如DevOps之類的新手段加速大規(guī)模應(yīng)用程序的交付,可以說(shuō)這只有在具有自助式供應(yīng)、配置管理、測(cè)試自動(dòng)化和發(fā)布自動(dòng)化等解決方案的前提下才是可行的。與此類似,如果沒(méi)有API訪問(wèn)自動(dòng)化、身份管理、資源運(yùn)用、和成本控制的解決方案,新興的云API經(jīng)濟(jì)中大量極好的機(jī)會(huì)就會(huì)演變成巨大的風(fēng)險(xiǎn),甚至可能導(dǎo)致災(zāi)難性事件。
最關(guān)鍵的自動(dòng)化工具
上述這些自動(dòng)化工具和原則在公有云部署最佳實(shí)踐中都發(fā)揮了不同的作用。在沒(méi)有了解具體部署案例的目標(biāo)和限制之前,就輕言哪些自動(dòng)化工具更加關(guān)鍵并不是非常合理。當(dāng)然,在多數(shù)情況下,一些工具確實(shí)要比另外一些工具更加重要,如果非要讓我選擇最重要的前三個(gè)自動(dòng)化工具,我會(huì)選擇如下三個(gè):
身份及訪問(wèn)管理——如果不能保證正確的人在正確的時(shí)間能夠獲取到正確的資源,那么其他一切都是空談。假如對(duì)你來(lái)說(shuō),保護(hù)基于云環(huán)境的數(shù)據(jù)和服務(wù)是最大的顧慮,那么身份及訪問(wèn)管理就是必需的自動(dòng)化解決方案之一。
供應(yīng)自動(dòng)化——對(duì)于許多云服務(wù)來(lái)說(shuō),供應(yīng)自動(dòng)化是非?;A(chǔ)的功能,但是這一功能的粒度是非常關(guān)鍵的,特別是對(duì)審計(jì)和控制來(lái)說(shuō)。手工供應(yīng)可能是造成公有云部署中人為失誤和成本超支的最大原因。
性能和可用性監(jiān)測(cè)——這也許是所有部署的終極武器,即使在最大型的大規(guī)模和高性能的云部署環(huán)境下,也能夠讓你了解問(wèn)題發(fā)生的時(shí)間和原因,以及如何有效的修復(fù)這些問(wèn)題。
總結(jié)
對(duì)于現(xiàn)有的公有云服務(wù)來(lái)說(shuō),自動(dòng)化能力是必不可少的。任何像樣一點(diǎn)的云服務(wù)肯定都會(huì)包含一些基礎(chǔ)的自動(dòng)化能力——例如自助式供應(yīng),利用率監(jiān)測(cè)或退單拒付(chargeback)。
然而,正如我之前曾經(jīng)寫(xiě)過(guò)的,目前可能沒(méi)有哪一個(gè)云服務(wù)提供者能夠提供更加高級(jí)的自動(dòng)化能力,特別是商品化的云服務(wù)。
在了解了采用公有云的機(jī)會(huì)和風(fēng)險(xiǎn)之后,需要根據(jù)自身的工作量和目標(biāo)合理選擇正確的服務(wù)提供商并使用適當(dāng)?shù)淖詣?dòng)化工具對(duì)其進(jìn)行補(bǔ)充。
只有正確地集成了自動(dòng)化解決方案,為用戶提供并增強(qiáng)了信心,安全,性能,速度和控制,才能夠完全發(fā)揮公有云的潛能。