專訪青雲「四爺」和他的 KubeSphere
談話自然是從我所不了解的青雲QingCloud 開始的。
天然的企業服務提供者
說起青雲QingCloud,自然不能放過其背後的歷史,這段與眾不同的歷史,造就了這家與眾不同的雲計算企業。
談起雲計算,大家會想起國內公有雲市場佔有率較高的一些互聯網公司旗下的雲服務商,這些公司的雲計算業務最初大多是從內部的雲計算技術能力轉化出來的,將其在內部打造的雲計算能力開放給公眾,從而形成了我們所熟悉的多個雲計算平台。
青雲QingCloud 從一開始就走上了和絕大多數雲計算創業企業不同的道路——自研雲計算架構。
「與這些雲計算公司不同,青雲QingCloud 從 2012 年公司創立的那一刻開始,就是一個立足於為企業服務的雲計算企業,其三位創始人均有多年在 IBM 工作的深厚背景,使得他們對於企業級用戶的市場和用戶的需求更加敏感,也能更加準確把握企業用戶的需求和痛點。」四爺介紹說,「並且,青雲QingCloud 的創始人均是資深的技術研發出身,對於技術方向的發展更加敏感,也正是如此,青雲從一開始就走上了和絕大多數雲計算創業企業不同的道路——自研雲計算架構。」說到這裡,四爺眼中洋溢著自信的眼神,作為一個同樣從事了多年技術工作的老兵,我對這種技術驅動型的公司更加感興趣了。
私有雲成就下的青雲
從 2012 年開始,青雲QingCloud 便開始進行自研底層雲計算架構的研究。自研架構所需要付出的技術成本,使得青雲的公有雲服務上線花費了一年半的時間,但是,付出總有回報,在自研架構上的投入,使得青雲QingCloud更加靈活和富有創造力,可以更加專心地為企業提供更優質的服務。
而同時期一些使用 OpenStack 作為基礎設施的雲計算企業,卻受制於社區的發展速度,不得不在底層基礎設施的優化上花費大量的精力。說到這裡,四爺表示,「這為青雲爭取到了寶貴的時間!」
到了 2014 年,青雲QingCloud 已經取得了長足的發展。這個時候他們意識到,在當時的環境下只做公有雲服務是「一條腿走路」,無法獲得長時間的可持續發展,而私有雲服務能夠更好的發揮青雲QingCloud 在企業服務的能力和經驗。因此,青雲開始正式進軍私有雲市場,並在次年年初,成功拿下中國銀行、招商銀行等的私有雲業務。
隨著青雲QingCloud 的私有雲業務的發展一路開疆拓土,他們逐漸建立起來成熟完善的公有雲、私有雲、託管雲、混合雲一體化的產品服務體系,後續不斷得到越來越多客戶的認可,我們耳熟能詳的光大銀行、泰康保險、中國太平、江蘇交通控股、華潤創業、本鋼集團、國航、四川航空、好未來、VIPKID 等,都是青雲的客戶。
在雲業務一片向好的環境下,容器時代正在悄悄的來臨了。
容器時代來臨,KubeSphere 應運而生
容器時代的到來,讓各家雲服務商都開始積極布局容器服務,而在青雲QingCloud,容器服務的負責人便是我們今天談話的主角周小四——圈內親切的稱其為「四爺」。
從 Docker 開始
在當時,開源社區內的主流容器方案,一種是一出現就迅速風靡技術世界的 Docker 技術,另一個則是同樣源自 CGroup 技術的 LXC。那個時候,看起來 LXC 的目標更遠大,但是在對這兩種技術方向進行分析後,最終四爺選擇了 Docker 的方案。
我們也曾經在容器技術初現萌芽時,對出現的各種容器技術做過跟蹤,因此,我也好奇為什麼四爺會在 Docker 技術初生時就押注 Docker,因為這不僅僅是社區愛好,這個決策肯定會影響到公司的技術方向和時間差優勢。
四爺對此的解釋說,「2013 年才提出的 Docker 雖然很年輕,但是作為一個新的容器化解決方案,它所提出的解決方案適合這個面嚮應用、快速迭代、微服務正在興起的大趨勢,符合併適合現行的軟體開發模式發展,可以讓技術把更多的精力放在如何構建一個更好的應用上。」而 LXC 則延續了重型虛擬機時代的思路,將更多的精力放在了如何更好的隔離宿主環境與容器內的環境上。這很重要,但是已經不再適合如今快節奏、快迭代的開發環境了,因此,他認為 Docker 一定會是最終的勝利者,決定選擇 Docker 作為青雲QingCloud 容器服務平台的底層設施。
雖然現在回過頭看,Docker 容器技術在初期確實存在容器逃逸的安全問題,如今也有專註於提高隔離性的安全容器技術的出現,但是在當時,這種折中確實極大地激發了 DevOps 和相關生態的迅速發展。而正當其時,能敏銳地發現這一點,並果斷下注,我認為這離不開一位技術領袖的遠瞻。
在選擇了容器技術方向之後,四爺的下一個挑戰就來了。Docker 最初主要是一個容器引擎,其外圍的生態尚不完善,尤其是對於企業大規模應用所需要的容器編排才剛剛開始獲得發展。業界也推出幾種不同的容器編排技術方案,這包括 Docker 推出的 Swarm、Google 推出的 Kubernetes,以及 Apache Mesos,那麼作為面對企業提供服務的青雲QingCloud,該如何選擇呢?
押注 Kubernetes
現在看起來,當初四爺選擇 Kubernetes 作為技術方向似乎是在技術人直覺之下做的選擇。但是,這背後是經過了深思熟慮和足夠的技術遠見之下的選擇。
四爺告訴我,他選擇 Kubernetes 的主要原因有以下幾點:
- Kubernetes 背後由 Google 支持:顯然 Google 支持的 Kubernetes 會擁有更多的資源來發展,它也擁有更加強大的生命力。
- Kubernetes 是 Google 在內部基礎設施的容器編排方面的經驗升華:Kubernetes 的應用場景是容器編排,這種大規模容器的實踐經驗十分難得。而 Google 作為互聯網領域的巨鱷,所擁有的經驗和技術積累具有無可比擬的優勢。相比之下,初創企業 Docker 公司在海量的可伸縮服務上的經驗就稍顯孱弱。而且 Docker 公司本身的開發力量顯然有限,在容器技術日新月異的快節奏發展之下,僅僅是 Docker 引擎本身的開發和維護就已經有些不堪負荷,所以對他們在 Docker Swarm 上發展自然不如 Kubernetes 那麼快。
- Kubernetes 的社區更加活躍:得益於 Google、Red Hat 等企業的開源社區基礎,Kubernetes 從一開始就是整個社區目光的焦點,大量的開發者活躍在 Kubernetes 及其周邊項目上,活躍的社區為企業培養了足夠的儲備人才,這一點是 Docker Swarm 和 Mesos 都無法比擬的。
- 容器時代已經與以虛機為基礎的雲計算時代有著本質的區別,以前人們關注的是功能、性能、安全等問題,創建一個虛機每個廠商可以用不同的 API 提供,用戶要的是資源,不會太在意這些差異性,因此自研的雲平台有存在的市場空間。但容器時代是面嚮應用的,用戶更關注的是開放、標準等問題。簡單來說,如果大家都用 Java 語言,你去採用一個只能使用彙編語言的平台,這個平台基本上很難有市場。容器編排系統一樣,用 YAML 或 JSON 定義的聲明式介面就是標準,大家害怕的就是選錯標準。所以當大家都選擇 Kubernetes 的時候,實際上選擇的是標準。
經過權衡,四爺及其團隊最終選擇了 Kubernetes 作為青雲QingCloud容器平台的編排工具。而隨著對 Kubernetes 的不斷的深入研究,更是讓他相信,Kubernetes 會成為最終的勝利者。
他補充道:「Kubernetes 的一個主要關注是規範化,應用可以隨意的在不同的基礎設施間遷移,從而避免了供應商鎖定。這會使得越來越多的人主動嘗試使用 Kubernetes,此長彼消之下,Kubernetes 會成為最終的贏家。」
KubeSphere 的誕生
確定了 Kubernetes 方向後,四爺開始對各個 Kubernetes 產品進行了調研。通過不斷試用、體驗後,他敏銳的發現,現有市場上大多數廠商都沒有認真做產品,要麼是為了儘快搶佔市場、在市場上發布尚不完善的產品,要麼就是廠商的防禦性產品。
「他們是以做項目的心態在做產品,沒有精細化地打磨產品,更多的是功能的堆砌。」周小四解釋到。
「就好像考試做題,一共十道題,每道題 10 分。他們可以做八道題,但是因為做得不好,每道題都只能得五分。而我們即使只做了 6 道題,但是每道題都是 10 分。最後的總分還是我們高,企業還是會選擇我們。」四爺舉了一個例子來說明「做項目」和「做產品」的不同。
在他看來,也正是這些企業以「做項目」的心態來做容器產品,才給了 KubeSphere 彎道超車的機會,以滿分的心態,做出更好的產品。
從 2017 年 6 月開始,周小四便開始調研和思考如何設計 KubeSphere 的原型。2018 年 4 月,KubeSphere 項目正式立項,經過了三個月的苦幹,終於在同年 6 月正式發布了 KubeSphere 的社區版,並邀請了部分用戶進行內測。
精細化打磨的 KubeSphere 得到了用戶的很多好評。而這一切並沒有讓 KubeSphere 團隊止步,他們又進行了 5 個月的研發迭代,繼而在 2018 年的 12 月發布了 KubeSphere 高級版,並進入了公測期。KubeSphere 團隊吸收了在社區版上積累的經驗,高級版將更多的精力放在企業用戶的專業性、高可用性、易用性需求上。而就在前不久的 4 月發布的 KubeSphere 高級版 2.0 中,融合了更多的企業級特性。
四爺向我介紹說,KubeSphere 容器平台在企業增強特性上主要可總結為四點:
- 極簡:嚮導式圖形化的 UI 全方位覆蓋調度、管理、運維監控等功能,低學習成本高效使用。
- 安全:基於微服務級別細粒度的多租戶許可權管理,完美實現資源隔離,保障數據安全性。
- 運維友好:可視化、自動化的統一運維,以及全方位、立體化的秒級頻率監控,極大程度降低運維複雜度。
- 兼容企業傳統 IT:尊重企業 IT 管理規範,兼容企業既有 IT 管理流程,可平滑整合到現有 IT 體系中。
比如說,在 Kubernetes 社區中,官方儀錶盤糟糕的監控功能飽受詬病,為了解決這個問題,KubeSphere 團隊為用戶提供了更細粒度的許可權控制、自定義控制、日誌查看等功能,幫助企業更好的解決監控的需求。此外,KubeSphere 還提供了諸如 DevOps、微服務治理等能力,可以幫助企業更加簡單的完成 Kubernetes 生態的接入。這些方面的差異性體現在以下幾點:
- DevOps:無需Jenkins配置、圖形化拖拽編輯、即點即用
- 微服務:治理功能完善、全可視化治理、低成本運維(輕點即用、零 Istio 基礎也可以)
在接下來會發布的版本中,四爺透露道,新版會更加適配企業用戶的需求,將會為企業用戶提供諸如多集群、多租戶、多網路、AI平台等企業亟需的特性,還將對 KubeSphere 進行架構層面的改造,讓 KubeSphere 支持模塊化配置,用戶可以根據自己的需要,選擇所需的產品模塊,從而讓 KubeSphere 的架構更加靈活、自如。
KubeSphere 的開源基因
如今是開源的年代,而雲計算、容器和 Kubernetes 更在開源中誕生並茁壯成長起來的奇蹟花園。作為開源社區,我們也非常關心 KubeSphere 的開源情況。
四爺表示,KubeSphere 項目從一開始,就是抱著開源的想法去做的,項目從初期便開源。他提到,青雲QingCloud 做 KubeSphere 一開始就和其他的企業的思路不同。青雲有天然的企業服務基因,從一開始 KubeSphere 就是面向企業設計和研發的,企業對於開源產品會更加的信任,而開源模式也能夠讓 KubeSphere 走得更遠。
這種開放的策略,讓 KubeSphere 在早期收穫了大量用戶,也讓 KubeSphere 贏得了用戶的信賴。
此外,四爺表示,KubeSphere 的開源也是符合用戶利益的。實際上,有不少用戶在開始使用青雲QingCloud 的雲服務之前,已經採購了其他的雲服務、虛擬化或者物理設備,很難馬上遷移到青雲上來。開源的 KubeSphere 可以幫助他們在其它基礎設施上先用起來。這種開放的策略,讓 KubeSphere 在早期收穫了大量用戶,也讓 KubeSphere 贏得了用戶的信賴。
當 KubeSphere 根植於青雲時
開源的 KubeSphere 與雲平台是完全解耦的,這意味著 KubeSphere 可以運行於任何公有雲基礎設施之上,而當 KubeSphere 根植於青雲QingCloud 自身所提供的基礎設施時,就出現了 QKE。
周小四說,「QKE 是我們在 KubeSphere 容器平台的基礎上,加入了青雲的基礎設施,以進一步的降低用戶的使用成本。」
「從一開始做我們就知道,KubeSphere 的最終形態一定是對接公有雲的,也只有公有雲才有足夠的資源提供給企業進行彈性伸縮。我們在 KubeSphere 的基礎之上,對接了青雲的高可擴展性網路和高性能存儲,幫助企業用戶更加簡便地使用 Kubernetes 完成應用開發,而無需將大量的精力投放在底層基礎設施的運維上。」
進一步的,在 QKE 之上,QKS(QingCloud Kubernetes Service)也會很快推出,QKS 是 QKE 的升級版。「QKS 也在 KubeSphere 之上,提供了不少非常有價值的功能,比如說,相比於其他家的容器服務,QKS 能夠根據用量付費,這和其他家以集群來付費的理念是完全不同的。他們的本質上還是購買計算資源,然後在資源內部進行彈性。而 QKS 的底層是一個大的資源池,所有的用戶都從這個資源池內調取資源進行計算,使用完成後就可以釋放,從而達到真正的『按量計費』。」
尾聲
或許都是技術人吧,兩個有共同話題的人聊起來技術就滔滔不絕,聊天中,我問起了「四爺」這個頗為霸氣的昵稱的來歷,據說最初這來自同事們的戲稱,周小四在技術問題上非常較真,十分霸氣;而在攻關重大技術難關時,又能領著大家迎頭挑戰,頗有俠氣,因此這個昵稱在技術部門內不脛而走,最後在整個青雲公司內,甚至連客戶都這樣親切稱呼他。我想,這正是一個技術人對技術的自信、對自己做出來的產品自信,才能自信立於雲計算的潮頭吧。
「穿山甲專訪」欄目是 Linux 中國社區推出的面向開源界、互聯網技術圈的重要領軍人物的系列採訪,將為大家介紹中國開源領域中一些積極推動開源,諳熟開源思想的技術人,並辨析其思考、挖掘其動因,揭示其背後所發生的事情,為關注開源、有志於開源的企業和技術人標出一條路徑。
取名為「穿山甲」寓意有二:取穿山甲挖掘、深入之意來象徵技術進步和表徵技術領袖的作用;穿山甲是珍稀保護動物,宣傳公益。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive