天天看點

羽絨服上雲、雲生暖意,波司登雲原生化探索 | 創新場景

作者:钛媒體APP
羽絨服上雲、雲生暖意,波司登雲原生化探索 | 創新場景
本文摘自《雲栖戰略參考》,這本刊物由阿裡雲與钛媒體聯合策劃。目的是為了把各個行業先行者的技術探索、業務實踐呈現出來,與思考同樣問題的“數字先行者”共同探讨、碰撞,希望這些内容能讓你有所啟發。

以羽絨服起家、深耕行業四十多年的波司登,正在從傳統企業轉向新零售,在業務表象之下,技術核心正在發生變化。

從行業特性來說,波司登疊加了服裝行業和羽絨服商品雙重特征——服裝制造業受消費者需求影響,需求會随時變化,這導緻商品SKU非常多,盤活庫存訂單非常重要,同時需要洞察消費趨勢,進行産品創新和疊代效率提升;其次,成本很容易受到上遊原材料影響,例如羽絨商品中僅羽絨一項的制造成本就占近一半,因設計款式、面料、長短、厚薄不同而帶來的種種要求,導緻人工造價成本較高。此外,羽絨服商品的特殊點在于其強周期性——基本一個冬天就會迎來整年的訂單銷售,然後再等到下一個冬天,這也導緻傳統企業資源計劃型的運作方式難以為繼。

除了在制造層面的挑戰,波司登在節日大促的高峰期會因為上億銷售額對系統形成極大的負載,總會遇到各種各樣的IT問題。老辦法或許能在下一次規避已經發生過的問題,但已經造成的損失卻無法掩蓋。從業務長期發展角度來看,需要一套具備高可靠性的新系統實作業務效率的提升和營收保障。

“上雲不是一個簡單更換伺服器的行為,而是架構重組的過程。坦率講,我們在2016年這件事情沒有做得很好,就是簡單了解成将程式搬到雲上而已。”波司登CIO李強指出。

經過近十年的雲上實踐,以及近兩年的大規模雲上重構,波司登清晰地意識到雲的價值。企業上雲,要考慮清楚整個系統的架構,包括業務、産品、資料、技術架構。隻有對系統架構進行重構,才能真正發揮雲和雲上配套工具的最大價值,這種性能和可靠性的提升,最終影響的其實是業務價值,對波司登是“超預期的”。

基于對用雲的成熟思考,在2021年與阿裡雲着手推進雲原生相關工作時,波司登就已經對雲如何推動數字化有比較深入的投入和長期規劃。從業務價值出發,擁抱雲原生,也讓波司登獲得了數字化程序中的最大紅利。

2023年,幾個重大促銷節點上,波司登系統首次實作零失誤。這是非常難得的,要知道,這次系統重構,不隻是在技術上獲得突破,更帶來了許多新的挑戰。

擁抱先進,原則與第一要務

波司登創始于1976年,專注于羽絨服的研發、設計、制作,是全球知名的羽絨服生産商。随着波司登數字業務的飛速發展,背後的IT技術也在不斷更新疊代。波司登極為重視客戶對服務的體驗,并将系統穩定性、業務功能的疊代效率、問題的快速定位和解決視為建構核心競争力的基石。過去,波司登自研了使用者營運平台、零售營運平台、商品營運平台等諸多垂直業務功能,在市場需求的快速變化下,産品功能創新和疊代效率問題成為對技術架構的一大挑戰。這些現狀的解法和雲原生架構帶來的核心能力不謀而合。

對于波司登而言,技術是否先進不是第一要務,關鍵是怎樣快速、超預期地滿足業務訴求。業務需要的是一套工具,基于這套工具,能夠培養自身的使用習慣。同時,也不會一味地追求所謂開源或業内領先,放棄已經跟業務端達成的這樣一套極高的默契和滿意度。

在技術選型上,波司登始終遵循着兩條原則。

一是全面擁抱開源開放的主流技術标準。如此可以確定技術方案的成熟度,更便捷地從開發者社群擷取技術資源和最佳實踐,也能夠幫助企業更好地招募技術人才。這樣的政策也避免了被封閉技術體系和特定雲廠商所捆綁。

二是盡可能利用雲計算的價值。将穩定性保障、底層技術實作、技術元件維護、彈性伸縮等非功能性需求盡可能交給雲廠商解決,讓技術團隊将更多的精力投入到業務創新上。

