台灣新蛋IT總監劉人豪

公有雲服務當道,彈性擴充的按需計價服務開始成為大企業節省基礎架構成本的手段,不過公有雲支出是否真較私有雲便宜,還是得按照企業應用型態而定,才能既符合自家需求又能降低成本。像是年營收臺幣千億元規模的美國電商新蛋(Newegg)就兩者併用,在美國總部將核心的電商系統基礎架構建置於IDC機房,但海外據點,如台灣新蛋在臺電商網站新蛋全球生活網,就看上Azure SQL資料庫較自建SQL Server實體主機可以節省近一半的成本,在2016年3月臺灣網站就從本地環境搬上了微軟Azure公有雲。

不過,台灣新蛋負責開發的另一套檔案管理App稱為NeweggBox,卻採取了不一樣的做法,反而將App的後端系統,從公有雲搬到了臺灣IDC內的自建OpenStack私有雲環境,主導整個轉移過程的關鍵人物,正是台灣新蛋IT總監劉人豪。

早在2015年初,台灣新蛋就將NeweggBox後端系統部署在AWS公有雲服務上,劉人豪表示,看上AWS的原因在於,不僅環境組態設定方便,平臺也提供了許多服務API,開發人員不需要獨立開發,只需要串接不同的API即可使用,可以減少開發時間。但是導入AWS一年之後,台灣新蛋發現營運成本越來越高。劉人豪解釋,早期開發階段中,必須建立多個VM來執行不同的功能,如儲存系統中介資料(Metadata)、運作前端Web Server需求。他表示,初期系統規模不大,而隨著新功能推出,架構逐漸成形後,所需要的VM數量就越來越多。

此外,在NeweggBox還尚未正式推出時,開發團隊可以限制需要的VM數量,來控制雲端費用的額度,但是因臺灣新蛋IT架構中,劃分成開發環境、半正式環境(Pre-Production)及正式環境等三種部署環境,服務上線後,VM用量也會增加,讓NeweggBox在AWS的運作成本提高。若以可支援2千萬名用戶規模來估算5年租用AWS服務的成本,劉人豪表示,至少需要8千萬元。

但若改用VMware或微軟商用私有雲解決方案,以台灣新蛋的未來用量,也要負擔高昂的授權費,因此,因此,新蛋高層開始思考,能否有其他替代方案,後來決定導入免授權費的OpenStack平臺Liberty版本,自己來建置一套私有雲。

原本台灣新蛋導入公有雲服務,就是不想介入太多維運工作,將資安、硬體、線路等維運工作外包給廠商解決。但是,除了成本考量,劉人豪也發現了使用公有雲提供基礎架構的一些缺點。他舉例,台灣新蛋部分IT服務必須靠24小時運作的VM運作,某些服務則是靠隨需擴充的VM執行,因此AWS針對不同使用情境,各有其專屬的計費方式。想要清楚估算整體服務的維運成本,不是一件容易的事。

公有雲服務計價機制還不夠透明

但是,劉人豪認為,AWS計費機制還不夠透明,「AWS每月寄送的電子帳單沒有提供太多細節,企業該要如確定使用量?」像是系統當機、維護的過程中,是否也被列入計費範圍中。此外,企業也應查驗系統紀錄,比對它與AWS帳單的使用紀錄是否一致,「但是開啟AWS進階的監控服務,又得支付額外的費用。」這都讓雲端服務的成本控制更加複雜。

難以掌握公有雲硬體的使用情況

此外,使用公有雲服務,IT團隊也較難掌握硬體的使用狀況。劉人豪表示,AWS曾因維運作業,通知IT團隊其服務可能受影響。但他發現,儀表板上的某臺VM出現警示紅燈,「無法確定究竟是我們的服務故障,還是AWS的維運工作導致。」他認為,IT團隊很難掌握實體設備、VM的狀況,最後只好選擇重新啟動VM。事後,透過美國總部向AWS反應,才得知原來廠商的實體伺服器故障必須進行汰換,導致服務故障。除了導入公有雲日漸提升的成本,這些使用的不方便,也間接讓新蛋決定自建OpenStack私有雲。

導入穩定版本OpenStack比較有保障

不過,OpenStack每半年推陳出新的改版步調,讓許多企業望而卻步。劉人豪表示,目前市面上還沒有一套完善的OpenStack套裝產品,讓企業可以無縫接軌升級新版本,因此每一版本的使用期限,也是台灣新蛋在思考的問題。他表示,決定採用後,儘管當時OpenStack即將推出Mitaka版本,但是考量前一個Liberty版本已經累積較多使用經驗及社群文件,為求穩定,台灣新蛋還是決定導入Liberty版本。他認為,即便使用較舊的版本,未來只要沒有資安疑慮、嚴重Bug,或是新版還沒釋出重大新功能,台灣新蛋都還是會維持在Liberty版本上運作。

一旦碰上非更新不可的情況,劉人豪也已經想好了未來的升級策略,他表示,台灣新蛋會採用平行轉移的方式進行更新,首先建立出一套最基本的OpenStack架構,再慢慢地遷移叢集上運作的VM、儲存元件。

靠系統中間層2周完成部署任務

但是,如何無痛轉移這個已經開發了一年的應用系統卻是一大挑戰。劉人豪去年4月接到新蛋總部指示後,馬上率領團隊旋緊發條,分析既有AWS的架構中的各個服務,例如AWS RDS、AWS SQS(Simple Queue Service)、AWS CloudSearch,都得找到對應的開源模組,之後IT團隊就開始模仿原有服務在AWS上運作的系統架構,來打造各自對應的Gateway層,這是用來串接AP服務和後端IaaS間的系統中間層。

