原來,建木的許多想法都萌芽于2015年,在某銀行征信中心研發(fā)測試云咨詢和落地實踐中,九州云構(gòu)建了基于OpenStack的私有云IaaS,上層構(gòu)建了基于Jenkins的CI/CD流水線。過程中,建木團(tuán)隊從開發(fā)者的視角審視 DevOps,也逐漸體會到了DevOps的優(yōu)美和不足。
2018年,九州參與了某金融機(jī)構(gòu)的自動化運維改造項目,建木團(tuán)隊也從運維人員的視角審視著DevOps的價值,看到了DevOps在大型機(jī)構(gòu)落地難的問題,也有了許多金融領(lǐng)域?qū)崿F(xiàn)DevOps的深入思考。同時,也從管理者的角度意識到了金融領(lǐng)域用戶對于DevOps的關(guān)鍵訴求——“敏捷”。
2020年開始,在之前項目積累的基礎(chǔ)上建木團(tuán)隊開始構(gòu)思如何讓整個DevOps更簡潔,如何以簡潔的方式來完成DevOps工具鏈的集成和使用。由此,結(jié)合之前實戰(zhàn)項目中的經(jīng)驗,對一些核心的分布式調(diào)度和執(zhí)行相關(guān)代碼做重構(gòu),最后將這些代碼開源,于是就有了建木,這中間飽含了建木團(tuán)隊智慧和汗水!
“建木”的名字飽含中國元素,“建木”取名于山海經(jīng)·海內(nèi)南經(jīng),“建木”是上古先民崇拜的一種圣樹,它是溝通天地人神的橋梁。據(jù)傳,伏羲、黃帝等眾帝都是通過這一神圣的梯子上下往來于人間天庭。此外,建木項目還進(jìn)入了中國開源社區(qū)木蘭開源社區(qū)孵化。
從介紹中了解到,建木項目的使命與“建木”圣樹神似,它的作用是銜接各個IT領(lǐng)域,包括自動化運維和DevOps相關(guān)各種任務(wù),未來規(guī)劃中,去做各種業(yè)務(wù)系統(tǒng)之間的集成,成為不同業(yè)務(wù)場景間互通的橋梁。
功能設(shè)計上,建木的核心功能包括觸發(fā)器、流程編排、任務(wù)分發(fā)等功能,這些功能決定了建木可以應(yīng)用在各類使用場景下,包括但不限于CI/CD、DevOps、自動化運維、多業(yè)務(wù)系統(tǒng)集成等場景的自動化。
一個技術(shù)團(tuán)隊的理想:做一個被廣泛應(yīng)用的開源軟件
無論是從最初的出發(fā)點,還是實際落地的功能點,建木無不反映出一個技術(shù)團(tuán)隊的理想。
從建木項目的介紹中了解到,建木的目標(biāo)是要造福開發(fā)者,讓IT從業(yè)人員從重復(fù)的體力勞動中解放出來,讓35歲以上的程序員也能繼續(xù)寫代碼,讓他們在三線城市拿著一線的薪酬,成為田園工程師。
建木團(tuán)隊沒有讓理想停留在想象中,而是準(zhǔn)備將建木打造為廣泛應(yīng)用的,并且有生命力的開源項目,要做到這點,建木團(tuán)隊認(rèn)為需要經(jīng)歷三個階段:
第一,以更高的易用性吸引最終用戶,讓更多人用起來,吸引更多人加入開源社區(qū)。
第二階段,在用戶真正體會到其中價值后,在社區(qū)分享用戶心得,提升建木的影響力。
第三階段,更多人主動提出需求和想法,并能通過代碼能力以及文檔能力來為社區(qū)做貢獻(xiàn)。
為了讓更多人用起來,建木團(tuán)隊做了很多事情,比如在社交網(wǎng)站開設(shè)賬號普及介紹,比如做在產(chǎn)品設(shè)計上做一些流程可視化的設(shè)計,為了提升建木的易用性,建木團(tuán)隊選擇以打造產(chǎn)品的思路在做開源項目。
在介紹建木的功能時,只見在圖形化界面里通過幾次點擊,就將多種服務(wù)進(jìn)行集成,最終在企業(yè)微信里搭建了一個機(jī)器人交互服務(wù)。
之所以如此簡單易用,主要是因為建木的生態(tài)節(jié)點庫里有許多開發(fā)完成的節(jié)點,將這些節(jié)點組織和串聯(lián)起來后,就能快速構(gòu)建一些復(fù)雜的服務(wù)。
目前,建木官網(wǎng)上展示了一些節(jié)點,有的是建木官方自己開發(fā)的,也有許多是其他社區(qū)的開發(fā)者來貢獻(xiàn)的,通過這些節(jié)點,可以快速與多個平臺進(jìn)行集成,在建木項目未來發(fā)展中,很重要的一個方面就是積累越來越多的節(jié)點。
建木項目強(qiáng)調(diào)平臺中立性,不與任何云以及其他服務(wù)商進(jìn)行綁定,目前,建木將代碼托管在了Gitee(碼云)上,這是國內(nèi)的最有影響力的代碼托管平臺之一,在開源社區(qū)的選擇上,建木也是選擇了國內(nèi)非常有影響力的木蘭開源社區(qū),目前已是木蘭開源社區(qū)的孵化項目。
之所以選擇國內(nèi)的開發(fā)者社區(qū),主要是考慮到建木項目的定位于服務(wù)本土的開發(fā)者,以中文用戶為主。通過中文開源許可證選擇和中文治理框架的制定,以便于參與者比較容易對開源許可證法律條文和建木社區(qū)治理方式了解,這是一個對中文開發(fā)者更友好的社區(qū)。
建木的目的地,住著技術(shù)人的開源夢
在對建木的設(shè)想和規(guī)劃中,能看到他對于開源技術(shù)的熱愛。
2021年,距離他最早接觸開源已經(jīng)過去了15多年,而他真正投身于開源也十年有余。期間,他得到過開源前輩的指導(dǎo)并從中受益良多。而如今九州云的發(fā)展也蒸蒸日上,作為聯(lián)合創(chuàng)始人的他也始終心懷對于開源的熱忱。
在他看來,一個被廣泛應(yīng)用的開源軟件,一個有生命力的開源軟件本身要比思考開源商業(yè)化的問題更重要,這是首要解決的問題。
他也深知在中國做開源的難,認(rèn)為開源是一場持久戰(zhàn),絕非一時的沖動和熱情能做的事情,需要考慮的問題非常多,比如開源許可證的問題,社區(qū)治理的問題,但同時也發(fā)現(xiàn),情況正在起變化。
他發(fā)現(xiàn),隨著社會的發(fā)展,隨著生活水平的提高,越來越多的人有精力投身于開源,保持著對技術(shù)的熱愛,不計報酬地做一些事情,參與開源項目的過程是程序員在真正創(chuàng)作的過程,很多人都很享受這一過程。
建木的名字飽含著九州和建木團(tuán)隊對于國內(nèi)開源的期待,希望國內(nèi)開源生態(tài)逐漸完善,希望有一天,代表中國古典文化的開源項目會呈現(xiàn)給世界。