申通快遞雙11云原生應(yīng)用實(shí)踐


申通云原生化架構(gòu)的背景
采用云原生應(yīng)用架構(gòu)的訴求/驅(qū)動(dòng)力
唯快不破。這里的“快”有兩層含義,一是業(yè)務(wù)應(yīng)用快速上線,通過云原生技術(shù)可以做到快速上線部署;二是在業(yè)務(wù)爆發(fā)式增長的時(shí)候,對(duì)資源的需求要做到開箱即用。
穩(wěn)中求變。業(yè)務(wù)穩(wěn)定性永遠(yuǎn)是第一位。通過監(jiān)控埋點(diǎn),業(yè)務(wù)日志收集,鏈路監(jiān)控等手段保證了在快速迭代過程中業(yè)務(wù)系統(tǒng)的穩(wěn)定性。
節(jié)省資源。通過對(duì)計(jì)算資源的水位監(jiān)測,結(jié)合業(yè)務(wù)的峰值情況,當(dāng)發(fā)現(xiàn)資源利用率偏低采用降配規(guī)格及數(shù)量,降低整個(gè)資源的費(fèi)用。相比于一次性投入租建機(jī)房及相應(yīng)的維護(hù)費(fèi)用,使用公有云成本投入更低。
開拓創(chuàng)新。采用微服務(wù)架構(gòu),將之前臃腫的架構(gòu)進(jìn)行合理拆分,再結(jié)合容器編排的能力做到持續(xù)交付。讓企業(yè)成功轉(zhuǎn)型成為一家 DevOps 驅(qū)動(dòng)的公司。

申通云原生架構(gòu)歷程
1. 云原生化技術(shù)改造
1)程序代碼改造升級(jí)
應(yīng)用容器化
微服務(wù)改造
2)引入云原生數(shù)據(jù)庫方案
2. 云原生技術(shù)框架設(shè)計(jì)

整體架構(gòu)
基礎(chǔ)設(shè)施
流量接入?
3. 平臺(tái)選擇

測試、集成、預(yù)發(fā)、生產(chǎn)統(tǒng)一環(huán)境,打通 DevOps 閉環(huán)
天生資源隔離,機(jī)器資源利用率高
流量接入可實(shí)現(xiàn)精細(xì)化管理 ?
集成了日志、鏈路診斷、Metrics 平臺(tái)
統(tǒng)一 APIServer 接口和擴(kuò)展,天生支持多云跟混合云部署
4. 應(yīng)用服務(wù)層設(shè)計(jì)
5. 運(yùn)維管理

申通云原生應(yīng)用服務(wù)特點(diǎn)
1. API 接口
封裝 Kubernetes 管控 API
云原生業(yè)務(wù)系統(tǒng)
2. 應(yīng)用和數(shù)據(jù)遷移

3. 服務(wù)集成

服務(wù)集成闡述
日志服務(wù),通過集成日志服務(wù)方便研發(fā)人員方便定位業(yè)務(wù)及異常日志。
云監(jiān)控,通過集成監(jiān)控能力,方便運(yùn)維研發(fā)人員快速發(fā)現(xiàn)故障。
服務(wù)接入,通過集成統(tǒng)一的接入,整個(gè)應(yīng)用流量可做到精細(xì)化管理。
彈性伸縮,借助 ESS 的能力對(duì)資源進(jìn)行動(dòng)態(tài)編排,結(jié)合業(yè)務(wù)高低峰值做到資源利用率最大化。
4. 服務(wù)高可用

支持多可用區(qū)部署架構(gòu),由用戶自定義分配比例
容器集群內(nèi)故障遷移
AZ 故障整體容器遷移
5. 監(jiān)控


技術(shù)/應(yīng)用服務(wù)創(chuàng)新點(diǎn)
1. 從虛擬機(jī)到 Kubernetes
2. 基于 Terway 讓 Pod 和?ECS 網(wǎng)絡(luò)處于同等地位
不依賴 VPC 路由表,就能打通網(wǎng)絡(luò),節(jié)點(diǎn)規(guī)模不受路由表 Quota 限制
不需要額外為 Pod 規(guī)劃 Overlay 的網(wǎng)段
混合云專線打通也無需額外配置路由
可以直接將 POD 掛到 SLB 后端
性能高,相比于社區(qū)的 Flannel 提升至少 20%
3. 定義三套接入環(huán)境及三套業(yè)務(wù)環(huán)境

1)三套接入環(huán)境
公網(wǎng)接入:適合于跟外部客戶對(duì)接,通過統(tǒng)一的證書卸載,收斂公網(wǎng) IP 辦公網(wǎng)接入:適合于有敏感接口的對(duì)接,只允許指定源 IP 的請(qǐng)求,通過網(wǎng)絡(luò) ACL 讓整個(gè)應(yīng)用訪問更安全。 內(nèi)網(wǎng)接入:適合于業(yè)務(wù)之間及混合云架構(gòu)下 IDC 的業(yè)務(wù)調(diào)用云上應(yīng)用,內(nèi)部調(diào)用性能更高也更安全。
2)三套業(yè)務(wù)環(huán)境
測試環(huán)境:全部的云資源都是給測試環(huán)境使用,可以采用低配資源來滿足功能回歸測試。 預(yù)發(fā)環(huán)境:準(zhǔn)上線環(huán)境,連接生產(chǎn)環(huán)境的資源進(jìn)行發(fā)布前最后一次功能驗(yàn)證。 生產(chǎn)環(huán)境:實(shí)際運(yùn)行環(huán)境,接收真實(shí)流量處理業(yè)務(wù)請(qǐng)求。

應(yīng)用效益
1. 成本方面
2. 穩(wěn)定性方面
3. 效率方面
4. 賦能業(yè)務(wù)

總結(jié)和后續(xù)展望
1. 實(shí)時(shí)的彈性調(diào)度
2.?智能運(yùn)維和安全生產(chǎn)
3. 服務(wù)網(wǎng)格
?點(diǎn)擊屏末?|?閱讀原文?|?即刻學(xué)習(xí)