专访 Christian Posta:Istio 1.7 将成为生产可用的最稳定版本
作者 | 田曉旭、Christian Posta
2017 年,Istio 發(fā)布了 0.1 release 版本之后,其優(yōu)雅的架構(gòu)設(shè)計就獲得了大家的認(rèn)可。隨著版本迭代,有開發(fā)者吐槽 Istio 太復(fù)雜。于是,Istio 1.5 版本推翻了之前的架構(gòu)設(shè)計,提出了“回歸單體”的架構(gòu)設(shè)計,1.6 版本的 Release note 更是在開篇就表明了要將極簡主義進(jìn)行到底。
Istio 1.5 和 1.6 版本的架構(gòu)設(shè)計變化引發(fā)了眾多開發(fā)者的討論,大家都很關(guān)心 Istio 架構(gòu)簡化將會走向何方?即將推出的 1.7 版本又會有哪些驚喜?萬眾期待的 Envoy 與 WebAssembly 集成的進(jìn)度如何?… 為了揭開以上問題的答案,在云原生微服務(wù)大會開幕之際,我們采訪到了前 Red Hat 首席架構(gòu)師、Istio in action 作者、solo.io Field CTO Christian Posta。
Istio 逐步走向架構(gòu)簡化
從 1.5 版本開始,Istio 就走上了架構(gòu)簡化的道路,這是因為 Istio 自身的控制面組件在運維方面遇到了很多難題,例如管理職責(zé)劃分的問題,將控制組件拆分出來的初衷是為了分離功能職責(zé),由不同的運維或開發(fā)人員單獨管理,但是實際應(yīng)用中,運維往往是由一個人或團(tuán)隊管理,并沒有起到單獨管理的作用;部署復(fù)雜的問題,組件拆分之后,系統(tǒng)的可運維性難度陡然上升,增多的配置和參數(shù)增加了部署的復(fù)雜性等等。
正是因為這些復(fù)雜性,GitHub 中出現(xiàn)了各種各樣的部署相關(guān) issue,例如 lstio operator、Istioctl 等等,但遺憾的是均未取得突破性的進(jìn)展。Istio 1.5 版本大膽進(jìn)行了一次“自我革命”,將控制平面的所有組件組合并成一個單體結(jié)構(gòu) Istiod。
Istiod 的設(shè)計初衷是“How I Learned to Stop Worrying and Love the Monolith”,并在一開始就明確提出了設(shè)計目標(biāo):降低安裝復(fù)雜度、降低配置復(fù)雜度、增加控制面可運維性、提高問題診斷能力、提高效率和響應(yīng)速度、消除不必要的耦合。Istiod 是一個單體,支持以前版本的所有功能,之前組成控制平面的服務(wù)在項目中仍然是作為子模塊實現(xiàn)(包括邊界和契約等),但操作體驗得到改善。
Istio 1.6 版本其實是對 1.5 版本未完成工作的收尾,其中最大的簡化工作是將原有組件的功能完全整合入 Istiod ,讓 Istiod 更加完整,也徹底移除了 Citadel、Sidecar Injector 和 Galley。另外,添加了 istioctl install 命令來替代 manifest apply 的安裝過程,用更直觀、更精簡的命令改善安裝過程的體驗。
Istio 的未來發(fā)展趨勢
經(jīng)過 1.5 和 1.6 兩個版本的迭代,Istio 的架構(gòu)簡化已經(jīng)逐漸成型,但是目前仍有功能和需求未能實現(xiàn),例如結(jié)束 Mixer 之后,中心化的限流、黑白名單等功能還未出現(xiàn)相應(yīng)的補償措施。因此,大家對于 Istio 1.7 版本充滿了期待與好奇,接下來我們就看看 Christian Posta 是如何解讀 Istio 未來發(fā)展趨勢的。
Q:Istio 1.5 版本提出了要“回歸單體”,接著 1.6 版本提出了將極簡主義進(jìn)行到底,社區(qū)對于 Istio 架構(gòu)的簡化工作是如何考慮的?
Christian Posta:在 Istio 1.5 發(fā)布之前,我寫過一篇詳細(xì)的博客《 Istio as an example of when not to do microservices》來討論這個問題。在博客中,我探討了構(gòu)建分布式組件(微服務(wù))的動機(jī)以及一些缺點,探索了 Istio 項目重新架構(gòu)的動機(jī),其中一個非常明顯的原因是分布式組件的技術(shù)紅利并未實現(xiàn)。我們需要非常坦誠地評估系統(tǒng)架構(gòu)過程中的權(quán)衡(tradeooff),尤其是當(dāng)這些權(quán)衡(tradeooff)最終無法使系統(tǒng)獲得技術(shù)紅利。這時候,最好是“修正路線”,這正是 Istio 所做的。
https://blog.christianposta.com/microservices/istio-as-an-example-of-when-not-to-do-microservices/
Q:Istio 的版本發(fā)布周期改為了季度發(fā)布,那么新的版本中有哪些可以透露的新功能?
Christian Posta:Istio 1.7 版本很快就會發(fā)布(Beta 2 ?8 月 12 日才發(fā)布),此版本的一些主要功能是用于多個群集的中央 Istiod 控制器,對 VM 支持的持續(xù)增強,還有最重要的是穩(wěn)定性方面的改進(jìn)。
Q:國內(nèi)很多技術(shù)人員都很關(guān)心 Envoy 與 WebAssembly 的強強聯(lián)手,不知道社區(qū)現(xiàn)在有什么動作和規(guī)劃?
Christian Posta:沒錯! WebAssembly(WASM)越來越接近集成到上游 Envoy proxy 項目中,并且我們一直在努力改善使用 WASM 和 WASM + Envoy 的開發(fā)體驗。我們在 2019 年 12 月宣布了 WebAssembly Hub,并在 2020 年 3 月對 Istio 1.5 進(jìn)行了重大改進(jìn),特別是使用 wasme(WebAssembly Hub CLI)來作為使用 WebAssembly 擴(kuò)展 Istio 的官方正式方法。一般而言,WASM 和 WASM + Envoy 都在與社區(qū)進(jìn)行合作中,并且還有很多工作要做,敬請期待!
Q:Kubernetes 在 1.8 版本的時候基本已經(jīng)穩(wěn)定,現(xiàn)在 Istio 已經(jīng)到了 1.6 版本,您預(yù)測 Istio 到哪個版本可以達(dá)到穩(wěn)定?
Christian Posta:對于要避免使用哪些版本、要采用哪些版本,我一直很坦誠。可以這么講,在 1.5 之前的 1.x 系列中,1.4.x 是最穩(wěn)定的。現(xiàn)在,在 1.5 之后,我認(rèn)為 即將推出的 1.7 會成為生產(chǎn)可用的穩(wěn)定版本。
Q:您是如何看到目前全球整個 Service Mesh 的市場格局?Istio 在這個格局中又扮演什么樣的角色?
Christian Posta:Service Mesh 的全球市場仍在迅速發(fā)展!早在 2018 年 11 月的 Solo.io,我們就 預(yù)測將有多個網(wǎng)格實現(xiàn),并且沒有明顯的勝者 。這個預(yù)測已經(jīng)實現(xiàn)。市面上不僅有多個服務(wù)網(wǎng)格選項,云廠商們都開始提供自己的服務(wù)網(wǎng)格實現(xiàn)。例如 AWS AppMesh、Google Traffic Director、阿里云ASM,最近,微軟引入了 Open Service Mesh,我們相信它將成為微軟云的一部分。我們在 Solo.io 建立了 Service Mesh Hub,以幫助減輕這種波動性和多樣性,以統(tǒng)一跨多個服務(wù)網(wǎng)格部署的各種工作負(fù)載。總體而言,我們現(xiàn)在看到越來越多的組織開始采用開源或廠商提供的服務(wù)網(wǎng)格技術(shù),而不是自建。我個人認(rèn)為,Istio 將繼續(xù)成為組織用于“自管理”服務(wù)網(wǎng)格的主導(dǎo)服務(wù)網(wǎng)格技術(shù),并將長期與云廠商的服務(wù)網(wǎng)格一起發(fā)展下去。
嘉賓介紹
Christian Posta? 前 Red Hat 首席架構(gòu)師、Istio in action 作者、solo.io Field CTO 。在金融、保險、零售等傳統(tǒng)行業(yè)從事分布式系統(tǒng)的開發(fā)工作近 20 年。從 Kubernetes 1.0 版本前,就一直在使用 K8s,并一直參與社區(qū)工作;在 Istio 公開發(fā)布之前,在社區(qū)中就非常活躍。目前在 Solo.io 擔(dān)任 Field CTO,全職致力于構(gòu)建下一代 API 基礎(chǔ)設(shè)施,包括 API 網(wǎng)關(guān)、服務(wù)網(wǎng)格、 Web Assembly 等等。
首屆云原生微服務(wù)大會
首屆云原生微服務(wù)大會正在火熱直播中,點擊 PC 端地址即可觀看:https://developer.aliyun.com/topic/microservices2020#/
“阿里巴巴云原生關(guān)注微服務(wù)、Serverless、容器、Service Mesh 等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢、云原生大規(guī)模的落地實踐,做最懂云原生開發(fā)者的公眾號。”
總結(jié)
以上是生活随笔為你收集整理的专访 Christian Posta:Istio 1.7 将成为生产可用的最稳定版本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国货之光业务增长背后的技术支持 - 完美
- 下一篇: 2020 年微服务项目活跃度报告