在阿里,咱們這樣幫助用戶實現業務雲原生化遷雲

 

 

「本文整理自阿里雲高級開發工程師郝樹偉(流生)在大會上的演講,獲取雲原生專場所有 PPT 合集請在阿里巴巴雲原生公衆號後臺回覆「724」」git

 

7 月 24 日,阿里雲開發者大會正式在上海世博中心召開,大會聚焦 IT 基礎設施雲化、雲數據庫、開源大數據、物聯網以及雲原生等主題,向數千位開發者分享了雲上開發的技術乾貨。github

 

雲原生的時代已經到來,雲原生技術正在重塑整個軟件生命週期,阿里巴巴是國內最先佈局雲原生技術的公司之一。數據庫

 

容器服務團隊在過去的幾年時間內幫助不少用戶成功把業務雲原生化並遷移上雲,其中有如今已是咱們 TOP10 的大客戶,也有須要在國內開展業務的海外用戶,有些是從其餘雲廠商遷移過來的用戶,有些是從 IDC 裏遷移上雲的用戶,並且愈來愈多的用戶開始諮詢如何對本身的應用作雲原生化改造、如何把業務平滑地遷移到雲上。安全

 

每一個用戶的業務場景都是不一樣的,有些差別化的業務場景對容器平臺也有一些定製化的需求,咱們在幫助這些用戶落實遷雲方案的同時也在不斷思考如何把這些案例中共性的東西作一些沉澱,總結出一些優秀的解決方案、最佳實踐以及開發一些工具來幫助用戶快速完成遷雲的這件事情。這些解決方案、最佳實踐以及遷雲工具就是今天這篇文章想要分享的內容。服務器

 

在幫助用戶落實遷雲方案以前,咱們首先必需要回答至少 3 個問題:網絡

  • (1)ACK(阿里雲容器服務 Kubernetes)如何能保證用戶業務的可靠性、穩定性、安全性和靈活性;
  • (2)如何設計遷雲方案把業務平滑地遷移到 ACK;
  • (3)應用如何作進一步改造來適配 ACK 提供的更強大的擴展能力。

 

ACK 如何保證用戶業務的多種特性

 

 

  • 首先,ACK 是以阿里雲可靠穩定的 IaaS 平臺爲底座的,有最大的彈性化與低廉成本和全球化接入的優點;

 

  • 其次,ACK 自己處於阿里雲的安全體系架構之下並從基礎設施到容器運行時環境對容器集羣有全維度的安全加固;過去幾年咱們很好地支撐了成百上千家大小企業的業務運行,有海量用戶經驗總結並通過雙11驗證;

 

  • 除此以外,ACK 是在標準的 Kubernetes 基礎上,對與用戶息息相關的能力作了大幅提高,用戶徹底不須要擔憂會被某一家廠商綁定。

 

 

在咱們過去幫助用戶業務上雲的案例中,絕大部分是自建 Kubernetes 集羣遷移到 ACK 集羣,與自建 Kubernetes 集羣相比較,ACK 在成本、彈性、IaaS 高度融合、性能、安全加固以及實踐經驗等方面都有很是巨大的優點。架構

 

 

另外,ACK 與阿里雲的全部 region 保持一致,除了國內多個區域開服外,在東南亞、中東、歐洲、美東美西都有開服,徹底能夠知足用戶開展全球業務的需求。運維

 

總體遷雲方案設計

 

用戶業務總體遷雲的方案設計會涉及到集羣規劃、數據搬遷、監控切換、日誌切換以及最終的生產流量切換或併網操做。ide

 

 

