摘要:華為雲已向CNCF貢獻多個首創開源專案,包括雲原生邊緣計算平臺專案KubeEdge,雲原生批次計算專案Volcano,雲原生多雲容器編排專案Karmada,今年,華為雲又開源了兩個雲原生領域的專案Kurator和Kappital,收到廣大開發者的追捧。
本文分享自華為雲社群《細數華為云云原生產品及五大開源實踐》,作者: 華為雲社群精選。
今天的內容主要包括四個方面:雲原生髮展階段和趨勢,會涉及一些雲原生領域的歷史發展程式和技術趨勢。然後我會介紹5個華為雲主要的雲原生產品和5個華為在雲原生領域的開源專案。
我們先看第一個內容,雲原生髮展階段和趨勢。
簡單來看,企業 IT 建設所依賴的基礎資源經歷了從伺服器到雲化資源的發展歷程,正在快速進入雲原生階段。
伺服器階段的特點是以硬體裝置為中心,業務應用隨不同廠商裝置、作業系統、虛擬化軟體的差異化進行定製; 裝置的安裝、除錯,應用的部署、運維基本靠人力完成,自動化程度低,缺乏統一的裝置和應用管理能力。後期隨著虛 擬化軟體的出現,資源的利用率、擴縮容器的靈活性方面得到一定的提升,但並未從根本上解決基礎設施與軟體割裂、 運維複雜的難題。
解決這些問題,在雲化階段,傳統模式下分佈離散的裝置,被統一起來,實現了各類資源如計算、儲存、網路的池化,透過統一的虛擬化軟體平臺,為上層業務軟體提供統一的資源管理介面,實現資源管理能力的自動化,遮蔽一部分基礎設施的差異, 使得應用的通用性增強,但因為虛擬化軟體平臺差異化較大,尤其是各廠商的一些商業化增強,無法在廠商間進行能力 共享,應用還是無法以完全標準化的模式構建,應用部署還是以資源為中心。
以資源為中心有一個明顯的弊端,就是應用的管理是資源的視角,舉個例子,我們在Kubernetes管理中心看到的是一個個的工作負載,只能劃分出有狀態負載、無狀態負載、任務等,沒有一個應用的視角,因為應用通常包含多個不同型別的工作負載。雲原生階段這一階段,企業的關注點從以資源為中心轉移到以應用為中心,包括應用敏捷交付、快速彈性、平 滑遷移、無損容災等。因此,企業開始考慮如何將基礎設施與業務平臺融合,為業務應用提供標準的執行、監控、治理平臺, 並將業務的通用能力下沉到平臺側,更好的幫助企業實現應用的自動化,雲原生基礎設施成為了企業數字化轉型的首選。
據Forerester對國內三百多個企業的調研結果顯示,企業充分認同未來市場變化和企業發展的五大關鍵挑戰包括:需求快速變化、市場不確定性、業務連續性、創新業務價值、將本增效,其中讓企業領導者最擔憂的是需求的快速變化,這就要求企業未來的技術架構必須能夠滿足敏捷交付、快速彈性這些特性,以適應需求和市場的變化。CNCF的亞洲企業和雲原基礎設施使用率調研結果顯示雲原生已在企業內被廣泛使用,超過54%的企業正在使用雲原生基礎設施,14%的企業計劃使用。Gartner預測,到2025年超過95%的的數字化業務將基於雲原生基礎設施構建,可以看出雲原生在未來仍然有較大的增長空間,雲原生基礎設施是企業數字化轉型的長期首選。
下面我們進入第二部分,給給位展開介紹5個華為云云原生產品,
首先讓我們看一下CCE Turbo。從名字上看,CCE Turbo是CCE的加強版,它主要在計算、網路、排程和安全幾個方面對CCE做了增強。
在計算方面,基於擎天架構,將容器儲存、容器網路和容器引擎百分之百解除安裝到擎天卡上,伺服器資源利用率可提升20%。
在網路方面,深度整合了華為雲VPC的彈性網路卡和輔助彈性網路卡的能力,直接從VPC網段內分配容器IP地址、支援ELB直通容器、支援容器直接繫結安全組、支援容器配置QoS、支援容器直接繫結彈性公網IP、支援安全容器VF直通等高階能力,構建了業內領先的深度融合雲上虛擬私有云VPC的新一代容器網路方案,實現了虛擬機器trunkport,裸金屬ENI流量直通容器,效能提升40%。
在排程方面,實現了多型別業務智慧混合排程,應用拓撲感知、分時複用等,快取+多排程器共享檢視,排程速度達到1萬 Pod/s。CCE Turbo的排程,使用的是批處理工具Volcano,我們在之後開源專案中會詳細介紹。
在安全方面,支援裸金屬節點部署安全容器,提供虛擬機器級別的資源和業務隔離以及基於VPC安全組提供容器網路訪問控制能力和Qos限速。
智慧邊緣平臺IEF。智慧邊緣平臺的全稱是Intelligent EdgeFabric,它基於CCE構建,可以支援接入邊緣節點。接入Kubernetes叢集的節點需要有VPC以及相同子網的約束,IEF打破了這個約束,只需要在邊緣節點上安裝一個代理,EdgeCore,就能讓使用者把已有的裝置接入IEF管理。這些邊緣節點可以分佈在不同的地理位置,不同的邊緣節點可組成節點組,同一個邊緣節點可分屬不同的節點組,這樣應用就可按節點組排程。一個典型的雲邊端協同場景是分佈在全國的電塔或者通訊塔上的攝像頭,影片資料有著巨大價值,可以作為森林防火、溼地監控、禁漁監控的資料輸入,將全國可支援相同業務的攝像頭接入的邊緣節點劃到相同的節點組,這樣一個演算法就可以實現全國發放,全國的相同業務都實現秒級更新。
除了基本能力,IEF還提供邊雲協同通道,支援邊緣節點提取價值資料上雲。IEF作為邊雲協同平臺,它具備以下重要特性。海量裝置接入能力,在物聯網和web3.0的趨勢下,越來越多的資料需要在邊緣處理,因此需要支援大規模邊緣裝置接入,當前IEF可支援10萬級節點接入,實際已交付過六萬節點接入的專案。第二點是雲邊協同,為邊緣應用和雲上服務提供互訪的方式。第三點是離線自治,這是邊緣場景下的基本特性,因為邊緣節點與資料中心的節點不同,沒有穩定的風火水電供應,邊緣節點可能部署在露天場所或者倉庫、汽車裡,雲邊網路得不到保證,因此需要保障部署到邊緣裝置上的容器應用不被驅逐,需要長期穩定執行,IEF支援邊緣節點斷連後邊緣應用可穩定執行。最後一點是極致輕量,IEF可支援記憶體低至百兆的裝置接入,大大擴大了接入裝置的型別,讓更多的場景可以實現雲原生數字化升級。
雲容器例項(Cloud Container Instance,CCI)服務提供Serverless Container(無伺服器容器)引擎,讓您無需建立和管理伺服器叢集即可直接執行容器。
Serverless是一種架構理念,是指不用建立和管理伺服器、不用擔心伺服器的執行狀態(伺服器是否在工作等),開發者只需動態申請應用需要的資源,把伺服器留給專門的維護人員管理和維護,進而專注於應用開發,提升應用開發效率、節約企業IT成本。傳統上使用Kubernetes執行容器,首先需要建立執行容器的Kubernetes伺服器叢集,然後再建立容器負載,如果使用CCI來部署容器應用,使用者就無需在CCI叢集繫結虛擬機器,直接部署應用即可,CCI會根據應用申請的資源為使用者提供足夠的資源執行應用。除了這個基本能力,CCI還提供了其他能力。
第一是CCI擁有極致的效能,基於華為雲Vessel容器平臺,批次排程引擎Volcano,Yangtse容器網路和Everest容器儲存,在計算、網路、儲存各方面做了深度最佳化,讓CCI單例項啟動耗時小於3秒,在30秒內可完成8000核可擴容。
第二點是使用容器Serverless相比於保持固定量資源執行應用,成本更低,因為容器Serverless按需申請資源並及時釋放,支援秒級計費,相比與按小時計費的容器叢集CCE費用更省。
第三點是極簡運維,使用者無需關心底層的節點資源和Kubernetes容器叢集,CCI會根據業務自適應容器管理規模以及管控面自動升級,開發者只需專注應用管理。第四點是支援多元算力,CCI下面的計算資源可支援X86、鯤鵬、AMD、昇騰、GPU等多種算力形態,可根據容器應用的架構自動申請對應的資源,使用者無需關心異構資源分配。
應用服務網格ASM 全稱是Application Service Mesh,在開源的微服務治理平臺Istio的基礎上提供了八大商業能力。
第一點增強是提供端到端的圖形化控制檯,內建包括金絲雀/藍綠髮布不同的應用灰度釋出模式,在服務治理方面,支援按流量比例、請求內容、源IP等維度治理。
第二點增強是提供微服務級的可觀測性,傳統的監控服務提供的是單應用的監控,服務拓撲和呼叫鏈的支援採用的是侵入式的,ASM可支援非侵入式的日誌、拓撲和呼叫鏈,只需要使用者把微服務相關的Service接入ASM的網格中。
第三點增強是提供效能更高的資料面,除了與Istio社群一樣支援Pod Sidecar部署外,還支援Node級的Sidecar部署。Node級的資料面資源開箱相比於Istio降低30%,時延降低30%。第四點增強是管理規模,ASM的單一網格可支援十萬級的Pod例項,實現高密度大規模的例項統一治理。
第五點增強是支援多種基礎設施治理,意思是網格可接入在容器、虛機或者物理機上部署的服務,幫助使用者實現業務平滑遷移,不需要大刀闊斧地將整個服務從非容器架構遷移容器。
第六點增強是升級能力的提升,控制面和資料面的服務可以實現一鍵升級,支援資料面隨業務滾動和獨立升級。
第七點增強是管理面的可靠性和可維護性的增強,控制面支援跨AZ部署,使用者無需擔心控制面的單點故障,影響資料面的服務治理,降低使用者的運維負擔。
第八點是提供專家服務,相比於Istio開源社群,ASM能夠為客戶提供更完整的諮詢和服務支援,幫助開發者更快地構建解決方案。
UCS的全稱是Ubiquitous Cloud-Native Service,是華為雲2021年重磅釋出的一個服務。要理解UCS可以把它拆成兩部分:分散式雲和雲原生,大家對雲原生可能已經耳熟能詳,但是分散式雲是最近兩年才起來的概念。何為分散式雲?分散式雲指的是將公有云服務(通常包括必要的硬體和軟體)分佈到不同的物理位置(即邊緣),而服務的所有權、運營、治理、更新和發展仍然由原始公有云提供商負責,這也意味著,公有云由原來的幾朵“大雲”,轉變為“大雲”加“小云”的分佈模式。分散式雲解決了因地理空間所造成的“硬體”難題,雲原生則是從業務視角出發,解決企業應用雲端計算的“軟體”難題。
UCS分散式雲是一個資源和應用的統一管控平臺,可接入4類區域的Kubernetes叢集,分別是華為公有云,自建IDC,邊緣叢集和第三方雲。華為雲公有云包括中心region,智慧邊緣雲IEC以及智慧邊緣小站IES上的CCE叢集。這裡簡單解釋一下IEC和IES,IES可理解為中心region拉遠的一個區域,IES是內建了計算、儲存和計算資源的一體化機櫃,可搬到使用者機房,連線上華為雲後可被華為雲統一管理。IES和IES距離客戶更近,雲服務或者應用部署到IEC和IES後,資料可在IES和IEC上處理,提供縮短業務時延。
第二類場景是自建IDC,使用者在自己的資料中心或者機房自建K8s叢集或者使用華為雲的Kubernetes敏捷安裝版本CCE敏捷版建立的K8s叢集,可手工註冊到UCS。第三類場景是邊緣叢集,即透過智慧邊緣平臺IEF納管的邊緣裝置組成的叢集可被UCS管理。最後一類是第三方雲上的Kubernetes叢集,比如AWS的EKS叢集,Google的GKE,Azure的AKS叢集,都可以註冊到UCS。除了從華為雲直接建立的叢集,手工註冊的UCS的叢集只需要在叢集上配置UCS的叢集管理的配置檔案即可註冊到UCS,實現雲端到邊緣,跨雲多叢集的統一管理,實現叢集生命週期統一管理、配置策略統一管理、應用和資源視覺化監控洞察等。
除了基本的叢集管理能力,UCS還提供了三大競爭力,應用算力供給、應用流量治理、應用與資料協同。
應用算力供給新模式,新供給模式支援百萬級分散式節點資源協同供給以及1K分散式叢集的統一排程,秒級響應。UCS實現全域性資源檢視,透過對每個分散式站點的實時故障探查感知故障資源,一旦出現故障,秒級將應用遷移到其他健康站點。UCS透過全域性應用排程遮蔽位置帶來的複雜性,將全域的算力打通,根據資源分佈和業務特點,結合地理位置、網路Qos、資源均衡度等條件,實現全域資源的最最佳化協同部署。
應用流量治理新模式,在分散式雲中,流量互通是業務協同的根本,UCS透過提供全域性服務能力,可以提供管理分散式雲中的南北東西向流量策略,實現全域性服務流量的智慧排程,以及實現了網路QoS優先順序排程、地理親和、動態路由演算法等排程能力。
資料與應用協同新模式。在分散式雲的佈局下,資料的管理也是一個難題。應用和資料的割裂會為容災、遷移、彈性等場景帶來很大的困難。華為分散式雲原生UCS圍繞應用的資料模型進行了建模,並對不同型別資料進行分層管理,實現儲存層、容器層、中介軟體層等不同層次資料的實時聯動,使資料能夠更好地隨應用在分散式雲場景中進行通訊和流轉,支撐應用容災、擴容、遷移的應用場景。
從以上三點可以看出華為雲的UCS致力讓企業使用雲原生時感受不到地域的限制、流量的限制、跨雲的限制,充分保證應用在多個場景下的使用。
在三大能力之上,是統一的雲原生服務市場OSC,可以理解為雲廠商的Marketplace,不過這裡面是Marketplace的子集,只包含容器部署的服務。OSC可支援服務提供商釋出商品,服務提供上需要按照OSC的服務規範改造服務,充分利用UCS、CCE、IEF等基礎服務提供的跨雲、跨叢集的排程能力、排程能力和資料協同能力,達到服務的真正雲原生化。
簡單總結一下,華為云云原生團隊提供了三個基礎設施管理服務CCE、CCI和IEF,分別管理華為雲資源和使用者接入華為雲的邊緣資源,這些被管理的資源為應用提供了部署環境。還提供了三個軟體服務,SWR、UCS、ASM。SWR這次沒有展開講,因為它當前的功能比較簡單,可提供映象的生命週期管理功能。ASM為微服務提供了非侵入式的容器化服務治理能力,UCS則包羅永珍,以CCE、CCI、IEF、ASM為基礎,在這些服務之上構建了跨叢集、跨雲的統一治理和排程能力。
接下來讓我們看一下華為雲在雲原生開源中的貢獻和相關實踐。
一直以來,華為雲都是開源社群和基金會的重要參與者、支持者和貢獻者。
在基金會貢獻方面,CNCF基金會2015年成立伊始,華為雲便成為基金會亞洲唯一創始成員、白金會員,一直到今年,華為雲已向CNCF貢獻多個首創開源專案,包括雲原生邊緣計算平臺專案KubeEdge,雲原生批次計算專案Volcano,雲原生多雲容器編排專案Karmada,今年,華為雲又開源了兩個雲原生領域的專案Kurator和Kappital,收到廣大開發者的追捧。
在社群貢獻方面,K8S和ISTIO兩個社群成立之初華為雲就加入該專案,並開始貢獻程式碼至今,目前無論是維護者席位還是程式碼貢獻在亞洲都是排名前列。
總體上,華為雲在雲原生領域,一直都保持高投入,高貢獻,持續多年排名第一位。
接下來,我將帶領大家針對華為雲在雲原生領域的開源策略做一次庖丁解牛,總結過去,規劃未來。
KubeEdge是業界首個雲原生邊緣計算框架、雲原生計算基金會內部唯一孵化級邊緣計算開源專案,在全球已擁有900+貢獻者和70+貢獻組織,在Github獲得超過5.4k Stars和1.6k Forks 。近年來,KubeEdge社群持續開拓創新,完成業界最大規模雲原生邊雲協同高速公路專案(統一管理10萬邊緣節點/50萬邊緣應用)、業界首個雲原生星地協同衛星、業界首個雲原生車雲協同汽車、業界首個雲原生油田專案,開源業界首個分散式協同AI框架Sedna及業界首個邊雲協同終身學習正規化。
以雲原生衛星為例:
“天算星座”計劃由北京郵電大學深圳研究生院與天儀研究院共同發起,以服務國家重大戰略需求和國際科技前沿探索為目標,透過對衛星智慧化、服務化、開放化設計,構建產學研用一體化的空天計算在軌試驗開放開源平臺,為推動我國6G網路、衛星網際網路等技術發展提供技術支撐。
華為雲作為首批合作共建單位,將邊緣計算與衛星計算平臺融合,雲原生邊緣計算平臺KubeEdge及其邊緣AI子專案Sedna為天算星座提供統一的資源、應用管理、分散式應用協同能力和在軌AI推理能力,使得衛星在太空中可同時呼叫邊緣和中心雲的資源並具備AI能力和多工處理能力,有效降低空天計算實驗門檻。測試資料表明,透過衛星與地面站協同推理,計算精度提升了50%以上,衛星迴傳資料量可減少90%。
“天算星座”首席科學家、北京郵電大學教授王尚廣:雲原生邊緣計算平臺KubeEdge及其邊緣AI子專案Sedna為天算星座提供統一的資源、應用管理、分散式應用協同能力和在軌AI推理能力。結合北郵開發的衛星網路系統、基礎通訊元件,可為空天實驗提供按需使用的計算能力,有效降低空天計算實驗門檻。
Volcano 是一個基於Kubernetes的雲原生批次計算平臺,也是 CNCF 首個容器批次計算專案,並已正式成為CNCF孵化級專案。Volcano主要用於 AI、大資料、基因、渲染等諸多高效能運算場景,對主流通用計算框架均有很好的支援。Volcano社群已吸引2.6萬全球開發者,並獲得2.4k Star和550+ Forks。目前,Volcano在人工智慧、大資料、基因測序等海量資料計算和分析場景已得到快速應用,並構建起完善的上下游生態。
Karmada是華為雲2021年4月開源的雲原生多雲容器編排專案,沉澱了眾多企業在多雲管理領域的豐富經驗,可構建無限可擴充套件的容器資源池,讓開發者像使用單個K8s叢集一樣使用多雲。目前,Karmada已正式捐贈給CNCF(雲原生計算基金會),也是CNCF首個多雲容器編排專案。Karmada 專案的加入,將CNCF 的雲原生版圖進一步擴充套件至分散式雲領域。自開源以來,Karmada已擁有2.3k+stars,450+forks,120+貢獻者,極具潛力,工商銀行、VIPKID等企業也基於Karmada進行了容器化改造。
今年,華為雲開源團隊貢獻了兩個開源專案:
一是雲原生服務中心OSC的核心能力開源,推出分散式雲原生服務Kappital,旨在幫助開發者快速構建雲原生服務,為雲原生服務提供統一的打包、部署、管理標準和一致性使用體驗,加快雲原生服務的落地,Kappital主要提供統一的服務生態、全場景的部署,全生命週期治理,開箱即用的運維能力四個方面能力。
華為雲希望透過Kappital專案,能夠幫助廣大開發者和生態夥伴輕鬆快速地構建健壯可擴充套件的雲原生服務,豐富雲原生服務生態。
二是基於華為雲在分散式雲原生領域的多年優秀實踐,華為雲開源團隊構建了開源的分散式雲原生套件Kurator,Kurator是業界首個分散式雲原生開源套件,整合了Karmada、Istio、Kubeedge、Prometheus等業界主流開源技術棧,同時包括新增的開源分散式雲原生服務中心 Kappital。
Kurator致力於打造開箱即用、開源開放的分散式雲原生平臺,提供多雲、多叢集統一編排,統一排程,統一流量治理,邊雲協同,統一監控運維等核心能力,可以幫助廣大開發者、生態夥伴實現雲原生應用服務化,助力企業快速搭建分散式雲原生平臺,實現企業業務跨雲、跨邊分散式化升級開發。
面向未來,華為雲將繼續秉持攜手創新、成就共享的理念,深耕雲原生領域,基於雲原生領域開源的已有的成功經驗和優秀實踐,以分散式雲原生套件Kurator為核心,協同開發者持續打磨增強,在南向生態方面,主動參與各生態資源對接開源,主動開源華為雲自身各類資源外掛,打造K8S南向標準生態。在北向生態方面,加強CNCF現有優勢社群整合,開源大資料、資料庫、AI、中介軟體、UI等場景化工具套件,降低開發者使用門檻,使能開發者生態。