天天看點

數列科技 CEO 曹學鋒:解碼全鍊路壓測領域,談開源背後的意義獨立創業,換一個角度迎接挑戰全鍊路壓測技術有哪些實際意義?哪些企業需要應用全鍊路壓測?決定開源,讓企業把精力專注在業務上

為了保障在重大活動中系統的穩定性,自 2013 年起,行業内各大頭部企業便相繼開始自研生産環境全鍊路壓測技術。讓我們把時間線拉回眼下,生産環境全鍊路壓測這一技術發展到了哪個階段?作為性能測試工具,它能解決哪些問題?是否隻有高流量并發的場景下才有必要進行生産環境全鍊路壓測?帶着這些問題,TGO 邀請并專訪了數列科技 CEO 曹學鋒,為大家系統分析了全鍊路壓測的意義與價值。

獨立創業,換一個角度迎接挑戰

曹學鋒作為國内早期開始探索全鍊路壓測領域的玩家之一,曾是阿裡菜鳥的首席架構師及阿裡電商中台核心架構師,參與建構菜鳥整個技術體系。談及創業想法的由來,他表示創業是一個自然而然的轉換過程,“在阿裡也做了很多與創業相關的工作,無論從業務角度還是職場角度,都需要你做一些有挑戰性的事情。”

提到為何投身于全鍊路壓測這一技術領域時,曹學鋒表示,在 2017 年 9 月份,他們觀察到資料是一個有潛在機會的領域,在跟很多企業合作過程中發現,分布式架構給系統帶來了很好的計算和擴充能力,同時也使得系統很脆弱,經常會崩潰,對業務造成影響,全鍊路壓測技術可以非常高效地解決這個問題。它以用最低成本,達成最确定的性能目标的方法,保障業務的連續性,讓系統具備反脆弱的能力和快速定位問題能力。

據他介紹,公司早期的核心人員均來自阿裡并都完整經曆了 2009-2015 年淘寶網五彩石、去 IOE、淘寶雙十一等世界級技術體系變革,包括在 2013 年,阿裡雙十一第一次在生産環境進行全鍊路壓測的方案論證、建設與系統優化,這樣的技術背景也為數列科技布局全鍊路壓測産品奠定了堅實的技術基礎。

全鍊路壓測技術有哪些實際意義?

關于全鍊路壓測技術存在的意義和價值,在采訪過程中,曹學鋒為我們打了一個通俗易懂的比方:“就像自己組裝一輛車,各個零件都是最好的,但并不能保證整體上能跑過蘭博基尼,局部最優并不能保證全局最優,還需要更及時的回報,不斷調試去達成全局最優。”全鍊路壓測就是要以最低的成本,達成全局系統最優,并且問題的定位回報最快,進而讓系統具備非常強的抗擊打能力。

他透露:“全鍊路壓測之前,阿裡為了保證雙十一當天的系統穩定性,會在公司内部發起一個比較大的項目,所有部門的核心人員都會參與,其中研發人數占到了 30%。”從中可以發現兩個顯而易見的影響:一方面,承接業務需求的研發會被占用,導緻業務需求受到阻斷;另一方面,即便投入了那麼多精力,線上上環境仍然具有不确定性,系統的确定性仍然會有挑戰,面臨雪崩效應。

在曹學鋒看來,業務複雜性和系統複雜性的雙重作用,使得保障和維持整個系統的高可用性變得異常困難,同時對研發效率也有較大負面影響。 隻有排除了性能問題帶來的影響,高流量并發才能帶來額外的效能,否則,就成了一件讓人提心吊膽的事。

對于全鍊路壓測技術,曹學鋒還發表了自己的見解:“我們真正要做得是怎樣在真實的環境找問題,而不是在實驗室裡找問題。”測試環境就相當于一個實驗室,在測試環境進行壓測産生的結果不具代表性,與在生産環境進行壓測會有很大的差别。據他介紹,大部分系統在沒有使用生産環境全鍊路壓測工具前,因性能問題引發的故障大約在 30%左右,使用産品後這個數字可以降到 0。

