可以在线看黄的网站-可以免费在线看黄的网站-可以免费看污视频的网站-可以免费看毛片的网站-欧美电影免费看大全-欧美电影免费

拿過不合格績效,也創造出世界頂級開源項目 – 專訪 OpenResty 章亦春(章亦春百科)

拿過不合格績效,也創造出世界頂級開源項目 - 專訪 OpenResty 章亦春(章亦春百科)

章亦春可以說是一個跟“網紅”絕緣的人,用他自己的話來說,他“是一個追求 light 而不是 heat 的人”。網絡上能搜索到的對章亦春本人的采訪文章屈指可數,他的名字更多出現在其他人的采訪文章里,或者認識他的人講述的故事里,不然就是知乎問答里。

他所創建的開源項目 OpenResty 跟他本人很像,盡管在全球范圍內擁有超過 4000 萬域名用戶、從微軟到淘寶都是其用戶,卻不是一個曝光度、討論熱度很高的項目。上一次 OpenResty 在技術圈引發關注和討論,還是在 2015 年年底錘子科技冬季新品發布會上,當時羅永浩宣布把發布會門票收入全部捐贈給那會正在籌備當中的 OpenResty 軟件基金會。

時隔六年多,InfoQ 找到章亦春并展開了一場深度對話,我們得以近距離感受章亦春獨特的人格魅力,進一步了解到他和 OpenResty 曾經的故事以及最新的動態。

拿過不合格績效,也創造出世界頂級開源項目 - 專訪 OpenResty 章亦春(章亦春百科)

章亦春熱愛編程和計算機技術,早已是做出世界級貢獻的編程高手。編程之外,章亦春喜歡讀書,涉及的領域包括計算機科學、技術、數學,還有印度佛教史。他也修習禪法,這能讓他感受到終極的寧靜和喜悅。每天他都會盡量抽時間到山里走走,置身于大自然,思考一些艱深卻有趣的問題。

“低調的簡直沒朋友”,曾是一些認識章亦春的朋友對他的評價。如今章亦春開始反思,自己過去確實太低調了,這導致團隊很多工作進展并不為人所知,現階段確實應該更“高調”一些了。

傳說中的 3.25 績效

不久前一篇題為《百度騰訊阿里真的是高科技企業嗎?》的文章在技術圈流傳頗廣,在文章里,章亦春被列舉為 BAT 大廠之外有世界級貢獻的中國程序員之一,同時也被描述成了大廠不重視 IT 基礎技術貢獻的“受害者”。

原文是這么描述的:

2009 年,淘寶工程師章亦春開創了 openresty 項目,給主要處理靜態文件的 Nginx 增加了動態處理能力,但是章亦春在淘寶內部拿到了需要勸退的績效,并且最終從淘寶辭職,去了美國硅谷。

經過向章亦春求證,文章中的描述不僅時間線混亂(開創 OpenResty 項目是在 2007 年而非 2009 年),有不符合事實的描述(“給主要處理靜態文件的 Nginx 增加了動態處理能力”不是對 OpenResty 的準確描述,OpenResty 并非要改進 Nginx,Nginx 只是在改寫老版 OpenResty 時選擇使用的一個組件庫),也非常斷章取義。透過章亦春的回憶,我們得以一窺當年故事的全貌。簡單地說,章亦春確實拿過 3.25 不合格的績效,但不是在淘寶,而且這跟他后續從淘寶辭職并無關聯。

章亦春拿到 3.25 不合格績效是早期在雅虎中國(當時已經是阿里巴巴的一家子公司)的時候,因為不認同當時直屬經理的管理方式,在阿里評分體系里的“價值觀”部分被打了不合格,從而導致整體績效不合格,但是也沒有被勸退(當時的規定是連續兩個季度都拿不合格才會被勸退)。在直屬經理給出差評之后不久雅虎就被拆分了,章亦春也被轉去了淘寶,和那個雅虎經理分道揚鑣。