這兩條原則并不沖突,相反,它們之間可以非常好的融合,也值得所有使用雲計算的企業使用者借鑒。比如,Kubernetes是典型的滿足開源開放标準的技術标準,阿裡雲提供的Kubernetes産品可以簡化使用者的搭建成本,更好的與雲計算資源進行內建。同時使用者依然可以基于開源Kubernetes的标準協定與API使用雲産品,這就是互相融合的最好展現。

這兩條原則,也影響着波司登接下來對雲原生技術棧的改造:選擇開源容器編排标準Kubernetes,同時也會使用阿裡雲提供的容器服務ACK,以更好地跟雲計算進行內建;從基于Spring Cloud生态進行微服務拆分,到使用Spring Cloud Alibaba,并內建阿裡雲提供的商業化元件,以實作對微服務技術棧的統一重構。

在技術架構層面,波司登采用Spring Cloud Alibaba進行全面微服務化,并應用在阿裡雲容器服務ACK平台上。

擁抱容器,企業上雲新界面

正如集裝箱的出現加速了貿易全球化程序,以容器為代表的雲原生技術作為雲計算的服務新界面正在加速雲計算普及,推動着整個商業世界飛速演進。

對于容器的使用,波司登并不陌生,從2021年開始,波司登就開啟了微服務和容器化改造計劃,将IT系統的底座逐漸從虛拟機遷移到Kubernetes。通過使用阿裡雲已經實作一半以上業務平台的容器化部署,相關IT人員對容器排程也有一定程度的了解。“當你感受過容器帶來的便捷時,再也無法回到虛機的狀态。”波司登首席架構師方育華指出。

容器作為标準化軟體單元,它将應用及其所有依賴項打包,使應用不再受環境限制,在不同計算環境間快速、可靠地運作。

在過去幾年,容器技術獲得了越發廣泛的應用,三個核心價值最受使用者關注:靈活方面,容器技術提升了企業IT架構靈活性的同時,讓業務疊代更加迅捷,為創新探索提供了堅實的技術保障;彈性方面,在網際網路時代,企業IT系統經常需要面對促銷活動、突發事件等各種預期内外的爆發性流量增長;可移植性方面,容器已經成為應用分發和傳遞的标準技術,将應用與底層運作環境進行解耦,Kubernetes成為資源排程和編排的标準,屏蔽了底層架構差異性,幫助應用平滑運作在不同基礎設施上。

但自建Kubernetes叢集通常會有幾個問題。一是建設周期長,運維複雜:自建Kubernetes叢集涉及安裝、操作、擴充自有的叢集管理軟體、配置管理系統和監控解決方案,管理複雜;叢集更新需進行巨大的調整,運維負擔繁重。二是擴充性差,需根據業務流量情況人工确定容器服務的部署。三是可靠性無法保障,多采用單控制節點,一旦出現故障,叢集将不可使用,造成業務中斷。四是成本高、效率低。需自行搭建鏡像倉庫或使用第三方鏡像倉庫,鏡像拉取方式多采用串行傳輸,效率低;需投入大量資金來建構、安裝、運維、擴充叢集管理基礎設施,投入成本高。

在Kubernetes平台的選擇上,基于技術選型的兩條原則,波司登選擇了阿裡雲容器服務ACK。ACK以阿裡雲可靠穩定的IaaS平台為底座,向下封裝了30多款雲産品,形成了自動化運維和雲平台互動的新界面,進而提升企業業務系統的彈性和自動化運維能力。

與此同時,阿裡雲容器服務ACK提供了統一叢集管理能力,除了可以管理阿裡雲Kubernetes叢集之外,還可以納管使用者在IDC的自有Kubernetes叢集和其他雲的Kubernetes叢集。利用統一的控制平面實作多個叢集的統一的安全治理、可觀測性、應用管理、備份恢複等能力。比如利用日志服務、托管Prometheus服務,可以以無侵入的方式幫助使用者對線上、線下叢集有一個統一的可觀測性大盤。利用雲安全中心,應用高可用服務AHAS可以幫助客戶在混合雲的整體架構中發現并解決安全和穩定性風險。

