亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

 

Service Mesh 如何重定義云原生計(jì)算?阿里服務(wù)網(wǎng)格技術(shù)大揭秘

受訪者 | 王夕寧

記者 | 伍杏玲

出品 | CSDN(ID:CSDNnews)

如今微服務(wù)已成為構(gòu)建現(xiàn)代云應(yīng)用的主導(dǎo)模式,它圍繞著特定的業(yè)務(wù)功能,將單個(gè)組件分解為獨(dú)立的服務(wù)。但隨之而來產(chǎn)生另外的問題:越來越多的系統(tǒng)被拆解成了很多個(gè)細(xì)胞一樣的微服務(wù),如何對(duì)微服務(wù)進(jìn)行管理,是工程師遇到的難題之一。

傳統(tǒng)的微服務(wù)架構(gòu)中,雖然有服務(wù)治理的組件,但需要在應(yīng)用代碼里進(jìn)行集成,如何標(biāo)準(zhǔn)化高效地部署和運(yùn)維的微服務(wù)?

Service Mesh應(yīng)運(yùn)而生。它將整體服務(wù)代碼獨(dú)立成一套服務(wù),將業(yè)務(wù)代碼和治理邏輯做了整體的分離,讓運(yùn)維部署變得簡單。有人認(rèn)為,Service Mesh是下一代微服務(wù)。

在前不久Gartner發(fā)布2020年公共云容器報(bào)告,阿里云連續(xù)兩年成為唯一入選的中國企業(yè),并成為全球容器產(chǎn)品最完善的云服務(wù)廠商之一。其中Alibaba Cloud Service Mesh(ASM)也位列入選的產(chǎn)品中,Service Mesh到底是什么?ASM背后的技術(shù)演進(jìn)是怎樣?

對(duì)此,CSDN(ID:CSDNnews)專訪阿里云高級(jí)技術(shù)專家、阿里云服務(wù)網(wǎng)格ASM技術(shù)負(fù)責(zé)人王夕寧,來一探究竟。

Service Mesh 如何重定義云原生計(jì)算?阿里服務(wù)網(wǎng)格技術(shù)大揭秘

云原生時(shí)代下,Service Mesh三大優(yōu)勢(shì)

王夕寧表示,過去幾年間Kubernetes得到了具有變革性的進(jìn)展,最重要的原因之一是其API的設(shè)計(jì)更加考慮了開發(fā)人員。開發(fā)者可以在Kubernetes中創(chuàng)建應(yīng)用部署或者服務(wù),這些應(yīng)用本身仍然在使用計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)資源,開發(fā)者可以使用一致的API方式來創(chuàng)建和使用,而不需要關(guān)注于太多底層細(xì)節(jié)。

但是,僅僅在Kubernetes中運(yùn)行一個(gè)Pod或者容器并不能解決復(fù)雜分布式應(yīng)用的全部,應(yīng)用除了運(yùn)行本身的代碼之外,還需要與其他應(yīng)用服務(wù)進(jìn)行網(wǎng)絡(luò)通信交互。定義應(yīng)用程序通信的API是云原生開發(fā)人員體驗(yàn)的關(guān)鍵部分,這些API通常被稱為Service Mesh API。通過Service Mesh技術(shù),重新定義了分布式應(yīng)用之間的通信消息機(jī)制與諸如拓?fù)洹⒙酚伞⒍攘亢驮L問控制的特性。

Service Mesh 有以下三大優(yōu)勢(shì):

1、服務(wù)治理能力的Sidecar化。

在服務(wù)網(wǎng)格技術(shù)使用之前,把一個(gè)單體應(yīng)用程序向分布式的微服務(wù)架構(gòu)進(jìn)行改造,通常的服務(wù)治理邏輯的實(shí)現(xiàn)往往是以代碼庫的方式構(gòu)建在應(yīng)用程序本身中,這些代碼庫中包括了服務(wù)發(fā)現(xiàn)、熔斷、限流等這樣的一些功能,這些代碼庫的版本也可能不同,不同的情況下也可能會(huì)帶來沖突問題。

此外,庫的版本一旦變更,即使你的應(yīng)用邏輯并沒有任何變化,整個(gè)應(yīng)用也要隨之全部變更。通過把這些服務(wù)治理的能力Sidecar化,就能夠把服務(wù)治理的能力與應(yīng)用程序本身進(jìn)行了解耦,可以較好地支持多種編程語言、并且不需要依賴于某種特定技術(shù)框架。

