阿里雲李響:聊聊開源和雲原生

在第十五屆“開源中國開源世界”高峯論壇上,阿里雲資深技術專家、etcd 創始人、CNCF TOC 李響榮獲2020中國開源傑出人物貢獻獎。恭喜李響!

去年,全球頂級開源社區雲原生計算基金會CNCF正式宣佈其技術監督委員會席位改選結果。阿里雲資深技術專家李響入選,成爲該委員會有史以來首張中國面孔。

李響是 CoreOS 最早期的工程師之一,參與創建了 etcd、operator framework、rkt 等開源項目。而在開源社區中,李響作爲 etcd 作者被開發者所熟知,etcd 是國際知名且被最爲廣泛使用的分佈式一致性存儲系統,被阿里巴巴、騰訊、華爲、騰訊、微軟、谷歌、VMWare 等企業在生產環境和客戶產品中使用,用來解決分佈式系統中重要元信息存儲、管理和備份的問題,以及分佈式系統組件一致性協調的問題。

在加入阿里雲後,李響一直在推動雲原生領域自動化運維相關理念、Operator 概念、OAM 標準的建立。Operator 給予開發和運維人員在雲原生平臺構建無狀態和複雜應用運維的理論標準和實踐基礎,大幅度提高了雲原生運維平臺的覆蓋度,在開源生態中湧現出了超過 500 個 Operator 具體實現,覆蓋了幾乎所有的主流雲原生軟件的運維,其中包含 RocketMQ、Kafka、ZooKeeper、Consul、Argo、Kubeflow 等。這些理念深度影響了雲原生領域的發展。

在第十五屆“開源中國開源世界”高峯論壇上,阿里雲資深技術專家、etcd 創始人、CNCF TOC 李響榮獲2020中國開源傑出人物貢獻獎。

對於國內外開源的進展以及雲原生實踐的發展,我們找李響聊了聊他的看法。

開源,從“使用”到“融入”

開源在近些年的熱度一直居高不下。所謂開源,就是將軟件的源代碼公開,允許所社區成員對其進行修正、改進和創新,並將其成果與社區內的所有成員共享。除了開發者以個人的身份參與開源之外,企業也在加大力度參與開源軟件的研發。

李響提到,開源的融入應該是一個循環:使用 - 發現問題/做了新功能 - 提交代碼給項目 - 更多人用。

目前國內開源的發展更多停留在使用階段,在合適的場景使用開源技術來解決一些業務問題。一個比較好的趨勢是,國內對於開源技術的認可度逐漸提高,參與開源的企業和開發者也逐年增加。阿里巴巴也在積極推動一些先進的開源理念的落地,比如雲原生。李響提到,如果國內一些思想前衛的開發者願意花時間與精力去實踐雲原生,並不斷與國外的技術思想去碰撞,那麼我們就能夠對雲原生社區的發展產生一些影響力,從而有資格來引領雲原生技術的發展方向。“其實中國的開發者完全有能力參與到開源項目的進程中,並且去影響開源項目。”

還有一種趨勢是,國內一些基於開源技術去構建技術體系的廠商越來越多。這些廠商不單單是像以前一樣售賣開源技術,而是自己構建或者嘗試去構建開源生態,並在國內和國外去推廣。以前在 OpenStack 剛出來的時候,有很多廠商基於 OpenStack 這項技術進行包裝、集成、售賣。國內一些 to B 的廠商也採用了相似的思路,比如發展較好的 PingCAP。此外,一些初創公司也有意識地去打造開源技術並推廣開源技術,這也是國內對於開源態度的一個轉變。

當然,國內開源的發展還有一些需要提升的地方。李響提到,一方面,國內的開發者應該更積極地參與到整個開源社區的建設中,不僅僅是技術建設,有時候思想碰撞也很重要。我們要做的不僅是給開源項目提一些短期的問題,或者幫助開源項目修復Bug,而是要爲更長線的工作做準備。只有融入到社區中,才能給到社區更具體明確的需求,幫助開源社區的發展,甚至影響開源社區的未來方向。

對於參與開源的企業而言,不論是創業公司,還是雲廠商,能夠從 0 到 1 去做一些開源項目,並嘗試去做一些創新性的、先進性的項目,把國內在開源社區和先進生產力上的影響力發揚光大,甚至去打造一些國際知名的開源品牌,才能真正融入到開源的發展進程中。

