Verizon採取工作負載平移(Lift and Shift)策略,來進行IT架構大翻新。先將系統元件利用容器打包,部署在PaaS平臺上執行,讓檔案及外部整合介面繼續在舊有平臺上執行。圖片來源/Verizon

早在15年前,Verizon就已經開始著手數位轉型,瞄準改善通話品質以及語音服務。這家在2016年營收1,260億美元、全美國使用人數1.14億人的美國電信巨頭Verizon,很早就開始翻新IT架構,採用現代化IT技術,來取代舊有的大型主機架構。

對Verizon,現代化IT架構有4大優點。第一是應用程式部署頻率增加,更能順應市場變化。再者,當系統停擺之時,恢復正常運作的速度也更快。第三是更新、翻修系統時,可減少失敗的次數,最後一項好處是縮短應用程式交付時間。IT架構能更有彈性,開發人員可以實驗新功能,也為轉型奠定基礎。

不過,要撐起超過1億人電信服務的IT架構,改變何嘗簡單,可預期的是投入大筆時間及金錢,卻無法預料隨之而來的風險及實際效益。即使如此,Verizon仍決定再一次翻新資訊架構,將這個花了十多年打造的單套式(Monolithic)應用程式IT架構,轉移至微服務架構。

Verizon數位基礎架構資深經理Malik Sayed解釋,Verizon決定從入口服務搜尋服務VZSearch開始,作為導入微服務的切入點。雖然VZSearch只是一個基礎搜尋服務,但是對旗下用戶體驗卻有相當重要影響,「不希望用戶因為搜尋功能無法滿足其需求而聯絡客服人員。」

這個搜尋應用程式就像許多傳統應用程式,不僅是單套式架構,也建置在封閉商用軟體平臺上運作。Malik Sayed表示,既有平臺為營運帶來了三大挑戰。第一挑戰是應用程式環境被綁死,即使現在已經許多企業開始使用DevOps、敏捷開發,該功能的開發人員還是得靠瀑布式開發流程,「這也讓Verizon的開發流程很難導入自動化。」他表示。

再者是難以利用雲端帶來的便利,Malik Sayed表示,許多老舊應用程式都有各自的固定IP位址,不能享受隨需水平擴充功能外,想要更新應用程式也很困難,「開發者必須將所有環境組態都調整為一致。」最後是應用程式架構在封閉平臺所帶來的封閉性,讓架構轉型成雲端原生應用的任務經常碰壁。

圖片來源_iThome

Verizon決定從入口服務搜尋服務VZSearch開始,作為導入微服務的切入點,肩負將這個應用程式現代化任務的Verizon數位基礎架構資深經理Malik Sayed表示,在系統架構翻修上,考慮成本及時間權衡,Verzion決定導入工作負載平移的革新策略,將此應用程式劃分成各個微服務,打包成容器後在OpenShift上執行。

靠容器解決軟體相依性,並改善硬體使用效率

也因此,肩負這個應用程式現代化任務的Malik Sayed,有許多重要目標得完成。首先是減輕各軟體相依性,靠容器技術將各應用程式可獨自運作,「在搬遷到雲端時,不要花費過多時間重新撰寫程式碼。」再者是加速開發流程的進行。除了快速建立開發、正式環境,導入CI/CD工作流程,還要讓打造自助式IT服務,增加開發人員的工作效率。

同時還要改善資源使用效率,「正式環境80%時間都處於最小使用量,浪費許多硬體資源,這是個嚴重的問題。」

最後則是大幅度引入開源技術,避免Verizon被特定廠商所綁死,降低應用程式與基礎架構相依性,加速應用程式在公有雲、私有雲間的搬遷作業。

3種架構轉換方式,Verizon選擇平移策略

在系統架構翻修上,Verizon總共考慮過3種策略。第一種是將工作負載平移(Lift and Shift)到新平臺運作,將系統元件利用容器打包,部署在PaaS平臺上執行,讓檔案及外部整合介面繼續在舊有平臺上執行。第一種策略的優點在於,以不大型變動為前提下,讓各個系統也能獨立進行部署。

第二個策略則是將現有系統重構(Refactoring),不更動舊有系統,而是靠額外實作的應用程式層補足新功能。但Verizon分析,老舊系統很難進行些微更動,部分元件修改就會影響到系統整體架構。最後則是整套系統重新開發,捨棄掉舊功能,所有系統介面都得重寫。但此做法最大的問題在於,新平臺將不再獲得任何技術支援,而開發人員過去累積的能力等同歸零。同時這個策略,也會耗費最多金錢及時間。

考慮成本及時間權衡下,Verzion決定導入工作負載平移的革新策略,將此應用程式劃分成各個微服務,打包成容器後在OpenShift上執行。

而此搜尋應用程式VZSearch重新架構成微服務的過程,可以細分成3個關鍵步驟。首先,開發團隊要將既有的應用程式分別拆開,將其轉換成Docker容器以及Dockerfile。Verizon認為,這個步驟耗費最多功夫,必須大量花費時間,重新定義容器映像檔每層的內容,重頭開始替每個系統元件開發專屬的Dockerfile。

將應用程式劃分之後,就是一一部署至OpenShift平臺之上。值得注意的是,每一個應用程式節點都部署了一個專屬容器。Verizon解釋,位在導入新技術的初期,必須讓內部人員了解運行容器的優點,「藉此加速業務的交付速度。」最後一個步驟,就是讓Docker映像檔,轉換成相容OpenShift Pod的格式。在此,Verizon的作法是使用OpenShift提供的通用模板進行編寫,「讓模板在專案開發中可被重複利用。」

靠容器實現自助式IT,部署時間從周縮短到秒

雖然Verizon的微服務架構從這個基本的搜尋功能起頭,總共花費了2個月時間重新架構,不過Malik Sayed認為,它的確達到最初所規畫的目標。他表示,劃分各個系統元件部署在Docker容器中執行,「帶來最大的好處是可以隨需建置系統環境。」另外,開發者也可以使用自助服務,大幅降低基礎架構的建立時間。Malik Sayed表示,在傳統應用程式環境中,光是申請基礎架構,到最後完成建置,就必須花上1個禮拜至1個月,「現在只需要輕鬆點幾個按鍵,就能完成容器基礎架構建置,這才是真正的隨需擴充。」

同時,將系統切割成各獨立運作的微服務後,也直接減低Verizon維持基礎架構運作的成本。在白天時,基礎架構需要調配更多資源應付系統請求,反之,夜晚時只需要部分伺服器就足夠,「水平擴充功能直接對營運成本產生影響。」Malik Sayed表示。最後則是利用容器技術,讓Verizon可以免除被特定廠商綁定的風險,「容器讓我們可以跨雲運作。」

在Verizon踏入微服務架構的過程中,其中兩個關鍵是將系統劃分成各子系統,並且利用容器打包,再者是利用外部廠商PaaS解決方案執行容器,達到跨雲運作。Verizon表示,面對相異環境及應用程式,導入容器化都不是件容易的事,「它有很多好處,但最初導入仍相當是困難。」


Advertisement

更多 iThome相關內容