針對(duì)Sidecar代理的生命周期管理和針對(duì)應(yīng)用程序本身的生命周期管理可以獨(dú)立,提升了應(yīng)用管理和運(yùn)維管理的靈活性;同時(shí)這種去中心化的架構(gòu),有利于提升系統(tǒng)的可伸縮性。

2、通過Sidecar機(jī)制逐漸地將服務(wù)治理功能標(biāo)準(zhǔn)化、統(tǒng)一化。

隨著這些Sidecar代理功能的增強(qiáng),原本在代碼庫中包含的功能逐漸地下沉到這些代理中,這些功能包含了服務(wù)治理中需要到的諸如流量管理、熔斷、重試、客戶端負(fù)載均衡的能力、安全以及可觀測(cè)性能力等。

這些能力的標(biāo)準(zhǔn)化、統(tǒng)一化,可以解決復(fù)雜系統(tǒng)中的微服務(wù)實(shí)現(xiàn)中面臨的差異大、缺少共性的問題,可以很好地支持不同的編程語言、不同的框架。

3、容器編排技術(shù)的更加成熟,加速了Sidecar代理的普及與使用的便捷。

試想一下,如果每一個(gè)Sidecar代理都需要手工去注入、管理它的生命周期,那它的價(jià)值與帶來的復(fù)雜性相比,就顯得比較單薄。Kubernetes是一個(gè)出色的容器部署和管理平臺(tái),提供的API可以支持很自然的擴(kuò)展,Sidecar代理可以在應(yīng)用程序的容器啟動(dòng)時(shí)自動(dòng)注入到對(duì)應(yīng)的Pod中。

服務(wù)網(wǎng)格技術(shù)帶來了上述優(yōu)勢(shì),它使用起來的情況如何呢?我們知道,在云原生應(yīng)用模型中,一個(gè)應(yīng)用程序可能會(huì)包含數(shù)百個(gè)服務(wù),每個(gè)服務(wù)又有數(shù)百個(gè)實(shí)例構(gòu)成,那么這些成百上千個(gè)應(yīng)用程序的Sidecar代理如何統(tǒng)一管理,這就是服務(wù)網(wǎng)格中定義的控制平面部分要解決的問題。作為代理,Envoy非常適合服務(wù)網(wǎng)格的場景,但要發(fā)揮Envoy的最大價(jià)值,就需要使它很好地與底層基礎(chǔ)設(shè)施或組件緊密配合。Envoy構(gòu)成了服務(wù)網(wǎng)格的數(shù)據(jù)平面,Istio提供的支撐組件則是創(chuàng)建了控制平面。

這些Sidecar代理形成一個(gè)網(wǎng)狀的數(shù)據(jù)平面,通過該數(shù)據(jù)平面處理和觀察所有服務(wù)間的流量。數(shù)據(jù)平面扮演了一個(gè)用來建立、保護(hù)和控制通過網(wǎng)格的流量的角色。負(fù)責(zé)數(shù)據(jù)平面如何執(zhí)行的管理組件稱為控制平面。控制平面是服務(wù)網(wǎng)格的大腦,并為網(wǎng)格使用人員提供公開API,以便較容易地操縱網(wǎng)絡(luò)行為。

這些復(fù)雜配置也是用戶經(jīng)常遇到的一些挑戰(zhàn),特別是在支持多集群、如何支持用戶自建的IDC內(nèi)的集群、如何支持非容器化應(yīng)用的統(tǒng)一管理,這些基本成為了用戶使用服務(wù)網(wǎng)格技術(shù)的阻礙。

解決這些問題的方式,是需要全部托管控制平面的組件,降低用戶使用的復(fù)雜度,用戶只需要專注于業(yè)務(wù)應(yīng)用的開發(fā)部署。在托管模式下,保持與Istio的兼容,支持聲明式的方式定義靈活的路由規(guī)則,支持多個(gè)Kubernetes集群的統(tǒng)一流量管理。

在安全上,用戶可以一鍵啟用或者禁用雙向TLS認(rèn)證,整個(gè)網(wǎng)格內(nèi)的安全配置動(dòng)態(tài)生效;在多集群模式下,用戶也不需要去維護(hù)根證書了,這些事情都會(huì)交給平臺(tái)來管理。此外,在深入分析服務(wù)網(wǎng)格方面,提供了網(wǎng)格診斷能力,把過去一年多來用戶遇到的問題以及如何解決這些問題的手段變成產(chǎn)品能力;同時(shí)優(yōu)化集成跟蹤、日志服務(wù)等來提升端到端的可觀測(cè)性。