基于容器服務ACK的易用性以及內建能力,波司登IT系統容器化改造工作比預想中的要順利得多。對于每一個業務系統而言,從虛拟機遷移到Kubernetes,僅僅是底層的承載發生了變化,不會涉及太多的改造成本。在關鍵的容器網絡實作上,容器服務ACK通過雲原生Terway網絡模式,直接基于阿裡雲的虛拟化網絡中的彈性網卡資源來建構容器網絡,将容器和虛拟機納入同一層網絡中,便于業務雲原生化遷移。這樣完全可以對傳統架構實作漸近式容器化改造,在不中斷業務的前提下一點一點地從虛拟機往Kubernetes上搬。

在容器化改造的過程中,波司登技術團隊可以第一時間從阿裡雲獲得最佳實踐指導,包括叢集規劃、平台運維、應用适配、安全防護、可觀測等多個方面,進一步提升了容器化改造的速度。

目前,波司登的自研系統已經100%基于Kubernetes。相比傳統的基于虛拟機部署方式,容器化幫助波司登在資源使用率上提升了30%,在運維效率上提升了40%。波司登的技術團隊也在容器化改造的過程中,掌握了管理超大規模Kubernetes叢集的能力,并促成了更多雲原生新技術的運用。

深度發揮雲原生價值

與容器化改造幾乎同步進行的是對微服務的治理。在雲原生時代,雲原生微服務體系将充分利用雲資源的高可用和安全體系,讓應用獲得更有保障的彈性、可用性與安全性。應用建構在雲所提供的基礎設施與基礎服務之上,充分利用雲服務所帶來的便捷性、穩定性,降低應用架構的複雜度。雲原生的微服務體系也将幫助應用架構全面更新,讓應用天然具有更好的可觀測性、可控制性、可容錯性等特性。

在此之前,波司登對單體架構進行了比較粗顆粒度的微服務化拆分,不同子產品之間通過網絡進行通信。本質上來講,這并沒有降低系統的複雜度,反而讓系統複雜度大幅度提升,在管理難度上也為開發者提出了更高的挑戰。

随着微服務架構的深入使用,波司登技術團隊遇到了兩個難題。

一是性能問題定位困難。随着業務規模的增長,對于每一個來自使用者的請求,鍊路變得越來越長,這也代表着應用之間的調用關系變得越來越複雜。傳統的依賴于單機業務日志的監控手段根本無從下手,這就需要建立全新的鍊路跟蹤機制,幫助開發者全面洞察系統運作狀态,并在系統遇到異常時快速定位和解決問題。

阿裡雲ARMS(Application Real-Time Monitoring Service,應用實時監控服務)提供了無侵入式方案實作微服務鍊路跟蹤,波司登把部署在容器服務ACK的微服務應用一鍵接入ARMS應用監控後,接下來要做的事情就主要是熟練掌握工具,并配合Prometheus/Grafana實作統一大盤,并利用報警平台實作事件閉環,ARMS也通過開箱即用的方式在雲上提供了相關工具。

二是應用變更頻繁造成事故。應用變更在大型微服務架構中,是極為頻繁的工作,包括新應用的上線、新版本的釋出、新配置的推送、應用擴容、應用縮容等等。微服務架構的複雜性以及業務的快速疊代,讓波司登技術團隊在每次應用變更中都疲憊不堪,因為絕大多數生産環境的事故都由應用變更導緻。這個難題不能簡單靠雲産品來解決,需要技術團隊深入剖析每一次事故的根因,針對性優化,并建立一整套安全變更的行政機制。

目前,波司登已經對影響較大的上下線有損和安全變更等問題進行深入探索,通過充分論證和快速決策,相繼接入阿裡雲MSE(MicroserviceEngine,微服務引擎)提供的注冊配置中心、雲原生網關和微服務治理。

通過治理,波司登的業務疊代頻率實作了兩倍以上的提升,因為應用變更導緻的生産事故降低了70%以上。此外,在全鍊路穩定性治理和彈性伸縮的幫助下,再加上頁面靜态化、請求攔截、資料隔離、異步處理等正常技術手段,波司登已經建立起在秒殺業務場景中支撐百萬級并發量的技術能力,并確定“雙11”活動過程系統的穩定運作。

如今,波司登雲原生能力還在進一步深化。2024年,波司登規劃與阿裡雲繼續探索包括對碼分層域導緻的不同系統之間的調用混亂問題的解決,以充分發揮雲原生能力。

本文摘自《雲栖戰略參考》總第16期

掃碼限時申領紙質版

↓↓

繼續閱讀