盡管丹麥乃至整個(gè)歐洲,以及亞馬遜都對(duì)一些事情保持著沉默,但是似乎有跡象顯示他們遇到了一次黑客攻擊或是一次成功的拒絕服務(wù)攻擊。我是在2019年10月知道的,Google自動(dòng)完成功能也會(huì)提示“AWS DDoS攻擊”。這些事情實(shí)際上會(huì)經(jīng)常發(fā)生。
拒絕服務(wù)攻擊的歷史是否與互聯(lián)網(wǎng)的歷史一樣悠久我們不得而知,因?yàn)閿?shù)據(jù)中心運(yùn)營(yíng)商或托管服務(wù)提供商缺乏坦率的態(tài)度。過(guò)去,我們是通過(guò)防止整個(gè)網(wǎng)絡(luò)被癱瘓來(lái)保護(hù)我們自己,如今我們依然需要保護(hù)我們自己,但是方法變成了使用由不同運(yùn)營(yíng)商運(yùn)行的多個(gè)數(shù)據(jù)中心,即多云。
多云戰(zhàn)略以在多個(gè)服務(wù)提供商的云端上展開(kāi)部署(或是保持能夠在多個(gè)服務(wù)提供商的云端上進(jìn)行的能力)為開(kāi)端。這意味著用戶要將軟件保留在AWS和Azure上,甚至可能保留在GCP上。用戶需要放棄使用任何可能會(huì)阻礙自己進(jìn)行轉(zhuǎn)移的提供商服務(wù),追求允許進(jìn)行跨數(shù)據(jù)中心擴(kuò)展的數(shù)據(jù)架構(gòu)。
單一云的優(yōu)缺點(diǎn)
依托單個(gè)服務(wù)提供商的云,用戶可以享受云提供商提供的服務(wù),有時(shí)候這服務(wù)的成本很低。通常,用戶可以無(wú)縫地添加這些服務(wù)。也就是說(shuō),如果用戶是AWS客戶,那么他們可以使用Amazon Elasticsearch Service,而不用構(gòu)建自己的搜索集群。如果用戶使用的是Google,那么他們可以使用庫(kù)Google Cloud Datastore文檔數(shù)據(jù),而不用自己動(dòng)手部署。
但是,與所有服務(wù)提供商平臺(tái)策略一樣,這些也是有代價(jià)的,即用戶的自由。這聽(tīng)起來(lái)很沉重,但是請(qǐng)聽(tīng)我說(shuō)完。當(dāng)然,用戶的云服務(wù)提供商現(xiàn)在正變得更加便宜,但是情況會(huì)一直如此嗎?此外,隨著云服務(wù)提供商轉(zhuǎn)變戰(zhàn)略,價(jià)格上的優(yōu)惠是否有一天會(huì)被無(wú)理地取消?他們甚至可能永遠(yuǎn)不會(huì)真正宣布這一消息。如果用戶所在地區(qū)的AWS數(shù)據(jù)中心長(zhǎng)時(shí)間停機(jī),變慢或變得不可靠怎么辦?用戶能夠承受損失嗎?
在這些服務(wù)提供商提供的服務(wù)中,某些服務(wù)(尤其是亞馬遜的服務(wù))是一些著名開(kāi)源替代產(chǎn)品的分支,它們應(yīng)該維護(hù)API兼容性。此外,有些還是著名的發(fā)行版本。對(duì)于緩慢升級(jí)的大型企業(yè)來(lái)說(shuō),通常情況下是沒(méi)有問(wèn)題的。但是“通常情況”并不意味著沒(méi)有特殊情況。
如果情況需要,即便是規(guī)模更大的企業(yè)也必須迅速采取行動(dòng)。如果當(dāng)前版本中存在無(wú)法修復(fù)的重大安全漏洞,那么用戶要進(jìn)行轉(zhuǎn)移。如果下一版本中有某些功能是大規(guī)模擴(kuò)展所必需的(而用戶也正需要),亦或是用戶自己的下一個(gè)版本需要某些其他功能,那么云服務(wù)提供商的發(fā)展規(guī)劃勢(shì)必會(huì)導(dǎo)致用戶落后于形勢(shì)變化。
在使用云服務(wù)提供商的服務(wù)時(shí),有一個(gè)問(wèn)題很重要,那就是思考一下每個(gè)運(yùn)營(yíng)者或腳本作者“他們的動(dòng)機(jī)是什么?”當(dāng)然,他們可能希望在其IaaS產(chǎn)品之上獲得30%的額外加價(jià),但是更有可能的是,他們希望將用戶留在自己的平臺(tái)上,并獲得用戶計(jì)算支出中的每一分錢(qián)。
盡管云服務(wù)提供商已經(jīng)變得越來(lái)越可靠,但是他們還沒(méi)有變得百分之百的可靠。每年會(huì)發(fā)生多個(gè)區(qū)域性,甚至是多區(qū)域服務(wù)中斷。有些中斷還會(huì)持續(xù)較長(zhǎng)一段時(shí)間。如果用戶不能將代碼安裝到其他地方(更好的作法是,將其作為流程的一部分存儲(chǔ)在其中),那么當(dāng)災(zāi)難來(lái)臨時(shí)(確實(shí)會(huì)發(fā)生),用戶將束手無(wú)策。
最后,在進(jìn)行價(jià)格談判時(shí),如果用戶得知自己已經(jīng)離不開(kāi)某一云服務(wù)提供商,那么用戶還會(huì)認(rèn)為云服務(wù)提供商具有很高的靈活性嗎?
多云的優(yōu)缺點(diǎn)
多云策略不僅需要服務(wù)提供商保持中立,還需要更具彈性的架構(gòu)選擇。這意味著更多的前期復(fù)雜性,也意味著用戶要與多家服務(wù)提供商進(jìn)行談判。同時(shí)這還意味著要確保談判時(shí)能夠綜合考慮到現(xiàn)有技術(shù)和當(dāng)前的安全性。
但是,與使用單個(gè)云服務(wù)提供商相比,多云策略為用戶提供了更多的自由和安全性。我們?cè)谄脚_(tái)大戰(zhàn)期間學(xué)到了這一點(diǎn),許多企業(yè)會(huì)先在大型機(jī)上進(jìn)行標(biāo)準(zhǔn)化,然后在DEC、HP和Sun上進(jìn)行標(biāo)準(zhǔn)化,然后再嘗試在Windows NT上進(jìn)行標(biāo)準(zhǔn)化。
單一的云服務(wù)提供商平臺(tái)常常無(wú)法兌現(xiàn)他們的承諾。請(qǐng)記住,在20世紀(jì)90年代甚至21世紀(jì)初期,Microsoft的技術(shù)往往集成性良好但并不成熟。然而情況很快就迅速發(fā)生了變化。經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員想起了數(shù)據(jù)訪問(wèn)技術(shù)、DAO、RDO、OleDB和ADO(它們都已被陸續(xù)發(fā)布并被提倡使用)。更不要提.NET過(guò)渡和發(fā)生的錯(cuò)誤營(yíng)銷了(即Windows.NET)。不僅僅是微軟。我的職業(yè)生涯開(kāi)端是編寫(xiě)OS/2設(shè)備驅(qū)動(dòng)程序。后來(lái)IBM又發(fā)布了Warp 4,然而如今它們都已經(jīng)不再被使用了。
盡管平臺(tái)獨(dú)立性會(huì)帶來(lái)前期成本,但是追求平臺(tái)獨(dú)立性的公司往往會(huì)有更具彈性的架構(gòu)。這些公司在應(yīng)用程序之間采用標(biāo)準(zhǔn)接口。他們會(huì)為使用的用例選擇最合適的技術(shù),而不是選擇平臺(tái)所推動(dòng)的任何技術(shù)。最重要的是,當(dāng)服務(wù)提供商被證明是不可靠的合作伙伴(或抬高價(jià)格)時(shí),平臺(tái)獨(dú)立的公司可以自由退出。
多云策略的最低要求
多云策略中最重要的一點(diǎn)是依靠開(kāi)放標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn)作為關(guān)鍵接觸點(diǎn)。以下是其中的一些重點(diǎn):
·Kubernetes。這一開(kāi)源容器管理平臺(tái)目前已經(jīng)成為了部署服務(wù)的行業(yè)標(biāo)準(zhǔn)。如果用戶要?jiǎng)?chuàng)建在筆記本電腦上運(yùn)行的標(biāo)準(zhǔn)Kubernetes部署,那么它們應(yīng)在多個(gè)云服務(wù)提供商上運(yùn)行。
·開(kāi)源。用戶的核心架構(gòu)要使用開(kāi)源工具和技術(shù)。這樣可以確保在平臺(tái)策略發(fā)生調(diào)整時(shí),用戶可以選擇其他路徑。
·開(kāi)放標(biāo)準(zhǔn)。這并不是說(shuō)用戶需要參與到應(yīng)用程序服務(wù)器集群當(dāng)中,而是指與其他軟件的所有接觸點(diǎn)都應(yīng)遵循開(kāi)放且服務(wù)提供商中立的行業(yè)標(biāo)準(zhǔn)(例如JSON)。
·注意品牌服務(wù)。如果用戶需要固定IP和各種DNS服務(wù),那么用戶可以選擇亞馬遜推出的一些常用網(wǎng)絡(luò)工具。雖然用戶不需要運(yùn)行自己的分布式DNS,但是他們必須要使用提供商提供的固定IP的方法。不過(guò)這并不意味著用戶面臨著廠商鎖定,因?yàn)樗鼈冎皇桥渲?,并且在Azure和GCP上的工作方式是相同的。但是在使用機(jī)器學(xué)習(xí)服務(wù)時(shí),用戶應(yīng)該保持謹(jǐn)慎的態(tài)度。
最后,“那就放手做吧!”除了讓服務(wù)在兩個(gè)或更多的云端上運(yùn)行之外,沒(méi)有其他方法可以確保用戶能夠快速實(shí)現(xiàn)轉(zhuǎn)移。即使出于各種成本或會(huì)計(jì)原因而選擇主要是將流量引導(dǎo)至一個(gè)云端,那么用戶也應(yīng)該在另一云服務(wù)提供商的云端上擁有備用數(shù)據(jù)庫(kù)和文本。當(dāng)發(fā)生不可避免的服務(wù)中斷或服務(wù)提供商因財(cái)務(wù)原因而倒閉時(shí),用戶可以實(shí)現(xiàn)迅速轉(zhuǎn)移。
作者:Andrew C. Oliver為開(kāi)源NoSQL數(shù)據(jù)庫(kù)產(chǎn)品提供商Couchbase的產(chǎn)品營(yíng)銷主管兼布道師。
編譯:陳琳華
原文網(wǎng)址:https://www.infoworld.com/article/3529476/cloud-outages-show-multicloud-is-essential.html