這是阿里云做托管式服務(wù)網(wǎng)格ASM產(chǎn)品背后的邏輯。

Service Mesh 如何重定義云原生計(jì)算?阿里服務(wù)網(wǎng)格技術(shù)大揭秘

阿里云在服務(wù)網(wǎng)格的技術(shù)演進(jìn)歷程

2018年,阿里云容器服務(wù)ACK產(chǎn)品中以addon的方式集成了Istio,以社區(qū)開源Isito為基礎(chǔ),優(yōu)化整合了阿里云的相關(guān)服務(wù),例如跟蹤服務(wù)、日志服務(wù)等提升端到端的觀測(cè)性;通過使用阿里云的CEN云企業(yè)網(wǎng),打通了多個(gè)集群的統(tǒng)一管理,將多集群下的Pod實(shí)現(xiàn)互聯(lián)互通和統(tǒng)一管理。

在接近兩年的時(shí)間中,跟隨社區(qū)的快速發(fā)展,迭代發(fā)布了多個(gè)版本,來支持目前在云上的數(shù)百個(gè)用戶集群。

2020年2月,阿里云發(fā)布了業(yè)內(nèi)首個(gè)全托管,Istio兼容的服務(wù)網(wǎng)格產(chǎn)品ASM。

Service Mesh 如何重定義云原生計(jì)算?阿里服務(wù)網(wǎng)格技術(shù)大揭秘

ASM三大優(yōu)勢(shì)

ASM控制平面的組件托管在阿里云側(cè),與數(shù)據(jù)面?zhèn)鹊挠脩艏邯?dú)立,降低用戶使用的復(fù)雜度,用戶只需要專注于業(yè)務(wù)應(yīng)用的開發(fā)部署。在托管模式下,保持與Istio的兼容,支持聲明式的方式定義靈活的路由規(guī)則,支持多個(gè)Kubernetes集群的統(tǒng)一流量管理。

此外,ASM在Istio基礎(chǔ)上進(jìn)行大量的擴(kuò)展。ASM整合阿里云服務(wù)包括可觀測(cè)性服務(wù)、日志服務(wù)、基于云企業(yè)網(wǎng)實(shí)現(xiàn)跨VPC網(wǎng)絡(luò)互連能力等,同時(shí)也優(yōu)化整合了社區(qū)開源軟件包括開放策略代理OPA的支持、授權(quán)服務(wù)的定制化能力等。隨著Isito1.5新架構(gòu)的優(yōu)化,將WebAssembly技術(shù)引入服務(wù)網(wǎng)格,使得ASM架構(gòu)成為:托管的高可用彈性控制平面 + 可擴(kuò)展的插件式的數(shù)據(jù)平面。

在數(shù)據(jù)平面的支持上,ASM產(chǎn)品可以支持多種不同的計(jì)算基礎(chǔ)設(shè)施,這包括了阿里云ACK Kubernetes集群、ASK集群、以及針對(duì)ECS虛擬機(jī)的支持。此外,ASM也在今年4月份推出多云混合云的支持,可以支持用戶自身IDC建設(shè)的Kubernetes集群或者運(yùn)行在其他云提供商上的Kubernetes集群使用服務(wù)網(wǎng)格能力。通過ASM提供統(tǒng)一的服務(wù)治理能力,可以實(shí)現(xiàn)就近訪問,故障轉(zhuǎn)移,灰度發(fā)布等功能,支持云容災(zāi)、異地多活等應(yīng)用場景,提升業(yè)務(wù)連續(xù)性。

Service Mesh 如何重定義云原生計(jì)算?阿里服務(wù)網(wǎng)格技術(shù)大揭秘Service Mesh 如何重定義云原生計(jì)算?阿里服務(wù)網(wǎng)格技術(shù)大揭秘

服務(wù)治理體系演進(jìn)遷移,如何避免踩坑?

隨著微服務(wù)的發(fā)展,企業(yè)進(jìn)行一些服務(wù)治理體系的演進(jìn),如從Spring Cloud到Service Mesh遷移,需要注意哪些問題?

王夕寧回答道,Netflix是最早采用微服務(wù)的公司之一。為了跟上其增長速度,Netflix決定從單一的數(shù)據(jù)中心轉(zhuǎn)移到基于云的微服務(wù)架構(gòu),來實(shí)現(xiàn)高可用性,規(guī)模和速度。Netflix OSS是Netflix開源的一組庫和框架,用于解決大規(guī)模設(shè)計(jì)分布式系統(tǒng)的問題。Spring Cloud基于Spring Boot開發(fā),里面使用了Netflix OSS這套庫和框架,提供了一套完整的微服務(wù)解決方案。