當然,開源的世界裏也有一套自己的玩法。

關於開源治理

前段時間,谷歌將Istio項目商標的所有權正式移交至 Open Usage Commons(OUC)。接受 Istio 後,OUC 將與項目指導委員會共同制定商標使用指南,方便社區統一使用Istio項目商標。此舉引發了業界激烈的討論,作爲CNCF TOC,李響談了談他對於開源治理的一些看法。

開源可以從三個部分來理解,第一部分是代碼的開放,就是讓大家可以看到並且修改代碼。這是任何一個開源項目要做的最基礎的事情。第二部分是開源工作中涉及的品牌和專利,把這部分工作開放,讓品牌從屬於一箇中立的組織,這樣其他廠商或者用戶使用的時候,不會受到專利的限制,也沒有品牌的擔憂。

第三部分是治理模型的開放,治理模型的開放意味着每一個項目都有一個治理組織,對開源項目做出一定貢獻或者達到某種標準,就被允許加入到治理組織中,對開源項目的未來發展擁有一定的話語權和決策權。舉個例子,阿里巴巴今天開源了一個項目 X ,最開始參與投票的 5 個人都來自於阿里巴巴,假設有一天阿里巴巴的貢獻減少了, B 公司的貢獻增加了,那麼 B 公司就有權利去推動這個開源項目的治理,進而控制它的走向。比如 Redis 項目近期放棄之前的專制管理模式,轉而採用新的“社區自治模式”。這意味着 Redis 項目的未來命運將由整個社區決定,而不再單純掌握在 Sanfilippo(Redis之父) 一個人手中。

谷歌把品牌和專利移交給 OUC ,讓品牌從屬於一箇中立的組織,就意味着在開放代碼的基礎之上,將代碼相關的品牌和專利變成中立了,這樣每一個參與項目的人都可以來使用 Istio 的品牌,人人平等。

從開源項目的使用者來看,我們肯定希望開源的項目可以做到上面所說的三部分(代碼、品牌、治理模型)都能夠開放,從長期來看,這是對用戶最有利的局面,這樣開源項目就可以按照社區的需求導向來發展,而不是按照參與的某一家公司的意向來發展。

但是谷歌並沒有把治理模型開放出來,一是因爲 Istio 項目還處於發展早期階段,如果開放治理模型,會導致很多人蔘與到 Istio 早期進程中,分裂的話語權對於一個早期尚不成熟的項目而言是不利的。從商業化的角度來看,如果谷歌擁有對於開源項目的治理權利,那麼,對於該項目的未來走向是有一定的把控能力,這對於谷歌未來佈局產品線有一定的先發優勢,這也是谷歌沒有開放治理模型的一層考慮。

Istio 之所以成爲“香餑餑”,因爲它是目前 Service Mesh 社區最引人注目的開源項目,而 Service Mesh 也是當下雲原生領域最被看好的發展趨勢。

雲原生:企業的顧慮與不可抵擋的行業趨勢

近年來,雲原生的理念越來越受到業界的重視,李響作爲雲原生領域的創新者,也在推動國內雲原生的技術佈道,包括深度參與阿里雲原生架構白皮書的撰寫、參與設計雲原生實踐課程等。雲原生理念對於國內企業而言,還處於一個早期發展的階段,無論是技術、產品、標準等,都還處於快速迭代的過程中。企業在應用雲原生的技術和產品時,難免有所顧慮。

Q:國內和國外在雲原生領域的發展,有多大的差距?

李響: 總體來看,國內外雲原生技術理念的發展沒有太大的差距。但是由於雲原生理念的興起是在北美,所以社區生態的發展中心還是在硅谷這裏,一些新的技術理念或者架構應用、創新場景等,也是需要一些時間才能慢慢引入到國內。

區別比較大的是國內企業跟國外企業對於雲服務的接受度。我們提到雲,最先想到的一定是節約資源、彈性、成本降低、技術紅利這些大家關心的點。北美企業的人力成本普遍較高,所以他們會願意爲雲上的軟件服務付費,儘可能節約人力成本。國內很多企業不缺少研發人員,整體研發能力也很強,在雲服務提供附加值有限的情況下,很多企業會自己研發一些定製化的能力。