章亦春至今都非常感謝當年雅虎中國搜索部門的老大何偉平,以及后來淘寶數據部門的老大姜蕾和張茂森。在他看來,如果沒有當年在雅虎中國和淘寶的部門老大全力支持,就不可能有我們現在看到的 OpenResty 這個開源項目。

在雅虎中國時,早期章亦春得到了搜索部門老大何偉平的大力支持和幫助,對方非常支持 OpenResty 開源,也很支持 OpenResty 的方向和在公司搜索平臺中的應用。

后來部門被拆分,團隊被解散,人員重新分配到阿里巴巴下面的各個子公司去。一開始章亦春被分到淘寶的搜索部門,但是在搜索部門的工作對他來說并不愉快,開很多會,經常被拉到杭州出差,OpenResty 的開發也相對停滯。在那時候,章亦春就提出了辭職。但當時淘寶商戶數據統計部門的老大姜蕾和張茂森來找到他,并邀請他加入數據部門。雙方在溝通時,章亦春表示希望有足夠的自由度繼續做開源 OpenResty,而對方則希望用 OpenResty 作為淘寶數據平臺的基礎。這對雙方來說是共贏,章亦春就同意了。

在淘寶商戶數據統計部門期間,章亦春基于 Nginx 和 LuaJIT 等基礎組件改寫了 OpenResty,在這個過程中得到了當時另一位同事王曉哲(網絡 ID 是 chaoslawful)的大力幫助。兩年后,在把整個數據分析平臺都遷移到新版 OpenResty 上、實現了性能數量級的提升后,章亦春覺得自己已經完成了在淘寶數據部門最初設定的使命。當時他認為,如果再往下走,技術和職業發展的天花板就比較明顯了,自己也不喜歡花很多時間精力去和其他部門 PK 項目做。他再次萌生了過“田園生活”的愿望,就從淘寶辭職了。

特立獨行的“春哥”

章亦春坦言自己是個特立獨行的人。他對編程和計算機技術有著一份極致的熱愛,而這份熱愛和想要心無旁騖探究技術的堅持,又推動著他把對“田園生活”的向往付諸現實。

據章亦春自述,他自幼就非常專注,有強烈持久的好奇心和求知欲,很喜歡刨根問底,也總是努力把自己喜歡的事情做到最好,不計投入。自初中起,他就立志要找到值得投入一生的事業,尋找到為之努力的意義,然后就“但行好事,莫問前程”。

為此他廣泛閱讀了各個學科的著作,并嘗試在自己感興趣的學科上做一些自己的研究,這讓他感到非常享受。上初中時他經常深夜還在家做化學實驗,有一次還在凌晨不小心引發了爆炸。所以最后當他確定要投身學習計算機時,家人都松了一口氣——至少不會有性命危險了。

這么多年過去,章亦春最大的興趣愛好始終還是從根本上解決計算機領域中那些尚未被突破的難題,并將這些創新運用到產品開發中。這對他來說不是工作,而是最有趣、最讓他著迷的心智活動。

同時,他更在意的是自己能不能創造真正的價值,能不能在理論和技術上有突破和貢獻,因此很多時候確實更喜歡專注在自己的世界里,思考、探索一個又一個有趣的科學或技術問題,大膽想象新的可能性并予以實現。這是他一直以來保持低調、不常在媒體和外部活動中露面的原因。雖然他其實很享受與志同道合的人交流,也熱愛分享,但他更希望自己每一次分享都能呈現一些在理論或技術上的新成果和進步。

章亦春對“田園生活”的向往由來已久,最早起源于初中語文課本里的一篇散文《釣勝于魚》。文中講一位美國大學的老教授經常乘著一條小船,在湖光山色中一邊釣魚一邊研究學術問題,釣上來的魚又經常被他放回湖中。從少年時代起,這樣既能親近自然又能潛心研究的生活就根植于他的心中,成為他理想的生活和工作狀態。

