做者 | 李響 阿里雲資深技術專家編程
關注「阿里巴巴雲原生」公衆號,回覆關鍵詞「容器」,可下載雲棲大會容器專場所有 PPT微信
摘要:利用雲原生技術構建應用簡便快捷,部署應用輕鬆自如,運行應用按需伸縮。現在,雲原生已經成爲下一代技術發展的趨勢。在 2019 杭州雲棲大會開發者峯會上,阿里巴巴資深技術專家李響就爲你們分享了阿里巴巴的雲原生技術與開發者的那些故事。
雲原生的本質目標就是充分釋放雲計算帶來的紅利,阿里巴巴但願開發者可以使用雲上極致彈性的資源交付能力,也可以使用雲上極爲便捷的產品和服務。阿里巴巴實踐雲原生也已經走過了幾年時間,並在去年啓動了全站上雲。阿里巴巴但願業務能夠更好地擁抱雲,更加全面地推動雲原生。架構
雲原生既帶來了技術紅利,同時也帶來了業務紅利。框架
談到實踐雲原生,其實能夠從 Kubernetes 這個雲原生的基石開始。從 Kubernetes 開始實踐雲原生的緣由主要有兩點:less
阿里巴巴的規模很是龐大,內部有超過 10 個集羣,超過 10 萬個節點,以及超過百萬級別的容器。那麼,開源技術和開源項目是否可以承受阿里巴巴的體量?可以抗住雙11峯值規模的考驗呢?運維
阿里巴巴堅信必定要和上游共建生態,阿里不但願只是去 Fork
Kubernetes,而但願去錘鍊和打造 Kubernetes,所以有三個策略:機器學習
在最近發佈的 Kubernetes 1.16 和 etcd 3.4 版本中,阿里巴巴和螞蟻金服也一同做出了大量貢獻,單機的數據存儲規模提高了 50 倍,單集羣節點規模也提高了 3 倍,徹底能夠知足阿里巴巴這樣體量的公司在雙 11 這種場景下的需求。今年的 618,螞蟻金服已經對 Kubernetes 集羣進行了驗證,在即將到來的雙 11,阿里會對 Kubernetes 集羣進行再次驗證。若是阿里巴巴可使用 Kubernetes 做爲雲原生的基石,相信 99.9% 的企業均可以信任 Kubernetes 以及雲原生技術。分佈式
除了雲原生的基石 Kubernetes 之外,阿里巴巴還但願推進總體基礎設施的全面升級,但願把雲原生技術的紅利傳導到更上層。微服務
基礎設施中一個重要的應用就是交付和運維,之前面向虛擬機的交付和運維很是複雜,而且不一樣企業有本身不一樣的運維模式和方法,多是手動也多是半自動,甚至在同一家企業內,運維手段也不盡相同。雲原生倡導的是統一的平臺和統一的理念,但願可以實現自動化運維,所以構建統一的應用模型和統一的應用架構分層就很是重要。學習
所以,阿里巴巴也同社區一塊兒在推動雲原生領域中應用交付與運維分層模型。而且將這一理念在阿里內部進行了規模化落地,目前已經推進了阿里內部的 4 個應用管理產品線面向雲原生全面升級,構建了 100 多個應用。阿里認爲這套應用結構很是有意義和價值,所以也與 CNCF 成立了應用交付領域小組,並由阿里的張磊擔任小組聯繫主席 ,但願與社區一塊兒推動這個項目。
在雲原生領域中,位於更上層的系統就是服務網格。服務網格的好處在於具備強大的多語言支持能力,可以下降業務對接服務治理的難度,更易於實現統一的基礎設施升級。在真正的實踐中,Service Mesh 也會面臨一些挑戰,好比如何支持更多的協議,可否在大規模場景下得以較好運用,數據鏈路、服務面是否足夠穩定等。
爲了解決 Service Mesh 面臨的上述挑戰,阿里巴巴和螞蟻金服率先決定選用一套與社區兼容的體系,並在阿里巴巴和螞蟻金服內部的雲原生系統當中進行打磨。今年 618 螞蟻金服已經完成核心繫統上到 SOFAMosn 的驗證工做,在立刻來臨的今年的雙 11,阿里巴巴和螞蟻金服將會在覈心繫統大規模上線 Service Mesh,同時會把自身技術演進的結果及時反饋到上游去,和社區一塊兒把 Service Mesh 從一個很是先進的技術變成一個很是穩定和可靠的技術,而且會在阿里雲推出 Service Mesh 服務,讓阿里雲上的開發者可以便捷地使用服務網格技術。
FaaS 是開發人員很是喜歡的技術和概念,它能夠極大地提高開發效率,使得開發者無需關注腳手架,能夠直接以響應式模式來填充代碼。同時,FaaS 能夠幫助你們實現自動的擴容和縮容,當遇到問題時也能夠幫助你們自動恢復,免去了運維的困擾。
但 FaaS 自己也存在幾個問題:
阿里巴巴但願在今年的雙 11 考驗 FaaS 服務的極致彈性和極致的啓動時間,阿里也會把 FaaS 的研究結果及時反饋到上游和阿里雲中去,爲廣大開發者提供更大的便利和紅利。
阿里巴巴與螞蟻金服對於核心開源社區的雲原生領域都作出了巨大的貢獻,而且在 etcd、Kata Containers、Containerd 以及 Dragonfly 等項目中都有核心 Maintainer。除這些項目外,咱們也會持續向 Kubernetes 等雲原生其餘領域提供貢獻,但願經過咱們的努力,可讓雲原生成爲一個穩定、可靠的技術,成爲企業將來的 IT 基石。
阿里巴巴在中國的開源社區以及開發者社區中有深厚的積累,以前就一直在運做不少開源項目。阿里巴巴但願用自身構建的土壤引領中國開發者走向雲原生模式。
Dubbo 是國內最受開發者歡迎的微服務引擎之一,最近阿里把 Dubbo 捐獻給了 Apache 基金會,但願它能夠成爲更加開放、更加標準的微服務引擎,但願可以與社區和開發者共建這個引擎。
如今,阿里巴巴對 Apache Dubbo 有了新的指望,但願 Apache Dubbo 可以成爲更雲原生的微服務框架。所以,在 Apache Dubbo 將來的演進道路中,有三個具體目標:
Nacos 是阿里巴巴去年開源的一個項目,開源以後很快就收到了普遍的好評。目前在 GitHub 上有超過 8000 個 Star,也有數十家企業已經將 Nacos 應用到了生產環境中。Nacos 自己在阿里巴巴內部也支撐了巨大致量微服務的註冊。Nacos 的研發目標是簡單且易用,其提供了一組很是簡單的 API,方便開發者使用 HTTP 或 DNS 進行服務發現。阿里巴巴但願 Nacos 可以成爲聯動傳統微服務框架和雲原生微服務框架的橋樑,所以也但願 Nacos 既能夠註冊傳統服務,又能註冊雲原生服務,讓兩邊的服務實現互融互通。這樣才能幫助阿里巴巴以及廣大開發者平滑、穩定地從傳統服務治理模式演進到雲原生的服務治理模式。
Apache RocketMQ 也是一個來自阿里巴巴的開源消息系統,它的目標是低延遲、高可靠、高穩定。Apache RocketMQ 在國內也收到了廣大開發者的好評,而且今年在各大城市都舉辦了 Apache
RocketMQ 開發者自發組織的 Meetup。除此以外,阿里雲還提供了豐富的消息產品家族,而它們的內核都是 Apache RocketMQ。
將來,阿里巴巴也但願 Apache RocketMQ 能夠進一步融入雲原生。但願 Apache RocketMQ 更有彈性,可以作到自動的擴容和縮容,也但願它可以更容易地被部署和運維。所以,如今阿里巴巴也在作 Apache RocketMQ Operator,但願可以讓 Apache RocketMQ 更容易地融入到 Kubernetes 生態體系中。此外,阿里巴巴也但願 Apache RocketMQ 可以更加開放和標準,而且目前在推廣 OpenMessaging 標準協議,但願讓 Apache RocketMQ 兼容 Cloudevent 體系,成爲 Serverless 的橋樑。
Deep Learning 是一個和雲原生同一時代發展起來的領域。Deep Learning 對兩件事情有很高的要求:
所以,Deep Learning 能夠和雲原生進行完美的融合,能夠利用容器和調度的能力,把集羣內部的異構資源合理地分配給 Deep Learning 框架使用,也能夠將雲原生所推廣的自動化部署和運維能力提供給 Deep
Learning,縮短 Deep Learning 模型端到端上線的時間,加強 AI 的核心競爭力。
ElasticDL 是螞蟻金服剛剛發佈的新一代基於雲原生的開源 AI 學習平臺,它的架構基於原生的 Kubernetes 體系,所以具備強大的容錯能力和彈性調度能力。另外,ElasticDL 可以支持新一代的 TensorFlow 2.0 框架,也但願引領 AI 開發者走向新一代的機器學習。將來,ElasticDL 會支持更多的 AI 模型,讓它自己變得更強大,也會更好地融入雲原生體系和 Kubernetes 體系。
除了對開源技術的貢獻以外,阿里巴巴認爲在知識、理念方面的推進也很是重要。所以,在今年年初,阿里巴巴上線了和 CNCF 聯合出品的雲原生技術公開課,目前服務了超過 1 萬名開發者。後續,阿里巴巴還將會把課程的內容文字化,方便你們利用零散時間進行閱讀。此外,阿里巴巴也正在作雲原生技術手冊,但願能夠採訪一些中小型公司和互聯網企業,探討他們在雲原生領域的實踐。阿里巴巴但願不只可以爲你們提供理念上的知識,還能夠提供實踐上的幫助。
最後,阿里巴巴也在舉辦不少雲原生以及開源相關的 Meetup,但願藉助這樣的活動拉近阿里巴巴和線下開發者的距離,傾聽開發者的聲音,瞭解開發者對社區的需求。也但願促進國內開發者的線下互動,增進相互瞭解,共同推進雲原生領域在中國的落地和發展。
「 阿里巴巴雲原生微信公衆號(ID:Alicloudnative)關注微服務、Serverless、容器、Service Mesh等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,作最懂雲原生開發者的技術公衆號。」
搜索「阿里巴巴雲原生公衆號」獲取更多K8s容器技術內容