從功能角度來看,Spring Cloud與Service Mesh在服務(wù)治理場景下,存在較多的重疊,這也就為從Spring Cloud向Service Mesh遷移提供了一種潛在的可能性。當(dāng)前兩者所解決的問題盡管是類似的,即微服務(wù)架構(gòu)中分布式特點(diǎn)帶來的復(fù)雜性問題;然而兩者解決相同問題的方式手段不盡相同,在《 Istio服務(wù)網(wǎng)格技術(shù)解析與實(shí)踐》書提到這一點(diǎn),詳細(xì)對(duì)特定應(yīng)用程序庫的缺點(diǎn)的分析、Istio網(wǎng)格與傳統(tǒng)微服務(wù)框架的比較,希望這些內(nèi)容能夠讓讀者理解他們之間的差異。

linux容器簡化了應(yīng)用程序的打包部署,容器是云原生應(yīng)用基石,通過應(yīng)用容器化,不僅使得開發(fā)部署更加敏捷、遷移更加靈活,并且將這些實(shí)現(xiàn)標(biāo)準(zhǔn)化。而容器編排則是更近一步,負(fù)責(zé)解決如何高效地編排和利用好這些資源。Kubernetes編排容器服務(wù)已經(jīng)成為一種事實(shí)標(biāo)準(zhǔn);同時(shí)微服務(wù)與容器在輕量、快速部署、運(yùn)維等特征的匹配,微服務(wù)運(yùn)行在容器中也正成為一種標(biāo)準(zhǔn)實(shí)踐。

類似于Istio的這些服務(wù)網(wǎng)格技術(shù)在微服務(wù)治理上很好地補(bǔ)齊了Kubernetes,同時(shí)它又與Kubernetes有著完美的集成,不同于現(xiàn)有的微服務(wù)架構(gòu)如SpringCloud、Dubbo或者Netflix OSS等。

由上述可知,如從Spring Cloud到Service Mesh遷移,應(yīng)用的容器化是第一個(gè)需要注意的問題。

越來越多的應(yīng)用走在了通往應(yīng)用容器化的道路上,容器化會(huì)成為應(yīng)用部署的標(biāo)準(zhǔn)形態(tài)。

無論哪種容器化運(yùn)行環(huán)境,天然支撐服務(wù)注冊(cè)發(fā)現(xiàn)這一基本要求,這就導(dǎo)致Spring Cloud體系應(yīng)用上容器的過程中,存在一定的功能重疊,針對(duì)這部分重疊功能,不防分析下在Kubernetes是否可以滿足這些能力。特別是一些大規(guī)模場景下,當(dāng)遷移到Kubernetes環(huán)境時(shí),需要考慮集群的規(guī)模、etcd集群的規(guī)模、節(jié)點(diǎn)配置及規(guī)模、網(wǎng)段劃分等,是否合理規(guī)劃,避免資源浪費(fèi)。

容器化環(huán)境規(guī)劃好之后,就是針對(duì)應(yīng)用服務(wù)的改造。這涉及到很多細(xì)節(jié)問題,需要根據(jù)應(yīng)用本身特點(diǎn)具體來分析。大體上來講,是圍繞上述重疊功能模塊依賴的去除或者替換,這里面可能會(huì)涉及到網(wǎng)關(guān)、熔斷器、注冊(cè)中心、負(fù)載均衡、鏈路跟蹤等組件。本質(zhì)上講,重試、超時(shí)、客戶端負(fù)載平衡、或者熔斷等等,這些問題與應(yīng)用程序功能本身相互獨(dú)立,我們真正想要的是一種技術(shù)無關(guān)的方式來實(shí)現(xiàn)這些問題,并減輕特定于應(yīng)用程序本身來實(shí)現(xiàn)。

此外,強(qiáng)調(diào)的一點(diǎn)是一定不能將應(yīng)用程序的安全性和正確性轉(zhuǎn)移到Istio或任何服務(wù)網(wǎng)格上。構(gòu)建正確和安全的應(yīng)用程序的責(zé)任仍然是應(yīng)用程序本身。

Service Mesh 如何重定義云原生計(jì)算?阿里服務(wù)網(wǎng)格技術(shù)大揭秘

