您當(dāng)前的位置是:  首頁 > 新聞 > 國際 >
 首頁 > 新聞 > 國際 >

美國電信巨頭Verizon 60天靠容器技術(shù)加速重建自助IT新架構(gòu)

--億級(jí)電信用戶平臺(tái)大翻新

2017-08-17 11:35:02   作者:   來源:iThome   評(píng)論:0  點(diǎn)擊:


  如何將上億人持續(xù)使用的電信IT平臺(tái)架構(gòu),從單套式架構(gòu)轉(zhuǎn)移到微服務(wù)架構(gòu),美國電信巨頭Verizon只花了60天,關(guān)鍵就是靠容器技術(shù)實(shí)現(xiàn)平移搬遷策略
  Verizon采取工作負(fù)載平移(Lift and Shift)策略,來進(jìn)行IT架構(gòu)大翻新。先將系統(tǒng)元件利用容器打包,部署在PaaS平臺(tái)上執(zhí)行,讓檔案及外部整合介面繼續(xù)在舊有平臺(tái)上執(zhí)行。圖片來源/Verizon
  早在15年前,Verizon就已經(jīng)開始著手?jǐn)?shù)位轉(zhuǎn)型,瞄準(zhǔn)改善通話品質(zhì)以及語音服務(wù)。這家在2016年?duì)I收1,260億美元、全美國使用人數(shù)1.14億人的美國電信巨頭Verizon,很早就開始翻新IT架構(gòu),采用現(xiàn)代化IT技術(shù),來取代舊有的大型主機(jī)架構(gòu)。
  對(duì)Verizon,現(xiàn)代化IT架構(gòu)有4大優(yōu)點(diǎn)。第一是應(yīng)用程式部署頻率增加,更能順應(yīng)市場(chǎng)變化。再者,當(dāng)系統(tǒng)停擺之時(shí),恢復(fù)正常運(yùn)作的速度也更快。第三是更新、翻修系統(tǒng)時(shí),可減少失敗的次數(shù),最后一項(xiàng)好處是縮短應(yīng)用程式交付時(shí)間。IT架構(gòu)能更有彈性,開發(fā)人員可以實(shí)驗(yàn)新功能,也為轉(zhuǎn)型奠定基礎(chǔ)。
  不過,要撐起超過1億人電信服務(wù)的IT架構(gòu),改變何嘗簡單,可預(yù)期的是投入大筆時(shí)間及金錢,卻無法預(yù)料隨之而來的風(fēng)險(xiǎn)及實(shí)際效益。即使如此,Verizon仍決定再一次翻新資訊架構(gòu),將這個(gè)花了十多年打造的單套式(Monolithic)應(yīng)用程式IT架構(gòu),轉(zhuǎn)移至微服務(wù)架構(gòu)。
  Verizon數(shù)位基礎(chǔ)架構(gòu)資深經(jīng)理Malik Sayed解釋,Verizon決定從入口服務(wù)搜尋服務(wù)VZSearch開始,作為導(dǎo)入微服務(wù)的切入點(diǎn)。雖然VZSearch只是一個(gè)基礎(chǔ)搜尋服務(wù),但是對(duì)旗下用戶體驗(yàn)卻有相當(dāng)重要影響,「不希望用戶因?yàn)樗褜すδ軣o法滿足其需求而聯(lián)絡(luò)客服人員!
  這個(gè)搜尋應(yīng)用程式就像許多傳統(tǒng)應(yīng)用程式,不僅是單套式架構(gòu),也建置在封閉商用軟體平臺(tái)上運(yùn)作。Malik Sayed表示,既有平臺(tái)為營運(yùn)帶來了三大挑戰(zhàn)。第一挑戰(zhàn)是應(yīng)用程式環(huán)境被綁死,即使現(xiàn)在已經(jīng)許多企業(yè)開始使用DevOps、敏捷開發(fā),該功能的開發(fā)人員還是得靠瀑布式開發(fā)流程,「這也讓Verizon的開發(fā)流程很難導(dǎo)入自動(dòng)化!顾硎。
  再者是難以利用云端帶來的便利,Malik Sayed表示,許多老舊應(yīng)用程式都有各自的固定IP位址,不能享受隨需水平擴(kuò)充功能外,想要更新應(yīng)用程式也很困難,「開發(fā)者必須將所有環(huán)境組態(tài)都調(diào)整為一致。」最后是應(yīng)用程式架構(gòu)在封閉平臺(tái)所帶來的封閉性,讓架構(gòu)轉(zhuǎn)型成云端原生應(yīng)用的任務(wù)經(jīng)常碰壁。
  Verizon決定從入口服務(wù)搜尋服務(wù)VZSearch開始,作為導(dǎo)入微服務(wù)的切入點(diǎn),肩負(fù)將這個(gè)應(yīng)用程式現(xiàn)代化任務(wù)的Verizon數(shù)位基礎(chǔ)架構(gòu)資深經(jīng)理Malik Sayed表示,在系統(tǒng)架構(gòu)翻修上,考慮成本及時(shí)間權(quán)衡,Verzion決定導(dǎo)入工作負(fù)載平移的革新策略,將此應(yīng)用程式劃分成各個(gè)微服務(wù),打包成容器后在OpenShift上執(zhí)行。
  靠容器解決軟體相依性,并改善硬體使用效率
  也因此,肩負(fù)這個(gè)應(yīng)用程式現(xiàn)代化任務(wù)的Malik Sayed,有許多重要目標(biāo)得完成。首先是減輕各軟體相依性,靠容器技術(shù)將各應(yīng)用程式可獨(dú)自運(yùn)作,「在搬遷到云端時(shí),不要花費(fèi)過多時(shí)間重新撰寫程式碼。」再者是加速開發(fā)流程的進(jìn)行。除了快速建立開發(fā)、正式環(huán)境,導(dǎo)入CI/CD工作流程,還要讓打造自助式IT服務(wù),增加開發(fā)人員的工作效率。
  同時(shí)還要改善資源使用效率,「正式環(huán)境80%時(shí)間都處于最小使用量,浪費(fèi)許多硬體資源,這是個(gè)嚴(yán)重的問題。」
  最后則是大幅度引入開源技術(shù),避免Verizon被特定廠商所綁死,降低應(yīng)用程式與基礎(chǔ)架構(gòu)相依性,加速應(yīng)用程式在公有云、私有云間的搬遷作業(yè)。
  3種架構(gòu)轉(zhuǎn)換方式,Verizon選擇平移策略
  在系統(tǒng)架構(gòu)翻修上,Verizon總共考慮過3種策略。第一種是將工作負(fù)載平移(Lift and Shift)到新平臺(tái)運(yùn)作,將系統(tǒng)元件利用容器打包,部署在PaaS平臺(tái)上執(zhí)行,讓檔案及外部整合介面繼續(xù)在舊有平臺(tái)上執(zhí)行。第一種策略的優(yōu)點(diǎn)在于,以不大型變動(dòng)為前提下,讓各個(gè)系統(tǒng)也能獨(dú)立進(jìn)行部署。
  第二個(gè)策略則是將現(xiàn)有系統(tǒng)重構(gòu)(Refactoring),不更動(dòng)舊有系統(tǒng),而是靠額外實(shí)作的應(yīng)用程式層補(bǔ)足新功能。但Verizon分析,老舊系統(tǒng)很難進(jìn)行些微更動(dòng),部分元件修改就會(huì)影響到系統(tǒng)整體架構(gòu)。最后則是整套系統(tǒng)重新開發(fā),舍棄掉舊功能,所有系統(tǒng)介面都得重寫。但此做法最大的問題在于,新平臺(tái)將不再獲得任何技術(shù)支援,而開發(fā)人員過去累積的能力等同歸零。同時(shí)這個(gè)策略,也會(huì)耗費(fèi)最多金錢及時(shí)間。
  考慮成本及時(shí)間權(quán)衡下,Verzion決定導(dǎo)入工作負(fù)載平移的革新策略,將此應(yīng)用程式劃分成各個(gè)微服務(wù),打包成容器后在OpenShift上執(zhí)行。
  而此搜尋應(yīng)用程式VZSearch重新架構(gòu)成微服務(wù)的過程,可以細(xì)分成3個(gè)關(guān)鍵步驟。首先,開發(fā)團(tuán)隊(duì)要將既有的應(yīng)用程式分別拆開,將其轉(zhuǎn)換成Docker容器以及Dockerfile。Verizon認(rèn)為,這個(gè)步驟耗費(fèi)最多功夫,必須大量花費(fèi)時(shí)間,重新定義容器映像檔每層的內(nèi)容,重頭開始替每個(gè)系統(tǒng)元件開發(fā)專屬的Dockerfile。
  將應(yīng)用程式劃分之后,就是一一部署至OpenShift平臺(tái)之上。值得注意的是,每一個(gè)應(yīng)用程式節(jié)點(diǎn)都部署了一個(gè)專屬容器。Verizon解釋,位在導(dǎo)入新技術(shù)的初期,必須讓內(nèi)部人員了解運(yùn)行容器的優(yōu)點(diǎn),「藉此加速業(yè)務(wù)的交付速度!棺詈笠粋(gè)步驟,就是讓Docker映像檔,轉(zhuǎn)換成相容OpenShift Pod的格式。在此,Verizon的作法是使用OpenShift提供的通用模板進(jìn)行編寫,「讓模板在專案開發(fā)中可被重復(fù)利用!
  靠容器實(shí)現(xiàn)自助式IT,部署時(shí)間從周縮短到秒
  雖然Verizon的微服務(wù)架構(gòu)從這個(gè)基本的搜尋功能起頭,總共花費(fèi)了2個(gè)月時(shí)間重新架構(gòu),不過Malik Sayed認(rèn)為,它的確達(dá)到最初所規(guī)畫的目標(biāo)。他表示,劃分各個(gè)系統(tǒng)元件部署在Docker容器中執(zhí)行,「帶來最大的好處是可以隨需建置系統(tǒng)環(huán)境!沽硗猓_發(fā)者也可以使用自助服務(wù),大幅降低基礎(chǔ)架構(gòu)的建立時(shí)間。Malik Sayed表示,在傳統(tǒng)應(yīng)用程式環(huán)境中,光是申請(qǐng)基礎(chǔ)架構(gòu),到最后完成建置,就必須花上1個(gè)禮拜至1個(gè)月,「現(xiàn)在只需要輕松點(diǎn)幾個(gè)按鍵,就能完成容器基礎(chǔ)架構(gòu)建置,這才是真正的隨需擴(kuò)充。」
  同時(shí),將系統(tǒng)切割成各獨(dú)立運(yùn)作的微服務(wù)后,也直接減低Verizon維持基礎(chǔ)架構(gòu)運(yùn)作的成本。在白天時(shí),基礎(chǔ)架構(gòu)需要調(diào)配更多資源應(yīng)付系統(tǒng)請(qǐng)求,反之,夜晚時(shí)只需要部分伺服器就足夠,「水平擴(kuò)充功能直接對(duì)營運(yùn)成本產(chǎn)生影響。」Malik Sayed表示。最后則是利用容器技術(shù),讓Verizon可以免除被特定廠商綁定的風(fēng)險(xiǎn),「容器讓我們可以跨云運(yùn)作。」
  在Verizon踏入微服務(wù)架構(gòu)的過程中,其中兩個(gè)關(guān)鍵是將系統(tǒng)劃分成各子系統(tǒng),并且利用容器打包,再者是利用外部廠商PaaS解決方案執(zhí)行容器,達(dá)到跨云運(yùn)作。Verizon表示,面對(duì)相異環(huán)境及應(yīng)用程式,導(dǎo)入容器化都不是件容易的事,「它有很多好處,但最初導(dǎo)入仍相當(dāng)是困難!
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專題