做者 | 禾易安全
在第十五屆「開源中國開源世界」高峯論壇上,阿里雲資深技術專家、etcd 創始人、CNCF TOC 李響榮獲 2020 中國開源傑出人物貢獻獎。恭喜李響!網絡
去年,全球頂級開源社區雲原生計算基金會 CNCF 正式宣佈其技術監督委員會席位改選結果。阿里雲資深技術專家李響入選,成爲該委員會有史以來首張中國面孔。架構
李響是 CoreOS 最先期的工程師之一,參與建立了 etcd、operator framework、rkt 等開源項目。而在開源社區中,李響做爲 etcd 做者被開發者所熟知,etcd 是國際知名且被最爲普遍使用的分佈式一致性存儲系統,被阿里巴巴、騰訊、華爲、騰訊、微軟、谷歌、VMWare 等企業在生產環境和客戶產品中使用,用來解決分佈式系統中重要元信息存儲、管理和備份的問題,以及分佈式系統組件一致性協調的問題。less
在加入阿里雲後,李響一直在推進雲原生領域自動化運維相關理念、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 社區進行託管,與該項目背後的任何商業公司(不管是阿里雲仍是微軟雲)完成解耦。
首屆 KubeCon 2020 線上峯會
7 月 30 日 - 8 月 1 日,阿里巴巴雲原生專場,點擊連接預定有禮:https://developer.aliyun.com/topic/alibabacloudnative/kubecon2020
「阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,作最懂雲原生開發者的公衆號。」