遷雲到 ACK 須要涉及到哪些組件、搬遷哪些數據、切換哪些服務等,都是須要用戶有清晰的概念的。工具

 

  • 首先須要作集羣規劃,用戶須要根據本身業務場景的不一樣來選擇不一樣的機器類型,好比 CPU 機器仍是 GPU 機器、好比虛擬服務器 ECS 仍是神龍裸金屬服務器、網絡規劃這部分會涉及到容器集羣基礎設施選擇vpc內網網絡仍是經典網絡、集羣內pod之間進行通訊模式是flannel模式仍是terway模式等;
  • 在容量規劃這部分,用戶能夠根據本身的成本以及預算,規劃一個可知足初期業務正常運行的容量便可,隨後能夠配置動態擴縮容隨時彈縮集羣規模;

 

  • 在安全防禦提高這部分,有基礎架構安全好比設置合理的安全組規則,有鏡像安全好比使用私有鏡像並定義鏡像安全掃描,K8S 應用安全管理好比設置不一樣服務間互相訪問的網絡安全策略等;
  • 監控切換這部分相對於用戶自建 Kubernetes 會更加全維度和立體,從基礎設施到容器運行時監控包羅萬象,並可根據閾值設定觸發報警通知。用戶通常也會把自建的日誌收集方案切換成阿里雲上企業級的日誌產品 SLS;
  • 數據遷移是很是重要的一部分,這些數據包括數據庫數據、存儲數據、容器鏡像等,咱們會對接阿里雲上企業級的粗出產品以及遷移工具,目的是爲了保證數據遷雲的可靠性、安全性;
  • 應用改造主要涉及的內容包括鏡像地址的更新、服務暴露方式的優化以及存儲盤掛載方式的更新適配;最後提供一個知足用戶快速迭代上線產品的 CICD 方案。

以上各個組件調試完畢後,咱們就能夠進行一部分生產流量的切換。從集羣規劃到生產流量切換即是用戶業務遷移上雲所須要涉及到的方方面面。

 

 

咱們提供了一個企業容器化生命週期模型,這個模型是根據時間階段和用戶側各個業務角色來劃分的:

 

好比業務架構師角色須要關心的是業務上雲能給公司帶來什麼價值,在 TCO 和場景上會帶來哪些優化,雲平臺在安全性以及計算、存儲、網絡能力上是否能知足當前業務需求;IT 架構師負責規劃當前業務須要的集羣容量和規模以及網絡選型等問題,剩下的就是系統管理員與應用管理員把遷雲方案的各個細節落實下來。

 

這個模型的主要核心關注點是讓用戶的業務上雲後能更穩定、成本更低、效率更高。

 

 

全棧遷雲架構思路分兩種:一種是總體遷移,一種是平滑遷移。

 

總體遷移是指用戶應用所有遷移上雲後,各個組件調試完畢、測試驗收經過後,能夠總體切換生產流量到線上集羣,待線上集羣上的業務穩定運行一段時間後再下線原有環境。

 

平滑遷移是指用戶可使用線上 ACK 集羣納管線下節點,或者線上集羣與線下集羣混合組網對外提供服務,逐步改造業務組件上雲後將原有環境下線。

 

這兩種方式相比,總體遷移更簡單,平滑遷移響度複雜但對業務影響小,因此也須要根據用戶的實際場景作選擇。

 

 

容器化總體遷雲這部分還有兩個小場景:

 

一個是用戶從自建 Kubernetes 集羣遷移到 ACK,此場景下用戶的應用已經作了很大一部分的雲原生化改造,遷移工做相對來講會簡單些;

 

還有一部分用戶的應用是傳統應用,直接運行在虛擬機或者裸金屬服務器上,沒有作過任何雲原生化的改造,對於這部分場景,咱們也提供了相關工具或方案幫助用戶進行雲原生化的遷雲改造,好比使用 derrick 項目能夠自動檢測源碼項目類型並生成 Dockerfile 和用於應用部署編排的 yaml 文件,好比咱們正在聯合 ECS SMC(遷雲中心)開發的虛擬機轉換容器鏡像並運行在 ACk 集羣中的能力。

 

 

爲了幫助用戶提升遷雲的效率,咱們也在持續積累和開源一些遷雲工具。

 

好比 ack-image-builder 爲用戶提供建立 ACK 集羣節點自定義鏡像的模板並經過校驗模塊檢查自定義鏡像是否知足 ACK 集羣要求;sync-repo 可以幫助用戶快速完成容器鏡像批量遷移至 ACR(容器鏡像倉庫服務)velero 可以幫助用戶快速把其餘雲廠商後者自建 Kubernetes 集羣下的完整應用遷移至 ACK 集羣。

 