阿里是國內較早開始踐行雲原生理念的公司之一,通過在內部實踐成熟之後,開始對外輸出去影響更多的企業 。我們非常看重如何通過雲原生爲企業帶來更多的附加值,並且這個附加值一定要超過企業自己定製開發帶來的價值,只有這樣,企業纔會願意擁抱雲原生。未來阿里也會研發出一些更有競爭力的產品,提供更具價值的服務,並去影響海外的用戶,讓國內的雲原生髮展與國際接軌。

Q:雲上的服務未來會以什麼樣的形態存在?

李響: 未來的雲一定不是資源,對於雲廠商而言,重心不是售賣這些基礎的資源,而是在雲上建立一個服務體系和生態,讓企業更便捷和方便地使用雲上的服務。隨着雲服務規模化的發展,一個雲服務可以交付給很多用戶,由於邊際效應,每個雲服務的成本會大幅降低,對於企業而言更划算。但這對於阿里雲而言也提出了一個挑戰, 如何把雲服務更好地規模化,讓每個服務更精細也更通用化,從而幫助企業解決更多常見的問題。

Q:選用雲原生技術時,企業對雲原生技術棧進行大規模應用時的安全性、可靠性、性能、連續性存在疑慮。這個問題如何解決?

李響: 對於雲原生有顧慮其實可以理解,畢竟雲原生還處於早期發展的階段。阿里雲在幫助國內企業瞭解雲原生、使用雲原生上做了很多工作。對於雲原生技術棧的可靠性、性能、連續性這方面的顧慮,我們從兩個方面來解決。一方面是在內部嘗試去使用這些技術, 阿里巴巴內部有非常豐富的、大規模的使用場景,通過這些場景可以打磨雲原生技術。 在技術成熟以後,我們將這些技術回饋到社區,幫助雲原生社區提高技術質量和發展水平。

另一方面, 阿里雲上提供了豐富的雲原生產品服務、雲原生產品家族。 以前一家企業想使用雲原生的技術或產品,需要花費大量的精力研究一些開源項目,自己做運維和管理,還需要考慮集成、穩定性保障等問題,這樣才能建立一個雲原生平臺。今天,爲了方便企業和開發者更容易地使用雲原生的技術和產品,更好地接受雲原生的理念,並解決企業擔憂的可靠性、性能、連續性等問題,阿里云爲大家提供了一整套雲原生產品家族,提供了非常強的SLA保障。

另外,關於雲原生的安全性問題,2019 年,阿里雲安全沙箱技術商用上線,支持 ECI、ACK、SAE 邊緣計算等多種業務。螞蟻金服收購了 Hyper ,共同打造安全可靠的容器運行環境。阿里雲安全沙箱是基於 MicroVM 構建的安全容器 Runtime。首先它是一個基於硬件虛擬化技術的 MicroVM ,採用了深度定製優化 hypervisor ,極簡的虛擬機設備模型。其次阿里雲安全沙箱也是一個容器 Runtime,提供鏡像分發、鏡像管理、容器網絡、容器存儲,完全兼容 OCI 和 CRI 規範。此外基於軟硬一體設計的機密計算容器開始展露頭角,阿里雲和螞蟻團隊共同推出了面向機密計算場景的開源容器運行時技術棧 inclavare-containers 。它基於Intel SGX等機密計算技術,支持螞蟻的 Occlum ,開源社區的 Graphene Libary OS ,極大降低了機密計算應用的開發、交付和管理。

Q:越來越多的廠商開始探索 OAM 落地實踐, OAM 有什麼魅力?

李響: OAM(開放應用模型)是一套由阿里雲和微軟共同發起、由雲原生社區共同維護的應用描述規範(spec)。OAM 的核心理念是:“以應用爲中心”,它強調研發和運維圍繞着一組聲明式的、靈活可擴展的上層抽象進行協作,而不是直接去使用複雜晦澀的基礎設施層 API。

在 OAM 規範下,研發和運維的關注點是完全分離開的。研發與運維只需要編寫非常少量的、跟自己相關的一些字段,而不是完整的 K8s Deployment 和 HPA 對象,就可以輕鬆的定義和發佈應用。這就是“上層抽象”爲我們帶來的好處。

