噹噹網架構部總監史海峰表示,一家電商要有好的基礎架構,才能夠支撐更上層的應用,讓系統可以快速開發、上線及自動部署,以及保持高可用,而不是每次開發新系統,就得全部從底層開始。(圖片來源/iThome)

五億本線上圖書銷售、上億本數位書本下載、破千萬本電子書借閱、平均系統每天得處理20萬筆用戶訂單、更有100多套系統同時運作,這是噹噹網500人IT團隊2015年所面對的龐大IT考驗,噹噹網架構師史海峰明白點出解決關鍵得靠底層的電商基礎架構來支撐,才能夠做到自動化IT管理和維運,來因應爆量的網路訂單需求,甚至快速開發新服務或應用上線部署。

中國最大規模的網路書商,去年線上交易賣出5億冊

噹噹網是目前中國最大規模的一家網路書商,更有中國亞馬遜之稱,光是2015年就賣出5億本書冊,占大陸線上圖書銷售量半數,數位書籍下載量更破億本,而且噹噹網不只賣電子書也賣服飾、3C、生活用品等,更設有電商平臺提供租用,至今已有超過了1.4萬家商家進駐,2010年更成為大陸首家在美國上市的中國電商,日前噹噹網架構部總監史海峰來臺時也分享了他們如何打造自家基礎架構的關鍵。

「基礎架構就是大陸俗稱的『鐵公基』(指鐵路、公路、機場等重大基礎設施建設)。」史海峰表示,基礎架構通常跟業務不直接相關,所以很多公司的技術人員往往優先處理業務面的需求,而導致基礎底子一直沒有固好,甚至多數新進員工在選擇要做業務系統還是底層系統時,往往會優先選擇開發業務系統,如交易、支付系統等,導致在基礎架構上維運人力的不足。

但史海峰明白指出,一家電商要有好的基礎架構,才能夠支撐更上層的應用,讓這些系統或應用可以快速開發、上線及自動部署,而不是每次開發一個新系統或應用,就得要全部從底層開始架起。一旦基礎沒打好時,無法透過現有基礎平臺來支撐,不只建置新系統要耗費更多時間,更容易延誤系統上線的時程,還會影響系統本身穩定度和可用性。

有好的基礎架構,才能夠撐起更上層的應用

史海峰表示,建立好的基礎架構,不只能將業務程式與框架、平臺隔離,避免新進人員開發新系統而影響到底層架構,也能提供系統的可控性,可以因應網路需求,來調度系統資源。此外,噹噹網過去由於業務需求優先於架構優化,使得新系統的開發容易過於倉促,而衍生了不少調校、安全方面問題,而透過強化基礎架構,也能夠用來降低這些技術債,來提高管理效率。

史海峰將電商基礎架構分成上、中、下3層,其中最底層是最基礎的設施,例如硬體、網路、公有雲、私有雲、系統監控、操作系統等,而中間層則是應用管理層,包括了權限管理、效能管理、流程管理、日誌、應用監控等,至於最上層則是PaaS服務平臺,包括大數據、快取平臺、業務監控、搜尋引擎等。「這些都是一個成熟的大型系統不可或缺的元件 。」他說。

以噹噹網來說,目前負責維運的業務核心系統,包括有商品管理、客戶管理、支付、訂單等系統,來處理各種電商業務,還提供一個電商開放平臺,可以支援商家入駐,對外開放API。商家可以通過API介接,自動管理商品、行銷、價格和庫存,以及訂單處理。此外噹噹在全中國設有10多個物流倉庫據點,各倉庫之間的貨品調度,也都需要透過系統來串接,這些大大小小的系統加起來總數超過100多個,系統相當龐雜,「要維持這些系統能提供全天24小時的穩定服務,並且功能都不能出錯,對於IT挑戰也就越大。」他說。

不僅如此,近年來,舉辦大型促銷活動已成為中國每家電商的常態促銷專案,如淘寶的雙11,天貓的雙12等。史海峰表示,噹噹網每年也會定期舉辦大型書籍促銷活動,但過去時常發生訪客爆量,流量太大,系統扛不住而導致很多人都無法登入的情況,因此如何提供監測機制,來調度系統資源,達成更好的擴充彈性,以因應瞬間爆量需求,也成為了噹噹IT團隊不得不解決的事。「這些問題得要從基礎架構才能解決。」史海峰說。