對于章亦春來說,在北京工作 4 年,收獲很大,但工作壓力也很大,同時他還有很多關于 OpenResty 開源項目的計劃和想法,希望在沒有工作的情況下,集中力量去實現。所以他一直在尋找時機,換一種生活和工作方式。

2011 年決心離開阿里時,章亦春和太太(當時還是女朋友)都想去南方生活,正好太太那年研究生畢業在福州找到了一份工作,于是他們就一起從北京搬去了福州。當時做這個決定的時候,他對自己未來的工作和生活還沒有清晰的計劃和想法,只是比較喜歡這種能夠自主安排的工作和生活狀態。現在回想起來,雖然那個階段沒有收入,只有來自用戶公司和個人的一些微薄的捐贈,但是能夠集中力量去系統地做一些自己最想做的事情,讓他感到很滿足。

關于福州這一年的“田園生活”,還有一些有趣的后續。章亦春在 2011 年 3 月份決定去福州,7 月份搬到了福州,但在 6 月初就收到 CloudFlare 創始人 Matthew 和 Michelle 的工作邀請,希望他加入他們的初創團隊。第一次,章亦春謝絕了他們的好意,告知他們自己準備在一個南方小城市開始“田園生活”。但是 Matthew 極其有誠意,出資邀請他們先去舊金山看一看,同 CloudFlare 的團隊工作一周,體驗一下那里的生活再做決定。當年 10 月章亦春和太太去了舊金山,度過了很難忘的一周。Matthew 表示章亦春可以到來舊金山過“田園生活”,在他們那里全職做 OpenResty,還能有收入。但章亦春還是想繼續在福州的生活,于是再次謝絕了這個工作邀請,Matthew 和 Michelle 仍親自開車送他們到機場。11 月份 Matthew 到北京開會,再次邀請章亦春見面,他最終被 Matthew 的誠意感動,就接受了 CloudFlare 的 offer。次年 6 月,章亦春和太太正式搬到了舊金山。

在灣區的生活,非常接近章亦春理想中的“田園生活”,為此他非常感激 Matthew。在 CloudFlare 那幾年,他繼續全力推進開源 OpenResty 的開發,取得了很大的進展。期間也不斷有其他公司的創始人三顧茅廬邀請他加入,包括 Nginx 的作者和 Nginx Inc. 的聯合創始人 Igor、Kong 的創始人、連續成功創業的 MIT 博士等。但章亦春覺得這些都不是最想做的事,自己創建公司的念頭也逐漸萌發。

開源生涯新階段

對于 OpenResty, 章亦春一直有著宏偉的愿景:希望 OpenResty 能在工業界、互聯網行業引領“機器編程”革命。人類只需要向機器輸入行業知識和意圖,機器就能自己編寫高效可靠的實現代碼、自行測試,快速部署在大規模的計算機系統上,并同時生成人類可讀的文檔。這一靈感其實源自他高中時教機器解高考題的有趣經歷。

對章亦春來說,如果一直受雇于企業,自然必須要優先保證雇主的業務需求,自己就不能完全專注于 OpenResty 藍圖的實現。另一方面,隨著 OpenResty 滲透到越來越多的公司和行業,社區卻無力提供商業級別的技術支持和理想的解決方案,這也是開源項目運作上普遍存在的局限。

于是在 2017 年初,章亦春在美國創辦 OpenResty Inc. 公司,他的開源生涯也進入了一個新的階段。在這個階段,章亦春思考最多的是如何借助“機器編程”的全新思路和方法來極大提升復雜應用軟件的開發速度和質量,如何實現開源商業化,如何克服開源社區本身的一些局限,以及如何充分利用盡可能多的不同開源軟件來為客戶以及自己創造出更多的商業價值。

創建公司后,開源不再是章亦春唯一的專注點,在目前這個階段,公司相關事務占據了他大部分的時間。作為公司的 CEO,他的日常工作的大部分時間都用在“必須要做的事情”上,包括公司管理、產品開發和客戶的交流等。即使是在很多開源項目上的工作,經常也是出于公司項目的需要。