ASM未來部署

談及未來,王夕寧表示,在過去的一年里,以Istio為代表的服務(wù)網(wǎng)格技術(shù)的快速發(fā)展和成熟完善。

服務(wù)網(wǎng)格技術(shù)未來發(fā)展可分為2個(gè)方面:一方面服務(wù)網(wǎng)格技術(shù)架構(gòu)優(yōu)秀、提供的功能也比較豐富的,包括細(xì)粒度的流量管理、安全性、可觀測(cè)性等,過去這些功能往往是需要若干個(gè)中間件拼湊在一起才是實(shí)現(xiàn),它的復(fù)雜度絕對(duì)不低于服務(wù)網(wǎng)格技術(shù)本身。

另一方面,隨著Kubernetes的更加成熟穩(wěn)定,基于Kubernetes的服務(wù)網(wǎng)格架構(gòu)也隨著變得更加成熟,控制面和數(shù)據(jù)面解耦使得托管變成現(xiàn)實(shí),聲明式的擴(kuò)展方式更加靈活簡便,數(shù)據(jù)面能力無論是從支持的基礎(chǔ)設(shè)施形態(tài)上還是多云混合云邊界上都隨之不斷增強(qiáng)擴(kuò)展。

Service Mesh 如何重定義云原生計(jì)算?阿里服務(wù)網(wǎng)格技術(shù)大揭秘

云計(jì)算三大發(fā)展趨勢(shì)

對(duì)于云計(jì)算未來技術(shù)的發(fā)展動(dòng)態(tài),王夕寧表示有以下三大發(fā)展技術(shù)趨勢(shì):

首先,Kubernetes深入企業(yè)應(yīng)用。我們預(yù)期Kubernetes將會(huì)在大多數(shù)企業(yè)中被廣泛采用,并繼續(xù)保持其在容器編排方面的主導(dǎo)地位。盡管支持企業(yè)Kubernetes解決方案已經(jīng)存在了很長一段時(shí)間,但在很多企業(yè)需求方面仍有提升空間,例如權(quán)限、治理、成本控制和集成。

其次,混合云。據(jù)IDC預(yù)測(cè),到2022年,50%的企業(yè)將部署統(tǒng)一的VMs、Kubernetes和多云混合云管理流程和工具,以支持跨本地和公有云部署的多云混合云管理和治理。同時(shí),據(jù)IDC預(yù)測(cè),中國90%以上的企業(yè)將依賴于本地/專屬私有云、多個(gè)公有云和遺留平臺(tái)的組合,以滿足其基礎(chǔ)設(shè)施需求。

第三,服務(wù)網(wǎng)格。2020 年 Istio 作為控制平面的一種技術(shù)實(shí)現(xiàn)仍將在 Service Mesh 領(lǐng)域扮演核心角色。Istio 獲得業(yè)界廣泛關(guān)注的原因,在于背靠 google 公司的內(nèi)部工程實(shí)踐,以及對(duì)工程實(shí)踐的再思考和重新提煉。Istio 在過去一年的重要工作是完善功能和改善穩(wěn)定性確保小規(guī)模生產(chǎn)可用,在 2020 年隨著阿里巴巴采用這一技術(shù)實(shí)現(xiàn)大規(guī)模落地將為 Istio 的規(guī)模化運(yùn)用提供真實(shí)的場景,這將使得 Istio 在接下來的一年在支持集群規(guī)模的能力上大幅提高。此外,Istio 的可運(yùn)維性和架構(gòu)的合理性在 2020 年也將迎來積極的變化,其部署和運(yùn)維的復(fù)雜性高等問題將得到解決。

嘉賓簡介:王夕寧,阿里云高級(jí)技術(shù)專家,阿里云服務(wù)網(wǎng)格ASM技術(shù)負(fù)責(zé)人,關(guān)注Kubernetes、云原生、服務(wù)網(wǎng)格等領(lǐng)域。之前曾在IBM中國開發(fā)中心工作,曾擔(dān)任專利技術(shù)評(píng)審委員會(huì)主席,作為架構(gòu)師和主要開發(fā)人員負(fù)責(zé)或參與了一系列在SOA中間件、云計(jì)算等領(lǐng)域的工作,擁有50多項(xiàng)相關(guān)領(lǐng)域的國際技術(shù)專利。《Istio 服務(wù)網(wǎng)格解析與實(shí)戰(zhàn)》作者。

 

分享到:
標(biāo)簽:Service Mesh
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績?cè)u(píng)定