作者簡介
張應(yīng)羅,SUSE 資深架構(gòu)師,擁有 16 年架構(gòu)咨詢工作經(jīng)驗,專注于 SUSE Enterprise Container Management 相關(guān)的產(chǎn)品落地方案及咨詢方案設(shè)計。
—— 平臺工程 ——
“DevOps 已死,平臺工程才是未來!” 去年,知名軟件工程師兼 DevOps 評論員 Sid Palas 在推特上發(fā)出吶喊。
他的核心觀點(diǎn)是:開發(fā)者不想跟基礎(chǔ)設(shè)施打交道,企業(yè)在發(fā)展過程中又需要控制自己的基礎(chǔ)設(shè)施;只有平臺工程,能將這兩個相互矛盾的命題統(tǒng)一起來。這一觀點(diǎn)引發(fā)了開發(fā)者們的激烈討論,平臺工程正在崛起。
簡單為大家介紹一下平臺工程(Platform Engineering)的概念。?
平臺工程的發(fā)展背景
- 軟件在不斷演進(jìn)過程中將運(yùn)維技能從開發(fā)技能中剝離出來,形成了兩個不同的職業(yè),但結(jié)果證明過度分離的兩個職業(yè)無法滿足軟件快速迭代的需求,因此 DevOps 出現(xiàn)了,我們用它來統(tǒng)一運(yùn)維及開發(fā)。開發(fā)周期是一個企業(yè)最稀缺的資源,因此應(yīng)該將盡可能多的資源放在核心產(chǎn)品開發(fā)上。
- 開發(fā)人員應(yīng)該能夠端到端地部署和運(yùn)行他們的應(yīng)用。“誰構(gòu)建,誰運(yùn)行”才是真正的 DevOps,但并不是所有的公司都是 google、亞馬遜、微軟,大多數(shù)公司都沒有像他們那樣的人才庫,也不會僅僅為了優(yōu)化開發(fā)工作流和體驗而像他們那樣投入資源。
- 在過去,有的工程師寫代碼,有的工程師跑代碼。而現(xiàn)在,工程師不僅編寫代碼,還要運(yùn)行他們編寫的代碼。這讓軟件工程師覺得他們必須對所有事情都了如指掌,大大增加了認(rèn)知負(fù)擔(dān)。
- 這迫使許多團(tuán)隊重新在自動化帶來的自由與認(rèn)知負(fù)擔(dān)之間權(quán)衡利弊,平臺工程也因此越來越受關(guān)注和熱議。Gartner 在 2022 年 8 月發(fā)布的軟件工程成熟度曲線中添加了“平臺工程”。
平臺工程的定義
- “平臺工程”社區(qū)主要貢獻(xiàn)者及 Humanitec 產(chǎn)品負(fù)責(zé)人 Luca Galante 在《什么是平臺工程》的文章里指出:平臺工程是一門設(shè)計和構(gòu)建工具鏈與工作流的學(xué)科。這些工具鏈和工作流可以為云原生時代的軟件工程組織提供自助服務(wù)功能。平臺工程師提供集成化產(chǎn)品,通常稱為“內(nèi)部開發(fā)人員平臺”,可以涵蓋應(yīng)用程序整個生命周期的所有操作需求。
- 內(nèi)部開發(fā)人員平臺由平臺工程團(tuán)隊構(gòu)建,用于鋪好坦途以此來支持開發(fā)人員自助服務(wù)。內(nèi)部開發(fā)人員平臺由許多不同的技術(shù)和工具組成,以一種降低開發(fā)人員認(rèn)知負(fù)擔(dān)的方式組合在一起,無需抽象出上下文和底層技術(shù)。平臺工程團(tuán)隊將他們的平臺視為一種產(chǎn)品,根據(jù)用戶研究對其構(gòu)建,并不斷維護(hù)和改進(jìn)。
Kube.NETes 在平臺工程中扮演的角色
- 無論內(nèi)部開發(fā)人員平臺的工具鏈有多么豐富,在云原生時代,Kubernetes 已然成為應(yīng)用落地部署的最優(yōu)選擇。平臺工程承載了應(yīng)用迭代和部署驗證的重任,需要建立提供面向 Kubernetes 的彈性能力。
—— Rancher Prime ——
為平臺工程體系提供強(qiáng)有力支撐
Rancher Prime 的混合云 K8s 管理能力
Rancher Prime 研發(fā)之初的核心理念就是多云管理,因此,產(chǎn)品進(jìn)化至今,在歷經(jīng)近上千個 release 后,Rancher Prime 在多云多 K8s 集群管理領(lǐng)域已然遙遙領(lǐng)先,可以隨時隨地管理和部署任意位置的 K8s 集群。
Rancher Prime?
- Rancher Prime 支持對國內(nèi)頭部公有云廠商的 K8s 發(fā)行版進(jìn)行全生命周期管理,包括阿里云 ACK、騰訊云 TKE、華為云 CCE。
- Rancher Prime 支持對國際頭部公有云廠商的 K8s 發(fā)行版進(jìn)行全生命周期管理,包括 AWS EKS(Global Region 及 China Region)、Azure AKS(Global Region及China Region)、Google GKE。
- 在私有數(shù)據(jù)中心場景下,Rancher Prime 可以創(chuàng)建經(jīng)過 CNCF一致性認(rèn)證的 K8s 發(fā)行版 RKE 和 RKE2,幫助客戶快速落地生產(chǎn)級別的 K8s 集群。
- 在邊緣計算場景下,Rancher Prime 可以創(chuàng)建輕量級 K8s 發(fā)行版 K3s,并且支持 X86 和 ARM 兩種架構(gòu)。
Rancher Prime 面向多集群的中心化多租戶體系
Rancher Prime 具備一套成熟的面向多集群的中心化多租戶體系,可以輕松抽象用戶訪問權(quán)限。這為平臺工程內(nèi)的開發(fā)人員提供了良好的隔離環(huán)境,讓他們可以靈活使用自己的開發(fā)環(huán)境,而不影響其他開發(fā)人員。
Rancher Prime 多租戶體系?
- Rancher Prime 提供面向多集群并基于 RBAC 的多租戶體系,不同的用戶可以通過綁定不同的角色來獲得不同的權(quán)限。
- 擁有“全局級別”角色的用戶通常可以管理 Rancher Prime 的所有 K8s 集群,擁有“集群級別”角色的用戶通常只能看到和管理某一個或多個 K8s 集群,擁有“項目/命名空間”角色的用戶通常只能看見和管理集群下某一個或多個項目及命名空間。
- Rancher Prime 還支持對接多種外部統(tǒng)一認(rèn)證軟件,例如 AD、Keyclock、OKTA 等,方便企業(yè)進(jìn)行統(tǒng)一認(rèn)證管理。
Rancher Prime 認(rèn)證體系對接?
NeuVector 全生命周期的平臺安全保障
在構(gòu)建內(nèi)部開發(fā)人員平臺時,平臺安全始終是需要優(yōu)先考慮的問題。NeuVector 提供了全面的全生命周期、零信任容器安全體系,在整個容器生命周期中持續(xù)掃描,以消除安全隱患。在內(nèi)部開發(fā)人員平臺構(gòu)建之初就應(yīng)制定安全策略,從而最大限度地提高開發(fā)人員的靈活性。
NeuVector?
NeuVector 的安全保護(hù)包括供應(yīng)鏈安全和運(yùn)行時安全,在供應(yīng)鏈安全范疇內(nèi)可以對容器鏡像、K8s 主機(jī)資源進(jìn)行合規(guī)掃描,同時將 K8s 的準(zhǔn)入控制機(jī)制與 pipeline 流程相結(jié)合,實現(xiàn)準(zhǔn)入控制。
NeuVector 安全體系
在運(yùn)行時安全層面可通過容器微分段、DLP、WAF 等防護(hù)手段,確保內(nèi)部開發(fā)人員平臺安全性。
NeuVector 防護(hù)體系
NeuVector 可在所有經(jīng)過 CNCF 認(rèn)證的 K8s 平臺上獨(dú)立使用。在與 Rancher Prime 結(jié)合使用時,只需點(diǎn)擊幾下即可安裝和使用 NeuVector,并對整個 Kubernetes 環(huán)境進(jìn)行安全保護(hù)。
NeuVector with Rancher Prime?
Rancher Prime 和 NeuVector 產(chǎn)品體系的組合,可以讓平臺工程團(tuán)隊更容易構(gòu)建自己的內(nèi)部開發(fā)人員平臺,讓開發(fā)工程團(tuán)隊專注于業(yè)務(wù)代碼開發(fā),而非深度對接基礎(chǔ)設(shè)施,同時也能保障平臺的安全性。
—— 典型案例 ——
Ubisoft?
育碧(Ubisoft)于 1986 年在法國成立,是全球知名的游戲制作、發(fā)行和代銷商,業(yè)務(wù)遍及五大洲,在全球擁有 40 多個開發(fā)工作室。
育碧鼓勵開發(fā)團(tuán)隊在 Kubernetes 中開發(fā)云原生微服務(wù),不久之后,創(chuàng)新項目激增。由于有的團(tuán)隊面向私有云進(jìn)行開發(fā),有的團(tuán)隊面向公有云進(jìn)行開發(fā),因此公司需要擁有統(tǒng)一的開發(fā)方法。
基礎(chǔ)架構(gòu)團(tuán)隊希望在公司內(nèi)部構(gòu)建一個中央 Kubernetes 配置平臺,從而實現(xiàn)大多數(shù)流程的自動化。當(dāng) UKS(Ubisoft Kubernetes Service)誕生時,這一愿景成為了現(xiàn)實。這個基于 Rancher Prime 的自助式 Kubernetes 平臺讓成千上萬的開發(fā)人員能夠以可控、集中管理的方式即時啟動新的 Kubernetes 集群。
通過使用 UKS 和 Rancher Prime,開發(fā)人員可以自由地為任何云環(huán)境進(jìn)行開發(fā),而不必手動管理許多基本部署過程。Rancher Prime 實現(xiàn)了這些基本功能的自動化,并大大簡化了開發(fā)生命周期。
從效率的角度來看,UKS 讓開發(fā)者的工作更加輕松。與原來的手動方式相比,大幅提高了開發(fā)速度,減少了管理時間。與以往需要耗費(fèi)幾天時間相比,通過 Rancher Prime 配置集群并將其托管在本地,平均僅需 10 分鐘。最重要的是,整個公司的 Kubernetes 集群現(xiàn)在都通過統(tǒng)一的平臺進(jìn)行管理。
目前,育碧的 K8s 集群已經(jīng)超過 200 個,隨著越來越多的團(tuán)隊使用 Kubernetes,這一數(shù)字將持續(xù)上升。未來,育碧 IT 建設(shè)的重點(diǎn)是創(chuàng)建一個托管解決方案,以優(yōu)化基礎(chǔ)設(shè)施的使用,提供多租戶集群并減少運(yùn)營負(fù)擔(dān)。
—— 未來展望 ——
無論是 DevOps 還是平臺工程,都要求基于 K8s 的底層平臺具備安全性、靈活性、穩(wěn)定性、先進(jìn)性。因此,2023 年,SUSE 企業(yè)容器管理團(tuán)隊將在如下幾個方面持續(xù)提升產(chǎn)品體驗,以回饋企業(yè)用戶及社區(qū)用戶的信任:
- Rancher Prime 不斷增強(qiáng) K3s Provisioning 能力,提供更加靈活多樣的集群選擇,K3s 極致輕量,足以應(yīng)對面向開發(fā)測試的應(yīng)用集群。
- 整個 SUSE 企業(yè)容器管理產(chǎn)品線對 ARM 的支持將不斷增強(qiáng),得益于 ARM 生態(tài)體系的不斷完善,越來越多的全球用戶開始使用 ARM 來降本增效。
- 持續(xù)加強(qiáng)對本土產(chǎn)品生態(tài)體系的支持,目前 Rancher Prime 已經(jīng)適配鯤鵬芯片、海光芯片、麒麟 V10、openEuler 等軟硬件體系,其中基于 openEuler 的 K8s 發(fā)行版 RFO(Rancher For OpenEuler)已經(jīng)正式 GA。