當然,OpenResty 開源的性質不會改變,實際上,開源用戶對 OpenResty 的認可和感謝是章亦春堅持 OpenResty 開源項目至今最大的動力之一。章亦春一如既往地熱愛著開源,開源帶給他的幸福感仍一如他大學時每天泡在 #perl 6 IRC 聊天頻道與來自世界各地的優秀黑客協作交流時那般強烈。只不過現在他自己成了曾經 IRC 頻道里的“教主”角色。

章亦春對自己當前在 OpenResty 開源項目中的角色定位是“領導者”。他會嚴格審核 OpenResty 項目貢獻者提交的,不確定的或者有爭議的補丁和變更,并控制項目發展的大方向。項目因為他的嚴格把控維持了相對高的質量和穩定性,但這兩年他也慢慢意識到“看門太緊”對項目的可持續發展性造成的一些影響。

相比起 OpenResty 的使用人數,OpenResty 開源社區的貢獻者數要少得多。這其中有一個重要原因就是給 OpenResty 貢獻代碼的門檻很高,每一行代碼都會被嚴格把關,久而久之大家也就不敢提交代碼了。

章亦春表示,如果說前十五年 OpenResty 項目的關鍵詞是“穩定”,那未來十五年的關鍵詞將會是“開放”。只有“穩定”和“開放”兩者之間取得良好的平衡,才能保證一個開源項目能長長久久。因此,章亦春也在嘗試對領導項目的重心和方式做出調整,希望自己既是維系社區精神和愿景的守護者,也是鼓勵更多人參與協作的促進者。

