云原生的新思考,为什么容器已经无处不在了
4月24日,中國信息通信研究院主辦的首屆云原生產(chǎn)業(yè)大會在北京舉行,在《云原生數(shù)字引領(lǐng)未來》的主題演講中,阿里云容器服務(wù)總監(jiān)易立表示:“云原生不但可以很好的支持互聯(lián)網(wǎng)應(yīng)用,也在深刻影響著新的計算架構(gòu)、新的智能數(shù)據(jù)應(yīng)用。以容器、服務(wù)網(wǎng)格、微服務(wù)、Serverless為代表的云原生技術(shù),帶來一種全新的方式來構(gòu)建應(yīng)用。”本文根據(jù)易立演講內(nèi)容整理而成。
擁抱云原生技術(shù),解耦系統(tǒng)復(fù)雜度
如今,大多數(shù)企業(yè)開始全面擁抱云計算,在All-in-Cloud全面到來的時代,三個重要轉(zhuǎn)變:基礎(chǔ)設(shè)施的云化、核心技術(shù)的互聯(lián)網(wǎng)化、業(yè)務(wù)的數(shù)據(jù)化和智能化。在各行各業(yè)中,都有很多業(yè)務(wù)應(yīng)用從誕生之初就生長在云端,各個企業(yè)也因此越來越像互聯(lián)網(wǎng)公司,而技術(shù)能力被視為不可或缺的核心競爭力。在2019阿里云峰會·北京站上,阿里云智能總裁張建鋒在談及‘核心技術(shù)的互聯(lián)網(wǎng)化’時,也提到了大力投資云原生。
為什么要擁抱云原生?一方面,云計算已經(jīng)重塑了軟件的整個生命周期,從架構(gòu)設(shè)計到開發(fā),再到構(gòu)建、交付和運維等所有環(huán)節(jié);另一方面,企業(yè)IT架構(gòu)也隨之發(fā)生巨大變化,而業(yè)務(wù)又深度依賴IT能力。這帶來了一定程度的復(fù)雜性和挑戰(zhàn)性。
正如人類社會發(fā)展伴隨著技術(shù)革命與社會大分工一樣,云原生技術(shù)的出現(xiàn)解耦了很多復(fù)雜性,這是IT技術(shù)的進步。
首先,Docker實現(xiàn)了應(yīng)用與運行環(huán)境的解耦,眾多業(yè)務(wù)應(yīng)用負載都可以被容器化,而且應(yīng)用容器化滿足了敏捷、可遷移、標準化的訴求;其次,Kubernetes的出現(xiàn)讓資源編排調(diào)度與底層基礎(chǔ)設(shè)施解耦,應(yīng)用和資源的管控也開始得心應(yīng)手,容器編排實現(xiàn)資源編排、高效調(diào)度;隨后,Istio為代表的服務(wù)網(wǎng)格技術(shù)解耦了服務(wù)實現(xiàn)與服務(wù)治理能力。此外,阿里云還提供了Open API、SDK等豐富的開發(fā)工具,實現(xiàn)第三方被集成,為云的生態(tài)伙伴提供廣闊的可能性。這樣的技術(shù)分層推動了社會分工,極大促進了技術(shù)和業(yè)務(wù)創(chuàng)新。
在阿里云看來,云原生首先可以支持互聯(lián)網(wǎng)規(guī)模應(yīng)用,可以更加快速地創(chuàng)新、和低成本試錯;其次,屏蔽了底層基礎(chǔ)架構(gòu)的差異和復(fù)雜性;同時,服務(wù)網(wǎng)格、無服務(wù)計算等新的計算范型的不斷涌現(xiàn),給整體IT架構(gòu)能力帶來了極致彈性,從而更好地服務(wù)于業(yè)務(wù)。用戶可以基于阿里云容器服務(wù)構(gòu)建面向領(lǐng)域的云原生框架,如面向機器學習的Kubeflow,和面向無服務(wù)器的Knative等等。
方興未艾,容器應(yīng)用的新思考
容器已經(jīng)無處不在了, 作為容器服務(wù)的提供者,我們認為容器技術(shù)會繼續(xù)發(fā)展,被應(yīng)用于“新的計算形態(tài)”,“新的應(yīng)用負載”和“新的物理邊界”,在此將相關(guān)觀察和新思考分享給大家。
1 新的計算形態(tài):云原生的Serverless Runtime已來
云原生技術(shù)理念,是使企業(yè)用戶及開發(fā)者只關(guān)注應(yīng)用開發(fā),無需關(guān)注基礎(chǔ)設(shè)施及基礎(chǔ)服務(wù)。與之相似的Serverless計算,將應(yīng)用服務(wù)資源化并以API接口的方式提供出來,使用者只需從客戶端發(fā)起調(diào)用請求即可,更重要的是,pay as you go 能夠真正為用戶節(jié)省成本。
Serverless Runtime 分為面向基礎(chǔ)架構(gòu)容器的實現(xiàn),面向應(yīng)用服務(wù)封裝的實現(xiàn),和事件驅(qū)動面向函數(shù)計算的實現(xiàn)。
云原生Serverless Runtime形態(tài)包含多種方式。業(yè)界各個廠商也相應(yīng)地設(shè)計出了不同服務(wù)解決方案:
- 面向函數(shù)的Function as a Service(FaaS)?- 比如AWS Lambda,阿里云的函數(shù)計算,提供了事件驅(qū)動的編程方式,用戶只需提供函數(shù)實現(xiàn)響應(yīng)觸發(fā)實踐,開發(fā)效率很高。阿里云函數(shù)計算按照調(diào)用量計費,可以根據(jù)業(yè)務(wù)流量平滑調(diào)整計算資源,在典型場景下,會有10%~90%的成本下降。客戶碼隆科技做模型預(yù)測,利用函數(shù)計算降低了40%的計算成本。
- 面向應(yīng)用?- 比如Google App Engine、新發(fā)布的Cloud Run和阿里云EDAS Serverless,用戶只需提供應(yīng)用實現(xiàn)而平臺負責應(yīng)用彈性、自動化運維,這主要面向互聯(lián)網(wǎng)類型應(yīng)用。相比于FaaS,面向應(yīng)用的Serverless形態(tài)無需改造現(xiàn)有應(yīng)用,阿里云EDAS Serverless為流行的開源微服務(wù)框架提供了無服務(wù)器應(yīng)用托管平臺,支持Spring Cloud,Apache Dubbo,或者阿里云HSF框架。
- 面向容器?– 比如AWS fargate,或者是阿里云的Serverless Kubernetes 應(yīng)用的載體是容器鏡像,靈活性很好,配合調(diào)度系統(tǒng)可以支持各種類型應(yīng)用,而無需管理底層基礎(chǔ)架構(gòu)。針對容器化應(yīng)用,阿里云在去年5月推出了Serverless Kubernetes容器服務(wù),無需節(jié)點管理和容量規(guī)劃,按應(yīng)用所需資源付費,彈性擴容。針對阿里云基礎(chǔ)能力優(yōu)化,安全,高效。極大降低了管理Kubernetes集群的。Serverless Kubernetes的底層是構(gòu)建在阿里云針對容器優(yōu)化的輕量虛擬化彈性容器實例之上,提供了輕量、高效、安全的容器應(yīng)用執(zhí)行環(huán)境。Serverless Kubernetes無需修改即可部署容器類型應(yīng)用。
2 新的應(yīng)用負載:容器正被用于越來越多類型應(yīng)用
最早容器被認為不適合傳統(tǒng)的已有應(yīng)用,但是現(xiàn)在狀況已大為改觀。容器已經(jīng)開啟了對Windows生態(tài)的支持,新發(fā)布的1.14版本中Kubernetes 的Pod,Service,應(yīng)用編排,CNI 網(wǎng)絡(luò)等絕大多數(shù)核心能力都已經(jīng)在 Windows 節(jié)點上得到了支持。當今Windows系統(tǒng)依然占有60%的份額,比如企業(yè)的ERP軟件、基于ASP的應(yīng)用、大量的Windows的數(shù)據(jù)庫等,這些傳統(tǒng)的基于虛擬化的應(yīng)用,都可以在代碼不用重寫的情況下實現(xiàn)容器化。
基于容器技術(shù)構(gòu)建的新架構(gòu),會催生新的應(yīng)用業(yè)務(wù)價值。云原生AI是非常重要的應(yīng)用場景,快速搭建AI環(huán)境,高效利用底層資源,無縫配合深度學習的全生命周期。對于AI工程,云原生系統(tǒng)可以在四個維度上為提效:
- 優(yōu)化異構(gòu)資源調(diào)度
- 彈性、高效、細粒度(支持GPU共享)
- 簡化異構(gòu)資源管理復(fù)雜性,提升可觀測性和使用效率
- 可移植、可組裝、可重現(xiàn)的AI流程
以深度學習分布式訓練為例,通過阿里云容器服務(wù)可以獲得三重加強。資源優(yōu)化:統(tǒng)一調(diào)度CPU/GPU等異構(gòu)資源,使用VPC/RDMA網(wǎng)絡(luò)加速;性能提升:GPU 64卡P100,加速比提升90%,相比原生Tensorflow有45%提升;算法優(yōu)化:MPI代替gRPC通信、ring-allreduce環(huán)形通信、計算和通信重疊、梯度融合等。
還有其他高性能計算的場景,以基因數(shù)據(jù)處理為例,阿里云某用戶在5小時內(nèi)完成WGS 100GB數(shù)據(jù)處理,支持5000+步驟的復(fù)雜流程, 90秒實現(xiàn)500節(jié)點擴容充分發(fā)揮容器極致彈性。
3 新的物理邊界:云-邊-端,容器不止運行在IDC服務(wù)器中
容器最被熟知的基礎(chǔ)環(huán)境是數(shù)據(jù)中心,在業(yè)務(wù)流量高峰與低谷之時,憑借容器極致彈性可以實現(xiàn)應(yīng)用與資源伸縮,有效地保證高利用率與高性價比。
隨著5G和物聯(lián)網(wǎng)時代的到來,傳統(tǒng)云計算中心集中存儲、計算的模式已經(jīng)無法滿足終端設(shè)備對于時效、容量、算力的需求。將云計算的能力下沉到邊緣側(cè)、設(shè)備側(cè),并通過中心進行統(tǒng)一交付、運維、管控,將是云計算的重要發(fā)展趨勢。以Kubernetes為基礎(chǔ)的云原生技術(shù),在任何基礎(chǔ)設(shè)施上提供與云一致的功能和體驗,實現(xiàn)云-邊-端一體化的應(yīng)用分發(fā), 支持不同系統(tǒng)架構(gòu)和網(wǎng)絡(luò)狀況下,應(yīng)用的分發(fā)和生命周期管理,并且針對邊緣及設(shè)備進行如訪問協(xié)議、同步機制、安全機制的種種優(yōu)化。?
如前所述,應(yīng)用容器化實現(xiàn)了標準化的可移植性,促成了敏捷彈性的云原生應(yīng)用架構(gòu)。不僅大大簡化了多云/混合云的部署,而且優(yōu)化成本,同時提供更多的選擇,比如滿足安全合規(guī)的要求、提升業(yè)務(wù)敏捷性、提升地域覆蓋性等等。
容器可以適用于多種基礎(chǔ)環(huán)境,比如數(shù)據(jù)中心、邊緣云、和多云/混合云,使得開發(fā)者關(guān)注回歸到應(yīng)用本身。
寫在最后
云原生時代,是開發(fā)者最好的時代。
云原生不但可以很好的支持互聯(lián)網(wǎng)應(yīng)用,也在深刻影響著新的計算架構(gòu)、新的智能數(shù)據(jù)應(yīng)用。以容器、服務(wù)網(wǎng)格、微服務(wù)、Serverless為代表的云原生技術(shù),帶來一種全新的方式來構(gòu)建應(yīng)用。此外,云原生也在拓展云計算的邊界,一方面是多云、混合云推動無邊界云計算,一方面云邊端的協(xié)同。
云原生時代,也是云廠商更好發(fā)揮作用、為客戶提供更多價值的時代。
云廠商需要幫助用戶最大化利用“云”的能力,最大化發(fā)揮“云”的價值,成就企業(yè)創(chuàng)造商業(yè)價值。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的云原生的新思考,为什么容器已经无处不在了的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自然语言生成(NLG)的好处是什么,它如
- 下一篇: Spring Cloud Alibaba