靠基礎架構來穩定系統、更快速交付到生產環境

史海峰表示,打造基礎架構,採用的技術厲不厲害不是重點,重要的是確保系統穩定、如何快速交付到生產環境才是關鍵。以噹噹網的部署架構來看,他指出,目前有上千臺資料庫伺服器用於數據儲存和管理,其中MySQL 、SQL Server做為中繼資料(Metadata)的管理,還根據了不同場景使用了資料倉儲軟體Greenplum和MongoDB資料庫;他們自行開發一套資料庫管理系統,來提供這上千個資料庫的統一管理,即時掌握每個資料庫的使用狀況,例如儲存空間不夠用,優先權限分配等,

而在維運工具平臺化上,噹噹網則採用了一個Redis快取叢集管理平臺,來提供統一的維運管理機制,能做到以系統化方式,來管理資源、各節點,以及統一快取版本,來簡化維運複雜度。另外他們也建置了一個自動化維運部署平臺,能夠幫助維運人員或開發測試人員,透過單一系統執行大量自動發布,並也能夠統一備份和進行灰色發布(Gray release)──類似A/B Test的分群測試新版本作法。

噹噹網架構部總監史海峰將電商基礎架構分成3層,其中最底層是最基礎的設施,如硬體、網路、公有雲、私有雲、系統監控等,而中間層則是應用管理層,如權限管理、效能管理、流程管理、日誌、應用監控等,最上層則是PaaS服務平臺,包括有大數據、緩存平臺、業務監控、搜尋引擎等。

打通產品生命周期的關鍵是在基礎管理

此外,在基礎管理方面,史海峰指出,基礎管理是打通產品生命周期的關鍵,這些基礎管理包括了專案(Project)管理(如專案流程、敏捷開發)、自動化部署(如多環境部署、自動備份)、監控示警(如服務調用監控、自動化警示),以及問題追蹤(如超時自動升級或業務報單追蹤處理)。他並提到,整個技術部門都是通過專案來驅動,甚至若是擔任一名公司CTO,他認為必須要做到兩件事,「第一是專案、第二才是架構。」因為他說,相較於架構是讓你知道哪些底層技術需要打通,而專案則是讓你可以把所有產品生命周期串連起來。

以專案管理來看,史海峰的技術團隊自行開發了一套PDLC開發流程管理工具,來串聯起從需求、產品、開發、測試到部署上線的整套流程,能提供個人管理、專案管理、團隊資源管理和工具及報表等整合功能,並支援敏捷看板,例如能查看所有技術部門或任一部門的組織結構及負責產品線,主管也可以經由此工具隨時追蹤每個專案的花費成本,「很多中國公司都是靠人來管理,不像我們是用系統來管。」他說。

另外在監控方面,原本噹噹網過去採用的基礎監控工具Nagios管理不易,後來改用了一個專門管理系統的基礎監控工具Zabbix,來提供簡單監控功能,如CPU、硬碟、網路等,從這些蒐集到的數據來了解維運情況。對於應用監控,則自行開發了APIMonitor和Radar,進行SOA服務監控及探測試監控,並串接問題跟蹤系統Tracker,以用於預警和跟蹤。

不只是強化底層基礎管理、應用監控,噹噹網的技術團隊更在2014年利用開源分散式服務框架Dubbo,來打造了自家的SOA服務框架DubboX, 可以支援RESTful Remoting和Kryo/FST序列化等應用。

另外去年也設計了一個基於Java的應用框架DDframe,目前這個新框架已用於噹噹網的支付、配貨、訂單運算中心等系統。並將DDframe其中一個作業元件拓展成為採用Mesos的分散式作業管理框架Elastic-Job,來實現任務的彈性調度。甚至還搭建一個開源輕量級的資料庫分表中間件Sharding-JDBC,來支援TMS運輸管理系統每天20萬筆增長的訂單數據儲存,以及WMS倉儲管理等的使用。

熱門新聞

Advertisement