Istio之外,我們需要什麼樣的服務網格?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#41464b","name":"user"}}],"text":"這兩年,Service Mesh服務網格被視爲構建雲原生應用的重要一環,在社區中受到了越來越多關注。隨之加入Service Mesh戰局的新玩家也越來越多,但其中多是頭部大廠。近期,我們注意到一家國內初創公司推出了自研的服務網格產品Flomesh,並通過了前不久信通院的服務網格分級測試,同期通過測試的分別是阿里雲、網易雲和字節的火山引擎。8月18日晚上大咖說直播間邀請到了F"},{"type":"text","text":"lomesh團隊負責人蔡書,跟我們一起聊聊爲什麼自研Flomesh,以及對於服務網格的新思考。本文整理自直播內容。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:非常高興有機會與您交流。首先請您跟大家做一下自我介紹吧,包括您的職業經歷、您一直以來關注哪些技術領域。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"大家好,我是蔡書,我2001年從瀋陽東北大學計算機專業畢業,一個計算機專業畢業20年還在搞IT的老兵。做過國內的電信計費程序,在IBM這樣的IT巨人做過技術專家,也在RedHat這樣的頭部開源公司做過一些崗位。這幾年牽頭從零開始研發了服務網格產品Flomesh。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"爲什麼要從頭自研Flomesh?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:在前不久的信通院⼤會上,我們留意到可信雲服務⽹格部分有四家通過了⾸批評測,除了你們的Flomesh,另外三家是阿⾥雲、⽹易雲、字節跳動的⽕⼭雲。⾸先想請您給我們介紹下信通院這個測試的背景。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"可能談不上介紹背景,我簡單說下這個測試的我參與部分的來龍去脈吧。信通院是工信部下直屬的科研事業單位,我們這次參與的是其下屬“雲計算與大數據研究所”(簡稱雲大所)的一個測試。雲大所對行業內各個細分技術領域都有研究。平時信通院這邊會組織一些技術的交流,我們經常參加這些技術交流,當信通院提出在服務網格這個領域有測試的時候,我們就首先報名了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"這個測試的節奏非常快,從報名測試,到拿到測試案例,到完成測試和答辯,整個過程不到2個月。裏面涵蓋到了28個測試點,其中有些是場景化測試,是一個非常詳細的測試。好在我們產品化程度比較高,以全部測試案例通過順利完成了先進級測試。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"我認爲這個測試對行業是有指導意義的,它提供了一個通用的、共識的功能集合。按照信通院小夥伴的說法,這個功能集合還在演化,後續會擴充測試案例。這種標準先行的做法,對整個行業是好消息。信通院在這些新的技術領域快速的總結和核心的技能,爲無論是需求方,還是供給方,都提供了一個“共同語言”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:原來是這樣⼀個背景,我們還有一個比較好奇的問題。這次參與測試的其他⼏家企業,阿⾥、⽹易、頭條,都是“⼤⼚”,只有Flomesh是“⼩⼚”。通過這次可信雲⼤會的其他測試也是⼀樣,參加測試的基本都是⼤⼚,比如中國電⼦、電信運營商、⼤型公有云廠商等等,像你們這樣的⼩企業⼏乎絕⽆僅有。爲什麼會這樣呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"我未必知道“爲什麼”,只能說下我的理解。以這次參加服務網格測試的爲例,其他三家用來測試的,都是他們自己公有云平臺上的服務網格服務,是“託管服務”。我們用來參加測試的是“軟件產品”。服務網格是一種大型的雲上網絡基礎設施,複雜度很高。因此產品化難度很大。目前除了我們之外的三家,都是基於Istio做的託管類服務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"把服務網格所有功能都運行起來,需要很複雜的後臺部署、配置,需要管理的組件很多,有些需要近20個節點。這個東西的複雜度很高,產品化非常難做。大型公有云有更充分的資源來參與這種測試,無論是雲主機還是人員,都開銷不小。因此多數參加測試的廠商是大廠,大廠的資源更充分一些。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"我們的Flomesh是完全自研的軟件,不是Istio的發行版,整體結構非常緊湊。我們這次參與測試,演示了“Spring Cloud + Dubbo\"雙棧混合的微服務場景,包括所有功能,我們用了6臺2C8G的騰訊雲主機。用我們的說法是“small footprint”,輕量化但是全功能。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:哇,說到這⾥,我們想了解的問題就更多了,您剛剛說Flomesh是“完全⾃研”的。其實提到服務網格,⼀般⼤家⾸先都會想到 Istio,而且Istio也是開源的。你們爲什麼不基於Istio上做⼆次開發呢?會不會有⼈認爲你們在“重造輪⼦”?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"哈哈,幾乎每個瞭解到我們是“全新研發”的人都會問這個問題。我說下大概背景。Service Mesh這個概念是2016年左右由IBM的人提出來的,然後谷歌快速跟進這個事情,拉着Lyft也就是美國的打車公司,一起啓動了Istio項目。谷歌自帶流量,本身就有很大的影響力,並且圍繞Istio有大量的普及型資料。所以大家都習慣認爲Istio是Service Mesh的原點。但是實際上,基於proxy的管理模式,在行業裏已經有非常久的歷史了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"Proxy本身就是一種“設計模式”。Service Mesh進一步把proxy模式進化成了“proxy per instance\",這樣就能更好地滿足雲原生的多租戶、彈性等要求。我自己在工作中,做過很多年的proxy開發,可以追溯到2005年。這種proxy per instance模式的出現確實帶來了很多技術升級。因此當2016年出現Istio的時候,我也在跟進和學習Istio的東西。但是在2017年,開始有用戶需要落地的時候,Istio的一些侷限性就暴露出來了。在無法通過Istio滿足需求的情況下,我們開始研發替代品,並做了重新設計和開發。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"事實上,如果認爲2017年的Istio是第一代Service Mesh的話,我們研發的Flomesh要比Istio有兩代進化。首先Flomesh的控制平面是單一可執行文件。Istio在2020年也進行了這個改進,把一堆控制平面的組件,合併成了一個組件。可以認爲2020年的Istio就是一代半。Flomesh比2020年版本的Istio還有不少改進,是換代性的改進。比如我們的數據平面pipy,是通過腳本或者說DSL來描述功能的;再比如,我們使用了非iptables的流量攔截方式;再比如,我們採用了“一站式”的數據採集和傳輸方式,比基於ELK+zookeeper+prometheus+zipkin的方式要簡化很多。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"所以您可以認爲我們實際是在工作中發現了當年Istio的一些侷限性,因此重新設計開發了Flomesh,並且很多設計在今天仍然有領先性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:所以可以認爲你們直接研發了“第⼆代服務⽹格”,⽽不是跟着Istio⼀步⼀步⾛過來。還有您剛纔提到的pipy,之前我們同事也對您做過"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/article\/r79Ubhof5F5LPh4VBCCQ","title":"xxx","type":null},"content":[{"type":"text","text":"採訪"}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":",瞭解到pipy同樣是完全自研,沒有基於已經非常成熟的Nginx做二次開發。感覺你們有點特⽴獨⾏。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"您起了個名字“第二代服務網格”,確實有點這個意思。這幾天另外一個服務網格產品Linkerd也從CNCF畢業了,它的設計理念也是輕量化。它也是在自己的Linkerd-V1基礎上做了完整的重構,就是“第二代”。不過它沒有強調擴展性,這是另外話題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"回到特立獨行這個話題,我們自己倒不是認爲自己特立獨行,我們是一個非常樸實、務實的工程師團隊。現在覈心團隊成員都是計算機專業畢業的,都工作了10年以上,在遇到市場需求的時候,我們也是首先去研究已有的產品、工具是不是能滿足需求;如果不能,是不是做一些擴展開發。只有當存量工具都很難滿足需求的時候,才量體裁衣地從頭做起。我們基於對問題的深入分析,結合自己的經驗,以需求爲導向獨立的完成設計和實現。這種獨立思考和完整的從頭設計實現,其實門檻挺高的,需要對領域有深刻的認知,還需要豐富的經驗做設計和實現。這種做事情的方式門檻不低。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:能不能具體講講有什麼樣的技術⻔檻?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"技術門檻這個,我舉幾個例子。服務網格在數據平面,也就是proxy這個組件,需要是高性能、低資源、可編程的,這個領域起步的門檻就是Nginx。比如Istio的Envoy自述是“接近Nginx的性能”,同時使用filter-chain模式提供了擴展性。這個門檻就很高了,同時做到性能、功能、擴展性和Nginx\/Envoy同級別有相當難的技術難度。再比如和微服務的集成,即使是和K8s的集成,就需要豐富和紮實的K8s基礎和擴展開發能力;同時還要考慮和兼容非K8s環境的需求,還要兼容支持各種流行的微服務框架。這一套下來,門檻也很高。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"從我們自己這三年研發的經驗來說,最大的技術挑戰是“對抗複雜度”。比如一個功能做出來了,但是對性能有很大影響;或者是一個功能做出來了,系統就多了幾個組件。這些本身都是在對抗複雜度,每次大家加了功能之後,複雜度沒有大幅增加,小夥伴們都會長出一口氣慶祝一下。有一點點像在一個非常小的設備裏,塞進去很多很多功能,非常難。可能像早期的IPhone吧:)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:聽起來難度確實不小,那麼我還有另一個好奇的問題,目前服務網格領域既有Istio這樣的頭部玩家,也有很多來自大廠的新玩家,競爭激烈,你們的底氣從哪裏來?如果⼤家都選擇Istio,沒有⼈選擇你們,會不會導致你們失敗?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"說到“失敗”這個話題,作爲核心創始人,我每天都會很多次想到失敗,但是每天都會不停爲了成功努力。用戶和市場對Istio認知度很高,有谷歌這樣大的企業背書,有龐大的社區,Istio是市場上聲音最大的玩家。但是多年的工作經驗告訴我,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}},{"type":"strong"}],"text":"市場最終是理性的。我要做的事情是把我做的部分做到精益求精,其他選擇題留給市場本身。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"另外從技術角度看,網絡軟件核心是兼容協議,所以Service Mesh本身,在技術兼容性上是非常充分的。未來在一個組織內部,不同的網絡部分使用不同的服務網格完全是有可能的。服務網格是基礎設施,有足夠大的市場需求體量,我自己不擔心像Istio這樣的“大廠產品”一家獨大。如果失敗了,根因也是我產品沒有做好。競品亦然。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:像Istio背後是⾕歌這種⼤⼚,但國內的⼤⼚大多是基於開源項目做二次開發,爲什麼他們沒有⾃研呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"這個話題挺深刻的,我就說說幾個我的思考吧。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"首先,國內大廠自研基礎設施,是這幾年雲上了規模之後的事情,開始投入深入內核、虛擬化、數據庫這些。最開始的時候,也就是2017年左右,大家可能沒有把Service Mesh當成重要的基礎設施,所以沒有太大的投入,可能認爲只要跟進像Istio這樣的社區就可以了。但是隨着使用的深入,會發現Service Mesh是雲計算中非常重要的一層,是承上啓下的,也就開始準備投入了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"第二點,底層基礎設施的研發週期通常更長,因此產生的研發風險和成本也更高。比如我們團隊,實際上研發了3年纔有現在的形態。三年間我們做了很多版本,那些達不到要求的、廢棄的版本,都是成本。這種成本,對於我們這種小團隊,基本就是自己消化了。但是對於大廠而言,每個團隊的量化考覈指標都是年度的,他們承擔這種研發的風險其實更高。通俗地說,就是大廠側重風險管控,而小廠只有創新才能立足。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"我們需要什麼樣的服務網格?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:能不能再具體聊聊Flomesh相比現在市場上已有的服務網格開源項目或產品,有哪些優勢?哪些方面可能會吸引開發者選擇Flomesh而不是Istio?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我們的設計目標,也已經實現的,主要就是“輕量化”和“易擴展”兩個方面。這兩個方面也是我們和目前市面上其他產品的最大差異。從我自身的工作經驗角度來說,這些都是優勢。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"具體來說:如果完成同樣的功能,使用的內存更少、配置工作量更低、管理的複雜度更低,那麼就是“輕量化”。這些特徵,在學習成本、使用成本、管理成本上,都是更有優勢的。擴展性也是很多用戶選擇我們的原因。服務網格是一種網絡基礎設施,很多功能的實現其實都是需要擴展出來的;已經實現的功能,在落地的時候多少都會遇到定製等需求,那麼這些需求就要求服務網格可以擴展,並且容易擴展。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"對於一個服務網格產品,那些開箱即用的功能,可能在初次交付的功能中只是很小一部分。大多數的功能,都是部署以後,逐漸發展和演化出來的,是“使用規模推動了需求”。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"基礎設施的東西,用上了以後,就會慢慢發展出各種花樣的玩法,而這些就是推動整體架構演化的基礎。就像高鐵的出現,不僅僅改變了出行,其實也很大程度上改變了生活方式。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:所以“輕量化”和“易擴展”也是服務網格未來比較重要的發展方向嗎?能否跟我們再分享一下您對於服務網格領域的觀察和思考,包括它的現狀和未來發展?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這個問題我還是分成輕量化和易擴展兩個部分來回答。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"先說輕量化。輕量化這個說法本身很“感性”,我們自己內部把“輕量化”具體到了很多細節。比如處理相同的功能,使用更少的CPU、更少的內存;需要更少的配置參數、更少的操作步驟。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"“輕量化”,在我們看來,是“雲原生”的特徵之一。就像計算單元從物理機到虛擬機,從虛擬機到容器,從容器到函數計算。這個大的趨勢就是“輕量化”。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"當我們努力把應用“輕量化”的時候,如果配套的基礎設施變得越來越重、越來越難管理,那麼這個指定不是人們需要的。我們需要的是“進化”,而不是“問題轉移”。換個角度,就像奧運會追求“更快、更高、更強”一樣,我們做IT建設,也是追求更簡單、更易用、更資源有效。所以輕量化是一個趨勢,不僅僅是目前的發展方向。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"再說“易擴展”。我自己有20年IT從業經驗,很多時候我們都是被紛繁的需求所困擾。通常這個時候就需要“易擴展”。比如八九十年代的ERP發展,SAP公司就發展出了ABAP,本質上就是在解決ERP領域的“擴展性”問題;同樣,九十年代和千禧年初期,BPMN的出現就是爲了解決工作流程裏的“擴展性”問題。對於我們做軟件而言,一方面我們要努力建模,構建儘可能重用的模型來滿足變化的需求;一方面還要關注“效率”,就是人們使用這種技術的門檻,比如常見的“學習曲線”、“維護成本”這些。所以當我們說“擴展”的時候,通常都會想着“易”擴展。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"回到Service Mesh本身,在網絡堆棧裏,它是在二三層網絡之上、應用之下的一層,是承上啓下的。南向,也就面向底層網絡這部分,主要的擴展性體現在多協議的支持;但是北向,也就是應用側,需要處理的內容就太多太多了。從我們自己經驗來說,南向的擴展和北向的擴展應該用不同的方式。就是說,擴展協議,用C++寫協議解析是OK的;但是擴展應用側功能的時候,如果還是需要用C++,那就有點得不償失了。所以我們開發了Pipy JS,用程序員最爲熟悉的JS來做應用側的擴展,希望這種方式能夠儘可能地滿足人們對北向擴展的需求。選擇JS做北向擴展,也是我們爲了“易擴展”做的一個努力,目前看效果還是非常不錯的,不僅我們自己在具體項目的交付上高效可控,第三方在瞭解我們的設計思路後,也能快速形成生產力。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"關於國產化和開源"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:前面聊到過你們年初開源的"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/article\/r79Ubhof5F5LPh4VBCCQ","title":"xxx","type":null},"content":[{"type":"text","text":"pipy"}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":",那麼Flomesh 和pipy有什麼關係?能介紹下嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"好問題,其實Flomesh和pipy的關係就像Istio和Envoy的關係。稍微八卦一下,當年出現Istio的時候,實際上Envoy已經存在了。也就是說,Istio和Envoy並不是“天生一對”。在2020年的時候,Istio被谷歌從CNCF拿到了新的社區(原來是承諾捐獻給CNCF的),這樣實際上Istio和Envoy就變成不是一個社區的項目了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"從實現一個功能的角度來說,一般都是一部分需要在proxy做,一部分在控制平面做。所以像我們這樣,數據平面和控制平面都是一個團隊開發,實現上會更緊湊,架構的整體感也會更強。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"我們在年初的時候開源了我們的數據平面,也就是pipy proxy。經過半年時間,我們做了一個大的改進,把原來基於QuickJS的腳本引擎替換成了自己研發的Pipy JS引擎。這樣整體code base更小、依賴更少,顯著的效果就是可執行文件更小、性能更優異。我們的控制平面,正在開源的計劃裏,我們進行了一個比較大的重構。劇透一下,我們採用類似GitOps的思路來管理配置和數據面邏輯。下半年我們會放出我們開發的控制平面,完全不同的思路,很好玩,值得大家期待。隨着控制平面,我們也會開源出我們的圖形界面。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:所以是不是可以這麼理解,pipy是Flomesh的一部分且已經開源,接下來Flomesh的其他部分也會逐步開源,對嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"是的。我們先開源了數據平面;後續會開源控制平面,也可能會直接採取一種開源模式找些志同道合的社區用戶一起開發控制平面。我們之前控制平面是用NodeJS做的,開源的部分大概率會用Go來做。這部分,感興趣的小夥伴可以關注我們。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:說到開源,其實開源也是這⼏年⼀個很熱⻔的話題。也許以後找個時間單獨聊聊開源。可以簡單介紹下你們開源的思路麼?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"是的,開源是個大話題。我自己2006年就是IBM的開源技術委員會專家,並且在最大的開源公司RedHat工作過接近6年。對於開源,我有自己的認知和理解。概括地說:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"開源首先是一個文化現象,是一個社會現象。對於開源的原作者而言,用代碼表達自己思維,同時也產出一種可以重用的工具。對於開源的用戶而言,一方面可以使用低成本的軟件,一方面可以學習很多知識和技能,同時可以通過文檔、Issue、PR等回饋社區。開源是人類文明進步的體現。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"這幾年,開源的商業化給低迷的軟件市場注入了強心劑。開個玩笑地說,如果不是開源,可能多數人都記不住上一個上市的軟件公司是哪個了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"我們自己做開源,主導思想就是“Be Upstream”。中文說就是“力爭上游”,構建有價值的上游工具鏈,爲整個軟件領域的供應鏈提供新的選擇。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:您也提到了開源商業化,公司要活下去總是要先賺到錢,你們對開源商業化變現是怎麼規劃的?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在我的規劃裏,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"開源和商業,既不是對立的,也不是相輔相成的,更多的可能是完全獨立的事物。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"開源對於團隊而言,更加側重於“把編程語言作爲一種表達方式”,就像有人寫詩歌、有人作曲一樣,用程序來表達自己的思維、思想;同時,我們開源工作的產物也是非常好的工具,可以解決實際問題。我們希望自己的代碼像John Carmark的Doom一樣,不僅是一個好玩的遊戲,也是編程世界裏的一堆可以學習和傳承的代碼;像Fabrice的QEMU一樣,可以幫助到行業裏很多需要的人。也許這樣大家更容易理解爲什麼我們不惜代價去自己開發“最適合proxy的JS引擎”,和“比Nginx還快的Web引擎”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"而商業部分,我們更側重的是遵循商業規則,努力爲客戶創造價值,做值得用戶信任的基礎設施技術供應商。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"更直接的說,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"我們不想在“開源和商業”之間構建任何利益上的聯繫;僅有的聯繫,也就是“他們背後是同一羣人”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:開頭提到的信通院評測其實有很強的“國產化”背景,“國產化”也是目前國內IT領域特別火熱的大趨勢,您怎麼看“國產化”這件事?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"信通院是工信部下屬的部門,這次評測我們覺得非常及時地爲行業構建了一個技術共識。我和幾個創始人都在跨國公司工作過不少時間。我們非常欣喜地看到,我們中國的主管部門在制度化、規範化、標準化這些方面的管理水平正在快速追趕上世界上頭部國家和機構。從人員構成角度來說,我們是完全中國本土的團隊,我們資方也是完全國內的基金,因此說我們是“純國產”是充分和準確的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#191919","name":"user"}}],"text":"這幾年我們身邊提到的“國產化”,在我自己看來,是“多元化”的一個體現,西方的說法叫做diversity。事實上,從人類歷史的發展看,很多時候爆炸式的多元化都是一個時代的開啓,無論是中國的諸子百家,還是西方的文藝復興,典型特徵都是多元化。而我們現在所親身經歷的“國產化”,在我看來本質上是“多元化”的一個表現。人類社會在經過一個時期的“大一統”以後,會呈現出“多元化”,人類就是這麼一步一步進步過來的。回到我們自己個體而言,就是珍惜眼前的機會,在大的背景下,做自己喜歡並且有價值的事情。說個玩笑的話,也許未來的某天,大家回頭看今天的軟件領域,看到的是諸子百家、百花齊放,也許就有我們的一個分支。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:前一個問題聊到了目前的“國產化”趨勢,這對於國內自研基礎軟件的企業來說,自然意味着很好的發展機遇,但從另一方面來說,國產化軟件存在哪些困難和挑戰,能不能從你們自身的視角聊聊這個問題?(技術本身可能是一方面,除此之外還有什麼?)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"蔡書:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這個話題太大了。我只能“不見泰山”、“管中窺豹”地說說我的感受。要說困難的話,最大的困難是人才。我畢業20年,眼看着90年代,中國還有人寫UCDOS,有人寫WPS,有人寫編譯器,到今天大多數國內工程師都在做“應用”,做底層的要麼苦苦支撐,要麼去了國外大廠。就像自然界一樣,水大魚大,功到自然成。整個社會需要那些做底層技術的人的生存空間和認可;他們可以帶徒弟,慢慢就有了一代一代的人。我自己愛踢球,也愛看體育比賽,就像奧運會看到的,中國的跳水、乒乓球等項目,就形成了“一代又一代”的良性循環。我們團隊的人,基本都是我“靠運氣”,才找到這些合適的人。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"如果說挑戰的話,對我來說比較大的挑戰是“週期”。很多事物都有他自己發展的週期,包括技術,也包括市場。不僅僅我自己,整個行業可能都一樣需要面對,就是一個需求週期到了,我們作爲原產地,作爲供給側,我們能多大程度的滿足市場的需求。簡單的說,時不我待。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"相關文章:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/article\/r79Ubhof5F5LPh4VBCCQ","title":"xxx","type":null},"content":[{"type":"text","text":"與 Nginx 同行,Pipy 究竟有何能耐?"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/article\/cGVwO867SxUUJ1PE7via","title":"xxx","type":null},"content":[{"type":"text","text":"超越 Nginx?雲原生時代的流量發動機 pipy"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章