自從 2012 年,Serverless 這個(gè)詞被 Ken Form 帶到大眾面前,Serverless 架構(gòu)就一直在以一種“實(shí)現(xiàn)云計(jì)算最初夢(mèng)想”的姿態(tài)不斷更新和迭代。時(shí)至今日,我們尚未實(shí)現(xiàn) Serverless 的終極形態(tài),但已經(jīng)出現(xiàn)了不少成果,托管版作為其中重要的一種形態(tài),具體代表什么含義?青云 QingCloud推出的 QKE 托管版可以解決哪些問(wèn)題?適用于哪些人群?
在搞清楚 QKE 托管版是什么之前,我們先來(lái)了解下青云在云原生研發(fā)層面的技術(shù)積累情況。青云自 2016 年開(kāi)始進(jìn)行容器研發(fā),最為核心的三大項(xiàng)目是 KubeSphere 開(kāi)源容器平臺(tái)、QKCP 企業(yè)級(jí)容器平臺(tái)、QKE 容器引擎。從大層面看,三者都是容器產(chǎn)品或服務(wù),但在定位和應(yīng)用場(chǎng)景上還是有一些差別。
相信很多開(kāi)發(fā)者之前都聽(tīng)說(shuō)過(guò) KubeSphere,這是一個(gè)開(kāi)源的容器項(xiàng)目,最初是由青云捐贈(zèng)給了 CNCF。隨后幾年,青云的研發(fā)人員又和社區(qū)開(kāi)發(fā)者一起共建生態(tài),陸續(xù)捐贈(zèng)了負(fù)載均衡器插件 OpenELB(補(bǔ)足 Kubernetes 集群在私有環(huán)境下對(duì)外服務(wù)暴露方面的能力)等項(xiàng)目,并與 Amazon EKS、Azure、DigitalOcean 等達(dá)成了深度合作。
KubeSphere 可以部署在任何環(huán)境的 K8s 集群,簡(jiǎn)易、美觀的可視化設(shè)計(jì)讓用戶可以更方便地管理 K8s 集群,并且 KubeSphere 提供了很多衍生功能,如 CI/CD 工具、微服務(wù)治理等。總的來(lái)說(shuō),KubeSphere 在幫助用戶簡(jiǎn)化集群管理的基礎(chǔ)上,還提供了覆蓋云原生業(yè)務(wù)完整生命周期的一站式服務(wù)。
QKCP 則是與 KubeSphere 相伴相生的企業(yè)級(jí)容器平臺(tái),除提供產(chǎn)品支持服務(wù)外,還增加了更多企業(yè)級(jí)服務(wù),能更好地應(yīng)對(duì)云原生的業(yè)務(wù)場(chǎng)景。
這兩款產(chǎn)品均不限制底層環(huán)境,可以安裝在 IDC 或者任何云平臺(tái)之上。與這兩者不同,QKE 基于 QingCloud 云平臺(tái)為用戶提供云原生業(yè)務(wù)底座,不僅可以對(duì)接、集成青云各類產(chǎn)品和服務(wù),還可對(duì)接第三方服務(wù),為用戶提供更成熟、全面的支持,比如對(duì) KubeSphere 的集成,可以更方便地管理 K8s 集群,并簡(jiǎn)化 KubeSphere 的安裝;對(duì)云平臺(tái)自動(dòng)伸縮服務(wù)的對(duì)接可為用戶提供節(jié)點(diǎn)級(jí)別的自動(dòng)增減;與 Prometheus 的對(duì)接能讓用戶已有的服務(wù)不用再做遷移,降低成本的同時(shí),節(jié)省大量運(yùn)維工作。
如上是 QKE 的架構(gòu)邏輯圖,其基礎(chǔ)功能包括了集群管理和應(yīng)用管理。在底層,QKE 集成了 QingCloud 云平臺(tái)的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源,并以 Kubernetes 原生集群為核心,保證了集群的一致性,便于其它集群業(yè)務(wù)的遷移部署和兼容性。在業(yè)務(wù)層,QKE 可以提供可視化界面、自動(dòng)伸縮、微服務(wù)治理等擴(kuò)展能力,為用戶提供一站式、高可用的云原生能力。
為了給不同規(guī)模、有不同團(tuán)隊(duì)分工的用戶更好地提供容器服務(wù),QKE 提供了三種形態(tài)的集群:自管版集群,由用戶全權(quán)管理 Kubernetes 集群,包括 Master 和 Worker 節(jié)點(diǎn),這要求使用者有專業(yè)的 Kubernetes 運(yùn)維能力,才能更好地保障集群的穩(wěn)定運(yùn)行;托管版集群,Master 節(jié)點(diǎn)由 QKE 管理,創(chuàng)建集群僅需支付 Worker 節(jié)點(diǎn)的費(fèi)用,在降低使用成本的同時(shí)解放用戶的運(yùn)維工作,這對(duì)集群規(guī)模較小,處于云原生轉(zhuǎn)型前期階段的用戶相對(duì)友好;未來(lái) QKE 還會(huì)提供 Serverless 版本的集群,完全屏蔽底層,可做到集群免運(yùn)維,資源按需使用,有批量計(jì)算和突發(fā)業(yè)務(wù)需求的用戶可以關(guān)注該版本形態(tài)。
QKE 的眾多形態(tài)讓其可滿足用戶五大云原生業(yè)務(wù)場(chǎng)景的需要:一是 CI/CD 實(shí)踐。容器和微服務(wù)化有助于敏捷實(shí)踐的落地,QKE 提供內(nèi)置的 DevOps 插件,可實(shí)現(xiàn)可視化流水線配置,省去很多人工操作,以便提升開(kāi)發(fā)和部署環(huán)節(jié)的效率;二是混合多云多集群管理。QKE 多集群管理功能,將不同環(huán)境的 Kubernetes 集群進(jìn)行統(tǒng)一管理,并通過(guò)應(yīng)用多集群部署實(shí)現(xiàn)多活、容災(zāi)的需求;三是構(gòu)建業(yè)務(wù)中臺(tái)。QKE 提供可一鍵安裝的應(yīng)用管理插件,能夠?qū)崿F(xiàn)容器化應(yīng)用完整生命周期的管理,用戶可借助此功能建設(shè)一個(gè)云原生業(yè)務(wù)中臺(tái),對(duì)容器化應(yīng)用進(jìn)行發(fā)布、版本控制、擴(kuò)容和計(jì)費(fèi)等操作;四是核心應(yīng)用微服務(wù)化。在應(yīng)用部署、運(yùn)維環(huán)節(jié),用戶可通過(guò)微服務(wù)治理功能進(jìn)行流量治理與鏈路追蹤,也可執(zhí)行金絲雀發(fā)布、藍(lán)綠部署等動(dòng)作;構(gòu)建 AI 應(yīng)用。QKE 集群不僅支持常見(jiàn)的虛擬機(jī),還可使用 GPU 類型的機(jī)器作為計(jì)算節(jié)點(diǎn),增強(qiáng)云原生 AI 場(chǎng)景下的使用體驗(yàn)。
托管版適合哪些用戶呢?企業(yè)需要結(jié)合自身的集群規(guī)模和團(tuán)隊(duì)分工來(lái)考慮,如果集群規(guī)模較大,有一定數(shù)量的專業(yè)集群運(yùn)維人員,并且希望針對(duì)集群進(jìn)行深度自定義配置,那么可以使用自管版集群。其余大部分中小型企業(yè)完全可以把控制節(jié)點(diǎn)的運(yùn)維工作交給青云,使用 QKE 托管版,節(jié)省成本并減輕運(yùn)維壓力。
與市場(chǎng)上其他云廠商的容器服務(wù)托管版相比,QKE 在對(duì)托管版 Etcd 服務(wù)和外置 Etcd 集群的支持上也無(wú)差別,保證了存儲(chǔ)的高可用。同時(shí),QKE 托管版不收取控制節(jié)點(diǎn)的資源費(fèi)用,也不收取集群管理費(fèi)用,這在一定程度上降低了用戶的使用成本。此外,QKE 托管版提供 SLA 保障,承諾 99.95%的服務(wù)可用性,并支持賠付,以便用戶更放心地使用。對(duì)成本敏感、追求運(yùn)維更省心的用戶可以考慮該版本。
事實(shí)上,容器相對(duì)于第一代虛擬機(jī)而言,最大的優(yōu)勢(shì)和改進(jìn)是去掉了 Hyper 層,讓物理服務(wù)器的利用率有了更多提升,也讓管理和配置更加簡(jiǎn)單,這是容器技術(shù)能夠替代虛擬機(jī)成為新一代底座的重要原因。
未來(lái),我們可能終會(huì)走向 Serverless 的時(shí)代,底層會(huì)更加簡(jiǎn)化,用戶會(huì)更加聚焦業(yè)務(wù)開(kāi)發(fā)。越來(lái)越多的云廠商將接手底層資源的配置、運(yùn)維等工作。正如 Gartner 報(bào)告中所預(yù)測(cè)的:到 2025 年,全球一半的企業(yè)將采用 FaaS 部署;或許,時(shí)至今日的 Serverless 架構(gòu)依舊不是最終形態(tài)的的 Serverless 架構(gòu)。但不可否定的是,Serverless 架構(gòu)一直在進(jìn)化。這個(gè)過(guò)程將持續(xù)多久尚未可知,可以預(yù)見(jiàn)的是托管版會(huì)在未來(lái)很長(zhǎng)一段時(shí)間內(nèi)充當(dāng)重要角色。