目前, 阿里雲 EDAS 服務已經成爲了業界第一款基於 OAM 構建的生產級應用管理平臺,並很快推出下一代“以應用爲中心”的產品體驗 ;在 CNCF 社區,知名的跨雲應用管理與交付平臺 Crossplane 項目也已經成爲了 OAM 規範的重要採納者和維護者。

實際上,不止 AWS Fargate,我們雲計算生態裏的所有 Serverless 服務都可以很容易的使用 OAM 來作爲面向開發者的表現層和應用定義,從而實現對原本複雜的基礎設施 API 進行簡化和抽象,將原本複雜的流程化操作“一鍵”升級爲 Kubernetes 風格的聲明式應用管理方式。

更重要的是,得益於 OAM 的高可擴展性,用戶不僅可以在 Fargate 上部署容器應用,還可以用 OAM 來描述 Function、虛擬機、WebAssembly 乃至任何你能想到的工作負載類型,然後把它們輕鬆的部署在 Serverless 服務上,甚至在不同的雲服務之間無縫遷移。

Q:未來,雲原生會如何發展?

李響: 我們一直希望雲原生產品生態可以做到標準和開放。不同廠商之間的服務、基礎設施等,都可以實現互通。用戶開發的應用可以運行在阿里雲容器之上,也可以運行在其他廠商的容器之上,應用所依賴的東西本質上都可以是一些開放的接口。 這其實一直是阿里雲在努力的方向,從雲原生的發展角度,我們也在儘量做到標準開放,並且跟社區生態比較好的進行融合,從而減少用戶的擔憂。

阿里在雲原生領域比較關注4個方面的發展:

一是對於 Kubernetes 和 Containerd 的貢獻。 阿里在內部進行了大規模的實踐,在性能、規模性、效率上與上游進行共建。從整個生態來看,阿里是最早開始佈局雲原生的廠商之一,也在嘗試擴大雲原生覆蓋的範圍,做邊界的拓展。阿里雲推出開源項目 OpenYurt ,一方面是把阿里雲在雲原生邊緣計算領域的經驗回饋給開源社區,另一方面也希望加速雲計算向邊緣延伸的進程,並和社區共同探討未來雲原生邊緣計算架構的統一標準。

二是在微服務體系中,阿里有比較深厚的積累,同時也做了很多開源方面的工作。 通過一些開源項目,比如 Dubbo、Nacos 等,把阿里微服務體系中的經驗和實踐向外輸出。另外,阿里也在把微服務體系、開源體系的技術與雲進行整合,這樣使用雲的客戶就能更方便地直接使用開源的產品。

三是推進微服務體系向下一代去演進。 尤其在雲原生領域,大家比較看好Service Mesh 的發展,阿里也在推動微服務體系與Service Mesh 融合,實現更好的兼容性和互通性,進而提高Service Mesh 整個生態的活躍度和成熟度。 同時,我們也在讓一些開源項目和雲產品變得更加雲原生化或者說更加適合雲的應用場景,比如消息系統 RocketMQ,我們正在提高RocketMQ開源軟件自身的彈性和進行 Serverless 化,從而降低使用成本,並且在雲上更容易部署。

四是嘗試一些創新的、先進性的雲原生探索。 比如 OAM 開放應用模型的 Kubernetes 標準實現 Crossplane 項目,在同 OAM 社區進行深度合作之後,今天的 Crossplane 是一個面向混合雲場景的應用與雲服務管理控制平面,它致力於基於 K8s 聲明式 API,遵循開放應用模型標準對應用進行管理與交付,並通過獨有的機制對雲服務以雲平臺無關的、最終用戶友好的方式進行抽象與管理。

Crossplane 項目進入 CNCF Sandbox 也意味着,從今天開始 OAM Kubernetes 標準實現的所有代碼、文檔和整個 Crossplane 項目本身的所有權,都將轉交給 CNCF 社區進行託管,與該項目背後的任何商業公司(無論是阿里雲還是微軟雲)完成解耦。

本文轉載自公衆號阿里巴巴中間件(ID:Aliware_2018)。

原文鏈接

https://mp.weixin.qq.com/s?__biz=MzU4NzU0MDIzOQ==&mid=2247489976&idx=1&sn=4f070e12f12e63e8f3069bbcfece9629&chksm=fdeb2bd8ca9ca2ce92a71c48831e78e0ca1f49d2511e0353438bab1a30bbfa41069834873a36&scene=27#wechat_redirect

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章