傅一平
“當(dāng)公司遷移到云端時(shí),他們通常會(huì)尋求更好的性能和更多的可用性。但如果沒(méi)有正確的見(jiàn)解,這些公司可能會(huì)遇到許多問(wèn)題?!盞entik公司產(chǎn)品營(yíng)銷主管Kevin Woods說(shuō)道。云網(wǎng)絡(luò)涉及跨應(yīng)用、云和數(shù)據(jù)中心的部署以及復(fù)雜的數(shù)據(jù)源線索,遷移往往意味著對(duì)網(wǎng)絡(luò)的可見(jiàn)性和理解力下降。與過(guò)去的物理網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)不同,云中的網(wǎng)絡(luò)是虛擬化、高度自動(dòng)化的,因此基本上是看不見(jiàn)的。
許多公司缺乏關(guān)于如何使用云資源的信息,更不用說(shuō),在快速部署云資源時(shí)可能會(huì)出現(xiàn)錯(cuò)誤。在許多情況下,配置選擇不當(dāng)會(huì)導(dǎo)致效率低下,因?yàn)槔嫌^念認(rèn)為可以“隨時(shí)回去修理”,不幸的是,事后也更難看到次優(yōu)的選擇。
如果要在云中部署應(yīng)用程序,有5個(gè)常見(jiàn)部署錯(cuò)誤需要避免。
1.重復(fù)服務(wù)和不明確的依賴關(guān)系
當(dāng)組織的網(wǎng)絡(luò)處于孤島狀態(tài)時(shí),可能會(huì)重復(fù)服務(wù)并維護(hù)獨(dú)立的域名系統(tǒng)(DNS)服務(wù)。DNS將網(wǎng)站的域名與IP地址相匹配,企業(yè)為重復(fù)的DNS服務(wù)支付額外費(fèi)用,而不是將它們合并到一個(gè)共享系統(tǒng)中。
此外,企業(yè)有時(shí)會(huì)讓一個(gè)應(yīng)用程序依賴于某個(gè)消失的DNS服務(wù)。云工作負(fù)載可能已經(jīng)轉(zhuǎn)移,導(dǎo)致模糊的云依賴性。當(dāng)在云中部署網(wǎng)絡(luò)時(shí),要避免創(chuàng)建混亂的相互依賴關(guān)系,這可能會(huì)導(dǎo)致中斷。
避免重疊和重復(fù),同時(shí)保持適當(dāng)?shù)能浖_(kāi)發(fā)。
2.流量或請(qǐng)求發(fā)夾
網(wǎng)絡(luò)基礎(chǔ)設(shè)施轉(zhuǎn)移到云端時(shí),要避免發(fā)夾(hairpinning)增加延遲,也就是發(fā)夾形狀的瓶頸,網(wǎng)絡(luò)流量會(huì)從它來(lái)的方向送回去。它涉及的服務(wù)通信路徑很長(zhǎng),而不是簡(jiǎn)潔、快速和便捷的路徑。
發(fā)卡可能是由于IP路由的錯(cuò)誤配置而發(fā)生的,導(dǎo)致昂貴的云數(shù)據(jù)傳輸賬單。另一個(gè)案例涉及一個(gè)將應(yīng)用服務(wù)器轉(zhuǎn)移到云中的DevOps團(tuán)隊(duì),但其在傳統(tǒng)的數(shù)據(jù)中心仍有一個(gè)網(wǎng)絡(luò)前端和數(shù)據(jù)庫(kù)。這個(gè)例子帶來(lái)了性能的下降和成本的增加,網(wǎng)絡(luò)請(qǐng)求導(dǎo)致了一連串的調(diào)用和對(duì)云互聯(lián)的額外導(dǎo)航(云互聯(lián)是兩個(gè)網(wǎng)絡(luò)之間的連接)。
3.不必要的區(qū)域間流量
當(dāng)公司不必要地將云數(shù)據(jù)從一個(gè)地理區(qū)域發(fā)送到另一個(gè)地理區(qū)域時(shí),他們?yōu)閰^(qū)域間數(shù)據(jù)傳輸支付的每千兆字節(jié)費(fèi)用要比區(qū)域內(nèi)數(shù)據(jù)傳輸高得多。云供應(yīng)商自然會(huì)產(chǎn)生更多的成本,所以他們會(huì)把這些成本轉(zhuǎn)嫁給你。
為了避免這個(gè)問(wèn)題:
●對(duì)造成區(qū)域間互聯(lián)網(wǎng)流量過(guò)剩的原因有一定的了解;
●移動(dòng)工作負(fù)載以避免不必要的區(qū)域間通信;
●此外,在可能的情況下合并工作負(fù)載以避免浪費(fèi)資源。
4.從本地VPC通過(guò)互聯(lián)網(wǎng)訪問(wèn)云服務(wù)
云應(yīng)用程序開(kāi)發(fā)人員經(jīng)常使用云服務(wù),如S3、SNS或Route 53。它們很方便,容易部署。這些服務(wù)可以代表在單一地區(qū)運(yùn)行的服務(wù)IP地址范圍來(lái)訪問(wèn)互聯(lián)網(wǎng)。
當(dāng)云計(jì)算工程師建立新的VPC時(shí),還必須設(shè)置路由規(guī)則,以確定流量如何被轉(zhuǎn)發(fā)到非本地目的地。面向互聯(lián)網(wǎng)的流量總是遵循一個(gè)指向網(wǎng)關(guān)設(shè)備的默認(rèn)路由,穿過(guò)這種設(shè)備的流量被定義為互聯(lián)網(wǎng)出口流量,AWS對(duì)出口流量收取費(fèi)用,即使流量沒(méi)有必要從云中出口。
幸運(yùn)的是,大多數(shù)云供應(yīng)商已經(jīng)發(fā)布了被稱為“端點(diǎn)服務(wù)”的新功能,旨在使這種流量遠(yuǎn)離公共互聯(lián)網(wǎng),從而降低數(shù)據(jù)傳輸成本與通過(guò)互聯(lián)網(wǎng)發(fā)送流量相關(guān)的安全風(fēng)險(xiǎn)。端點(diǎn)服務(wù)允許用戶在其VPC子網(wǎng)內(nèi)配置具有私有IP地址的本地網(wǎng)絡(luò)接口。然后,這些接口作為代理,為任何以終端上配置的服務(wù)為目的地的流量提供服務(wù)。最終的結(jié)果是,通往這些服務(wù)的流量保持在本地、私有,并享受較低的出口價(jià)格。
5.使用默認(rèn)的互聯(lián)網(wǎng)流量傳輸
減少不必要的出口流量很重要。然而,如果你提供一個(gè)基于云的數(shù)字服務(wù),在某些情況下,流量會(huì)向用戶輸出,因此研究如何減少這些成本也是很重要的。
考慮使用默認(rèn)的互聯(lián)網(wǎng)出口來(lái)部署應(yīng)用程序的替代方案。它們包括使用內(nèi)容交付網(wǎng)絡(luò)(CDN),它在世界各地的節(jié)點(diǎn)上緩存頻繁請(qǐng)求的對(duì)象,并為公司節(jié)省每千兆字節(jié)的費(fèi)用。CDN還可以降低延遲、提高性能。此外,考慮將大型對(duì)象打包在一個(gè)應(yīng)用程序內(nèi),而不是通過(guò)網(wǎng)絡(luò),將互聯(lián)網(wǎng)流量通過(guò)云端互連到存在點(diǎn)(PoP),以節(jié)省IP傳輸?shù)馁M(fèi)用。一個(gè)PoP是一個(gè)網(wǎng)絡(luò)接入點(diǎn)。
通過(guò)避免這些錯(cuò)誤,將擁有成本更低、性能更高的云部署。
關(guān)鍵提醒
云使橫向擴(kuò)展的應(yīng)用部署變得非常容易,人們很容易相信,公共云中的大部分網(wǎng)絡(luò)是自動(dòng)化的,甚至是看不見(jiàn)的。雖然有一定的道理,但事實(shí)是,云供應(yīng)商并不代表使用者管理網(wǎng)絡(luò),在幫助找出降低成本的方法時(shí),二者肯定有利益沖突。
歸根結(jié)底,要對(duì)云中的網(wǎng)絡(luò)負(fù)責(zé),就需要使云計(jì)算網(wǎng)絡(luò)可被觀察到,并擁有必要的工具來(lái)識(shí)別成本和性能問(wèn)題并探索替代方案。