[Velero遷移Kubernetes應用到ACK視頻DEMO](http://cloud.video.taobao.com/play/u/3300558962/p/1/e/6/t/1/232004050150.mp4)

 

 

在數據搬遷部分,可靠遷移是關鍵,根據用戶數據類型的不一樣,咱們會使用與之匹配的企業級遷移工具,好比數據在線遷移服務 DOMS,好比 OSS 的遷移工具,還有離線海量數據遷移方案閃電立方等。

 

 

數據、應用遷雲完成後,須要進一步適配監控、日誌等組件,待各個組件調試完畢經過驗收後,可使用智能 DNS 進行生產流量的切割。

 

應用改造和優化

 

 

對於應用改造和優化這部分,K8s 到 K8s 的場景下,須要優化的是去適配自動擴容等自建 K8s 不具有的那些能力,在傳統應用遷移到 ACK 的場景下,這部分的工做量會更大些,因此咱們針對這個場景也輸出了一些方案,好比相似於異地多活的方案,咱們把用戶傳統應用環境,一般是虛擬機或者裸機環境集成到線上 ACK 部署的 Istio 網格中,逐步改造應用直至業務所有切換到線上 ACK 集羣。

 

 

在應用逐步改造的這個過程當中,會涉及到應用如何容器化、網絡環境如何遷移以及數據遷移的問題。

 

應用容器化這個問題,咱們可使用前面我提到過的一個服務叫作 SMC 遷雲中心來完成虛擬機轉換爲容器鏡像的過程,網絡這部分能夠經過 iptables, External, CoreDNS PrivateZone 等方式對 IP 地址 DNS 域名作處理,保持原先的邏輯 IP 和域名不變,並經過 Istio 實現網絡虛擬路由和可觀測性的管理。

 

案例

 

典型案例以下圖所示:

 

 

接下來是部分遷雲案例:

  • 有對高性能網絡有特殊需求的用戶;
  • 有作深度學習相關業務對大規模GPU機器有需求的用戶;
  • 有要求裸金屬機型服務器的用戶等等。

 

ACK 雲原生化遷雲解決方案、混合雲 2.0 管理能力發佈

 

在雲原生場景實戰分論壇上,阿里雲容器服務 ACK 正式發佈雲原生化遷雲解決方案、混合雲 2.0 管理能力。

 

ACK 雲原生化遷雲解決方案

 

雲原生化遷雲解決方案旨在實現容器化總體遷雲。方案能幫助用戶快速完成遷雲方案評估、遷雲實施和生產流量切換,全面提高用戶業務的可靠性、安全性、靈活性並下降開發運維成本,爲用戶提供全方位保障,讓用戶聚焦業務創新。

 

ACK 混合管理能力 2.0

 

ACK 混合管理能力 2.0 提供了多維度統一能力,進一步減小開發者工做量:

 

  • 首先提供統一管理能力。能夠納管用戶 IDC 自有 K8s 集羣和各種 K8s 集羣,利用統一的控制平面實現統一的安全治理、應用管理和監控、日誌等能力。

 

  • 其次在統一的資源調度基礎上提供動態彈性能力。幫助客戶更好利用雲端計算資源實現彈性擴容,從容應對突發流量。

 

  • 最後是統一的服務治理能力。能夠實現就近訪問,故障轉移,灰度發佈等功能,配合阿里雲混合雲能力輕鬆支持支持雲容災、異地多活等應用場景。

 

不久前,阿里雲發佈了 Edge@ACK 雲邊端一體化的雲原生邊緣容器產品。在這次大會上,阿里技術專家詳細闡述了邊緣容器如何在阿里雲 CDN 落地。CDN 正在進行二次變革,從之內容分發服務爲主轉變爲邊緣計算,其節點通過改造後也可升級爲具有存儲、計算、傳輸、安全功能雲計算節點,造成處理高頻、高交互的海量數據的能力。

 

阿里雲 ENS 就是基於 CDN 的邊緣節點服務,在阿里雲看來:「雲原生」在雲邊端一體化時代將會發揮更大的價值。

相關文章
相關標籤/搜索