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