談及全鍊路壓測技術的意義,曹學鋒和他的團隊表示這是一個具有裡程碑意義的技術,讓技術人員擁有一個可以抗擊系統脆弱性的武器,快速回報,精準修複,用更低的成本、更快的時間讓系統具備高度的确定性。

哪些企業需要應用全鍊路壓測?

公司不同的業務以及公司所處的不同階段,對系統穩定性的要求都是不同的。随着企業開始全面布局數字化轉型,越來越多的公司将訂單的擷取、交易以及傳遞都放到了線上,代碼量級正在以翻倍的速度增長,需求改動的次數也在逐級遞增,企業系統穩定性必受到一些挑戰,對于系統高可用本身的要求也會變得更加嚴格。

那麼,到底哪些企業更需要應用全鍊路壓測工具呢?回到這個核心問題上,曹學鋒也為我們總結了以下四大類:

第一類:流量猛漲超過日常流量的場景,比如雙十一、618 等正常性電商購物節,企業可以提前進行部署。除此以外,由于在微服務架構系統中,服務之間的調用關系像是一張繁雜的網,是以服務之間的調用非常複雜。在這種情況下,應用全鍊路壓測技術就顯得也尤為重要。他告訴 TGO,浙江大學有一款線上授課系統,需要利用全鍊路壓測工具來驗證其能否抗住十萬人同時線上。雖然“十萬”這個量級對于網際網路公司來說,它并不是特别高,但浙江大學的系統是由各個供應商提供的系統集合而成的,這種情況下涉及到的問題便會更多。

第二類:數字化轉型企業,當客戶從線上來,生産協同都要靠系統完成時,系統的不确定性會直接影響公司的業務,甚至直接會阻斷業務。

第三類:如果一家企業的 IT 開發人員超過 50 人,那麼系統就會比較複雜,系統鍊路會比較長,這時就需要全鍊路壓測工具來提升系統的确定性,并降低系統的運維管理成本。

第四類:當企業有上雲需求時,需要利用全鍊路壓測工具去保證業務的連續性,驗證業務上雲之後能否穩定運作。

決定開源,讓企業把精力專注在業務上

早在 2019 年年底,曹學鋒就帶領他的團隊完成了生産環境全鍊路壓測工具 ForceCop 的産品化,2020 年進入全面推廣階段,目前中國人壽、順豐科技、希音、中通快遞、中國移動、永輝超市、愛庫存、浙江大學等 50+頭部行業公司都采用了該技術,憑借突出紮實的技術實力收獲了一緻的正向回報。直至今年,數列決定将這款産品進行開源,推出全球首款全鍊路壓測開源産品——Takin。

“好的産品值得被更多人看到”曹學鋒坦言,決定開源的初衷非常簡單,一方面,很多技術人員在工作中遇到問題時,基本都會通過尋找開源産品的方式,來看看其他從業者是否也遇到過;另一方面,它也能幫助企業節省 20%左右的研發工程師,讓他們将精力專注在業務上。反之,開源對于自身公司業務的發展也有正向推動作用,一款好産品有更多人去使用,才能幫助産品進入到一個正向回報循環。

另外,在采訪過程中,曹學鋒也向 TGO 透露了公司在今後的兩大目标:

第一,讓全鍊路壓測産品更完善,幫助更多企業提升使用者體驗及業務的确定性 “希望該産品被廣泛使用,讓系統的抗擊打能力更強,讓業務不再被中斷”

第二,進一步提升發現問題的速度和效率,“很多公司發現故障的方式基本都是靠人或者靠投訴,基于此,我們會在全鍊路壓測的基礎上做一些新的探索,讓他們可以在更短時間内就直接定位問題。”

與此同時,曹學鋒也表示将生産環境全鍊路壓測産品 Takin 開源,肯定會接觸到之前從未遇到過的問題以及産品,如何能為這些産品提供更好的支援,是公司當下面臨的最大挑戰。“未來任重而道遠,我們衷心希望能和業界攜手,打造更好用的産品。”

GitHub 開源位址如下:

Takin:

https://github.com/shulieTech/Takin

開源社群:

https://news.shulie.io/?p=3024

(了解詳細操作文檔)