如此一來,上層Ap服務都是直接介接Gateway層,而不需與底層服務直接串連,未來就算底層基礎架構還要改用其他IaaS或另一套私有雲,也不需要重新大幅修改程式碼,只要重新增加Gateway層對新環境的串聯機制即可。

花了3個月時間,終於在6月時完成了搬遷準備,並將轉移計畫提交到美國總部,高層審核後拍板定案,臺灣團隊在7月時,按照規畫開始部署OpenStack,將部署在AWS上的NeweggBox各項服務,透過中間層改介接至OpenStack的各開源元件,只花了2周時間,就完成了所有的遷移任務,「最痛苦的回憶就是三天三夜都在待在IDC機房內工作。」

最後還得測試這些開源工具,能否滿足未來5年新蛋成長的需求,劉人豪表示,目前這個OpenStack私有雲已經通過內部壓力測試,可以同時承受1百萬人同時傳送檔案的工作負載,而應付當前的使用規模,大約需要200臺VM。根據台灣新蛋的評估,NeweggBox專案未來5年改用自建私有雲的成本,可以下降到約2千多萬元,比起原本預估採用AWS時近8千萬元的預估費用,自建私有雲的「成本減低了7成以上。」劉人豪表示。

在設計新OpenStack架構時,「組態設定就是遵循正式環境的水準設計,將開發環境視同正式環境。」劉人豪表示,新蛋的IT環境總共可以分為開發環境、半正式環境及正式環境。開發人員未經許可,不得接觸半正式、正式環境。在開發團隊推出新功能時,也會經過軟體測試工程師(SQA)的測試,確認功能無誤,不會影響正式環境運作後,基礎架構團隊才會將新功能推上線,「一旦測試工程師發現有Bug,新功能就不可進入正式環境。」

提高Controller節點數,增加容錯度

不過,在OpenStack上線運作後,IT團隊不免也會碰到實際的維運問題。起初新蛋只有建置3個OpenStack Controller節點,在OpenStack的設計中,Controller節點掌管了包含伺服器、資料庫、儀表板及監控系統等元件間的通訊。

劉人豪表示,最初新蛋只有部署3個Controller節點,但某天突然發現,運作在OpenStack上的VM出現異常,即使位在同一個網段內,彼此卻失去互相連線的能力,經過清查後才發現一個Controller節點故障,剩餘的兩個Controller節點則各自為政。後來IT團隊得核對儲存比對2剩餘兩個Controller節點儲存的資料,重建一份完整數據,在關閉其中1個節點後,才重新恢復為3個Controller節點的設定。後來資訊團隊也與高層建議,3個Controller節點還不足應付正式環境需求,「必須要增加到5臺,才能提高系統的容錯度。」另外,台灣新蛋部署環境採用開發、半正式和正式環境三階段的做法,在運作OpenStack後也帶來了麻煩。劉人豪解釋,在這3個相異環境內,內網的IP位址都一樣,當VM運作出現異常時,無法鎖定它位於哪個環境運作。雖然新蛋IT團隊曾想過透過蒐集系統Log資訊,記錄每臺VM的運作狀況,但劉人豪認為,如此作法過於複雜。因此IT團隊想到的解法,就是在每個環境中都部署1臺監控VM,蒐集各環境中其他VM的運作情況,再回傳至中控中心,例如新蛋設置24小時運作的NOC,目的是監控新蛋全球的服務、伺服器是否正常運作,「這些監控VM就會回傳資料給NOC。」

不只OpenStack,新蛋也開始嘗試Docker

不只OpenStack,今年新蛋美國總部也開始引進Docker,嘗試利用容器技術取代VM運作部分服務。Docker的優勢在於,利用微服務架構作為基礎,針對不同的系統服務進行水平擴充,而許多新創公司並沒有過去傳統IT架構的包袱,自然可從微服務、雲端原生的架構著手,Docker也順理成章變成新創快速成長的利器。劉人豪表示,從去年底開始,新蛋已經陸續引進Docker相關的教育訓練,「新蛋十分願意嘗試新興技術。」

 

 CIO小檔案 

劉人豪

台灣新蛋IT總監

學歷:淡江大學資訊管理學系

經歷:曾在臺灣智慧卡、浩鑫以及階梯數位科技任職,2016年3月將新蛋全球生活網搬遷至微軟Azure後,同年7月更將NeweggBox專案從AWS公有雲服務遷移下線至自建OpenStack私有雲,現階段也開始引入容器技術Docker相關教育訓練

 公司檔案 

台灣新蛋

● 地址:臺北市內湖區內湖科技園區瑞光路513巷31號10樓

● 成立時間:2001年

● 主要業務:專攻電子商務,在美國、加拿大、中國及臺灣都有分部

● 總部:美國加州

● 員工數:2,400人

● 資本額:1.33億元

● 年營收:1,100億元

● 董事長:張法俊

● 總經理:詹家琛

 

 資訊部門檔案 

● 資訊部門主管職稱:IT總監

● 資訊部門主管姓名:劉人豪

● 直屬主管:總經理

● 資訊部門人數:29人(臺灣區)

 

 IT部門大事紀 

● 2001年:新蛋成立

● 2004年:在臺灣成立全球產品管理中心

● 2008年:新蛋加拿大分站開始營運

● 2009年:新蛋B2B平臺上線

● 2015年:新蛋全球生活網在臺正式營運

● 2016年:新蛋全球生活網搬遷至微軟Azure運作

● 2016年:NeweggBox專案內部OpenStack私有雲上線

● 2016年:開始引入Docker容器技術教育訓練


Advertisement

更多 iThome相關內容