基于這樣的反思,也為了能一改社區過去相對沉寂的狀態,社區做了一些改變和嘗試。比如最近社區建立了一個 slack workspace(https://openresty.com/en/community/),以提供一個集中、實時的平臺來方便 OpenResty 的用戶、開發者進行技術討論和交流。

此外還引入了很多新興的管理開源社區的方式和工具,以期實現社區管理的“跳躍式發展”。其中一個是 roadmap items voting system on Canny,任何人(包括管理者)都可以到 Canny Board 提出和上調投票具體的需求,項目的產品路線圖也就應運而生。從此,社區開發者在 Canny Board 上就能挑選并報名自己感興趣且需求度高的項目進行開發,至少在方向上錯不了。

另一個引入的管理工具叫“Aviyel”,它是一個 Web 3.0 概念的開源社區獎勵和認可平臺。貢獻者跨平臺的代碼和非代碼(QA、項目宣傳、設計等等)貢獻可兌換成徽章,并將它們作為靈魂綁定代幣。徽章的數量代表了每個貢獻者(包括管理者)在開源社區的影響力,隨著社區本身價值的提高,這些徽章未來還能被“貨幣化”。通過上述這些平臺,企業可以提出需求,獨立貢獻者可以放心地提交被需要的功能,這樣一來社區才能吸引更多不同的聲音參與到社區建設和項目發展上。

同時社區也會組織更多的 meetup,邀請更多企業來分享他們的 OpenResty 用例,參與和影響項目未來的發展。

章亦春希望未來能有更多人共同參與維護和開發開源項目,也希望能有更多的企業來驅動項目的發展和創新,使 OpenResty 開發不再是由少數開發者主導,不再是“一言堂”。

“現階段應該更高調一些”

OpenResty Inc. 成立五年來,團隊一直聚焦在“機器編程”這個方向展開工作。據章亦春介紹,團隊目前已經完成了極其重要的理論和技術積累,蓄勢待發。不過由于他之前的“低調”,這些多不為人所知。

到了現在這個階段,他坦言自己確實應該更“高調”一些,把團隊的成果更多地分享出去,讓更多的工程師和企業從團隊的產品中受益。

現階段 OpenResty Inc. 最主要的目標是通過機器編程技術,幫助廣大的企業用戶大幅提升線上各種軟件系統的效能,同時提供更豐富的 OpenResty 外圍軟件生態圈和周邊庫。進一步地,幫助廣大企業用戶“透視”基于各種開源軟件構建的業務系統,清晰地看到其內部運行狀況,并提供人類專家和機器專家關于性能、異常和安全問題的改進和優化建議。

基于此目標,團隊開發了 OpenResty XRay 產品,可以對大規模的分布式互聯網系統進行各種有趣的性能分析和 Bug 追蹤,而無需應用系統的任何配合,也不用下線或重啟任何在線服務。這就像給在線軟件系統拍活體 X 光片或者核磁共振片,可以隨時隨地看到從操作系統內核到應用軟件的腳本語言代碼的方方面面,把整個軟件棧作為一個隨時間動態變化的整體來看待。

章亦春透露,過去五年,公司的大部分精力都放在了創造全新的技術上,以從較根本的層面上去解決計算機世界一些最痛的問題。如今終于基本實現了最初的技術愿景,取得了一定技術成果。但由于團隊規模還比較小,時間和資源也較為有限,所以把重點放在技術創新的同時,在社區方面的投入就少了。一直到今年,才有資源投入到社區中。同樣,早前商業化方面的投入也非常不足,團隊直到去年底都是清一色的工程師,沒有商業方面的人才。目前已有的幾十家來自世界不同國家的商業客戶都是主動找過來的。雖然章亦春非常慶幸也非常感謝這些客戶的信任與支持,但這肯定不是一條可持續的路。

章亦春坦言,過去五年公司在開源商業化上摸索,其實走了不少彎路,但也因此獲得了非常寶貴的經驗教訓。其中很關鍵的一點就是,商業化的產品和開源產品不能在同一個或者類似的賽道上,尤其是在開源產品已經很強大的情況下。在他看來,開源本身不是一種商業模式,而是一種協作關系,開源項目取得了很大的成功,并不能保證開源商業化的成功,甚至從某種程度上來說還可能成為一種阻礙。開源商業化要取得成功,關鍵就是要提供與開源項目互補(而不是替代之)的價值,讓市場愿意為這個價值買單。

另外,也不能低估用戶除了產品性能之外的商業考量因素,包括遷移成本、內部產品整合等等。章亦春表示,在開發具體的商業產品時,要盡可能詳盡地了解開源需求,以大量用戶數據、競品信息來驅動產品決策。即便在資源有限的情況下,也不能一心做研發,而忽略宣傳和知識分享。

截至 2022 年 5 月 30 日,OpenResty 在全球范圍內擁有 40,785,783 域名用戶,占總市場份額 14.91%。其中域名市場份額排名第一和第二的分別是 Nginx(27.42%)和 Apache(22.93%),Cloudflare 位列第四(8.40%)。在所有競品當中, OpenResty 是唯一一個在沒有任何主動商業宣傳前提下還能在過去五年保持持續增長狀態的解決方案。

拿過不合格績效,也創造出世界頂級開源項目 - 專訪 OpenResty 章亦春(章亦春百科)

去年底,章亦春找到了一位很欣賞的商業合伙人,今年公司已經開始全面構建商業團隊,會在商業化方面做出更多嘗試和努力。

“我覺得 OpenResty 終于到了一個可以再一次厚積薄發的發展階段。同時我們新創造的技術和方法也早已不再局限于開源 OpenResty 的范圍,而是可以延伸到所有的開源項目和用戶社區。”

對話章亦春:如何應對云原生時代的可觀測性挑戰?

在即將召開的 QCon 全球軟件開發大會(北京站) 2022,章亦春將在“云原生架構變革”專場帶來題為“穿透 K8s 容器的應用分析——使用動態追蹤分析應用的世界前沿技術”的演講分享,章亦春老師將結合其超前的技術視野和超過 15 年的開源經驗,來講述在云原生時代如何攻克可觀測性最大挑戰:既對容器內應用進行穿透性觀測,以及保證觀測結果的準確性、完整性和可操作性的最佳方案。感興趣的同學可點擊鏈接了解 100 議題。圍繞云原生時代的可觀測性挑戰這一主題,我們也與章亦春聊了聊,訪談實錄如下。

拿過不合格績效,也創造出世界頂級開源項目 - 專訪 OpenResty 章亦春(章亦春百科)

InfoQ:您這次在 QCon 上分享的主題與云原生時代的可觀測性有關,根據您的觀察,當前 Kubernetes 應用的可觀測性面臨哪些困境和挑戰?

章亦春:其實對于非容器化的軟件應用的可觀測性,如果真的能夠快速發現和定位絕大多數的線上問題,包括那些很深的詭異問題,在技術上也是一件挑戰很大的事情。容器化和 Kubernetes 環境又在此基礎上增加了不少新的技術復雜度,主要是容器的虛擬化和隔離這些方面。在一切都正常工作的情況下,容器化的方法論讓應用布署和運維變得簡單,但它客觀上大大增加了整個軟件棧本身的復雜度。雖然這些復雜度對于大多數用戶而言被封裝和隱藏了起來,但它們無法被消滅,仍然會產生更多的問題,并讓調試變得更困難。

舉一個最突出的例子,容器在大小上面一般都故意做了最小化處理,因為大家需要盡量降低容器鏡像的大小,這就導致容器內部其實缺少很多常用的系統工具,在調試問題時會非常麻煩。另一方面,容器為了最大化安全性,一般也是用最小集合的權限來運行的,這更加劇了像 strace 或 gdb 這樣的工具無法在容器內使用的問題。進一步地,宿主操作系統和容器內的操作系統經常也是很不相同的,所以使用宿主系統的工具去調試容器內的應用,既易受到容器的命名空間隔離的限制,又易受到工具鏈兼容性的制約。

InfoQ:針對前面提到的這些可觀測性挑戰,目前業內有哪些常見的應對方法?

章亦春:業內目前最常見的應用方法只是打日志或者在應用里埋點吐更多的指標數據到容器外,這需要應用本身的配合,經常也需要對應用本身做修改。我也看到有基于 eBPF 或 SystemTap 這些更高級的動態追蹤技術的分析工具,但這些技術的開源實現還很原始,有非常大的局限性。針對這些問題,我們研發了全新一代的動態追蹤技術來實現 OpenResty XRay 這個產品,完全不需要修改容器或應用本身,也不會向用戶的應用內注入代碼或加裝模塊,同時克服了開源技術的諸多問題和局限,可以快速和精確地發現和定位任意的問題,包括那些很詭異、隱藏很深的問題。

InfoQ:對于可觀測性方向未來的技術趨勢,您有怎樣的預測和判斷?

章亦春:我相信類似動態追蹤這樣的技術會發揮越來越大的力量,機器最終可以自動診斷和修復很多人類專家都搞不定的線上應用的各種問題。另一方面,機器編程這樣的技術也可以讓更傳統的應用內埋點吐日志和指標的方式變得更容易更動態,或許在動態性上也可以更接近動態追蹤這樣的技術。

InfoQ:您最近還在關注哪些前沿技術方向?能否跟開發者們分享一下,您是如何培養和保持自己對技術的前瞻性的?

章亦春:我最近一個時期主要關注下面這些技術方向,當然可能并不一定都符合大家對“前沿”的定義:

  1. Linux 內核中的 eBPF 相關的技術
  2. Linux 基于容器和命名空間的虛擬化技術
  3. 基于機器學習等方法、針對優化編譯后的二進制程序的深度分析

我比較喜歡研究各種技術和問題的本質,并發揮想象力去尋找最根本的解法,畢竟具體的技術和方法一直都在快速變化中,也總是在解決了老問題的同時,不小心引入新的問題。和開源社區、和公司客戶保持溝通和交流可以了解到很多有趣的東西,另外像 Hacker News 和 InfoQ 這樣的媒體上面也可以經常看到好玩的新事物。

相關新聞

聯系我們
聯系我們
在線咨詢
分享本頁
返回頂部