用心做好一款堡壘機(jī),升級版《新一代堡壘機(jī)建設(shè)指南》白皮書現(xiàn)已開放下載!
編者注:本文刊登在《新一代堡壘機(jī)建設(shè)指南》(JumpServer v3.0發(fā)布紀(jì)念版)序言部分,文章作者為JumpServer開源堡壘機(jī)項目創(chuàng)始人廣宏偉。點擊文章底部“閱讀原文”鏈接,即可下載新版《新一代堡壘機(jī)建設(shè)指南》白皮書。
“九年時間,用心做好一款堡壘機(jī)”
2014年6月到2023年6月,JumpServer開源堡壘機(jī)項目已經(jīng)走過了九年的時間。之前我們常說的口號是:“改變世界,從一點點開始。”那么,在過去九年的時間里,我們?yōu)楦淖儽緳C(jī)應(yīng)用市場所做的努力應(yīng)該被大眾所看見并感受到了。從一個簡單的運維腳本萌發(fā),到現(xiàn)在成為累計安裝部署至少250,000次的開源項目,JumpServer實現(xiàn)了自我的價值,也承載著用戶越來越多的期待,更面臨著許多現(xiàn)實的挑戰(zhàn)。
JumpServer的V2版本是在項目誕生的第六年(2020?年)發(fā)布的。在這個大版本之下,我們堅持按月發(fā)布新版本的節(jié)奏,在V2的大版本內(nèi)累計迭代了28個版本。在兩年多的時間里,JumpServer的研發(fā)團(tuán)隊激進(jìn)過,也妥協(xié)過,在功能迭代的過程中發(fā)現(xiàn)了一些產(chǎn)品設(shè)計不合理、冗余的地方。而這樣長時間的高速迭代也使得JumpServer的部分功能設(shè)計沒有經(jīng)過完全的深思熟慮,開發(fā)起來十分復(fù)雜,導(dǎo)致整個系統(tǒng)變得臃腫。
站在項目發(fā)展第九年的時間節(jié)點,我們需要對JumpServer做“減法”了。與此同時,社區(qū)用戶的反饋也讓我們感知到了不同規(guī)模企業(yè)用戶對于JumpServer的現(xiàn)實需求。一些規(guī)模較大的企業(yè)用戶的部分功能需求在JumpServer V2版本的技術(shù)架構(gòu)之下難以滿足,主要的原因歸結(jié)于JumpServer底層架構(gòu)設(shè)計的局限。?
在產(chǎn)品架構(gòu)重塑和用戶需求的雙重驅(qū)動下,JumpServer開源項目組在2022年3月決定啟動JumpServer v3.0版本的研發(fā),在這個新的版本編號的旗幟之下對JumpServer的技術(shù)架構(gòu)進(jìn)行重構(gòu)。
整個重構(gòu)工作耗時近一年的時間,2023年2月27日,JumpServer正式發(fā)布v3.0版本。在此之后,JumpServer每月迭代一個小版本,解決在用戶真實環(huán)境中遇到的版本升級、資產(chǎn)遷移等問題,目前已經(jīng)形成了一個相對成熟、穩(wěn)定的新版本JumpServer。
在JumpServer v3.0版本中,我們重構(gòu)了底層技術(shù)架構(gòu),通過改變管理模型的方式來兼顧不同規(guī)模和類型用戶的實際使用場景,基于用戶、系統(tǒng)用戶、資產(chǎn)和授權(quán)這四個維度對JumpServer中的大部分使用場景進(jìn)行了重新設(shè)計。
在產(chǎn)品設(shè)計過程中,我們秉持“內(nèi)外兼修”的原則,希望進(jìn)一步提升用戶的使用體驗,真正用心做好一款開源堡壘機(jī)。在產(chǎn)品的內(nèi)在方面,我們對核心功能進(jìn)行了全面的優(yōu)化設(shè)計。具體如下 :
■ 系統(tǒng)用戶重構(gòu)為賬號,放棄系統(tǒng)用戶中間層?
在JumpServer過去的版本中,系統(tǒng)用戶承擔(dān)了太多的職責(zé),系統(tǒng)用戶的功能顯得十分臃腫。JumpServer設(shè)計系統(tǒng)用戶的初衷其實是作為賬號存在的,通過特權(quán)賬號創(chuàng)建系統(tǒng)用戶。這在資產(chǎn)規(guī)模比較小、大多數(shù)用戶的賬號密碼相同的情況下,使用起來十分便捷。但是隨著JumpServer用戶規(guī)模和使用范圍的不斷擴(kuò)大,對于擁有大量IT資產(chǎn),并且等保安全要求資產(chǎn)密碼都要不一樣的大中型企業(yè),這就帶來了比較大的困擾。
為了解決這個問題,我們將系統(tǒng)用戶和賬號進(jìn)行分離。系統(tǒng)用戶關(guān)聯(lián)資產(chǎn)時會產(chǎn)生一個賬號,一個系統(tǒng)用戶在不同的資產(chǎn)上允許產(chǎn)生不同的賬號,聯(lián)表計算之后形成賬號列表。這樣就滿足了擁有大規(guī)模 IT 資產(chǎn)場景用戶的需要,但在面對計算量龐大的業(yè)務(wù)場景時,賬號列表很容易出現(xiàn)問題而崩潰,因此我們決定對系統(tǒng)用戶進(jìn)行重新設(shè)計。在JumpServer v3.0版本中,系統(tǒng)用戶重構(gòu)為賬號,放棄系統(tǒng)用戶中間層。這就意味著在JumpServer v3.0以及后續(xù)版本中,不會再有“系統(tǒng)用戶”的概念。
■ 資產(chǎn)和應(yīng)用合并 ?
起初JumpServer設(shè)計中只有資產(chǎn),后來為了支持?jǐn)?shù)據(jù)庫連接,新增了應(yīng)用。因為每種應(yīng)用可能都有單獨的一些字段,為了和資產(chǎn)進(jìn)行區(qū)分,我們不得不新增了Application表,這也就導(dǎo)致很多后端的數(shù)據(jù)關(guān)系表會和資產(chǎn)一樣存在多份,數(shù)據(jù)庫和API都存在冗余的現(xiàn)象。在JumpServer v3.0版本中,我們化繁為簡,將資產(chǎn)和應(yīng)用合并,統(tǒng)稱為資產(chǎn),強(qiáng)化資產(chǎn)平臺方面的職責(zé)。
■ 平臺是資產(chǎn)的抽象和約束?
資產(chǎn)與應(yīng)用合并之后,強(qiáng)化了資產(chǎn)平臺的作用,因此也需要對資產(chǎn)平臺進(jìn)行重新設(shè)計,對資產(chǎn)進(jìn)行約束。原有的資產(chǎn)平臺本質(zhì)上只是起到標(biāo)記的作用,而在JumpServer v3.0版本中,新平臺除了區(qū)分資產(chǎn)類型外,還可以定制功能。
另外,新平臺還可以靈活定義自動化配置,所有的自動化功能都依賴于Ansible自動化運維工具,不需要我們再進(jìn)行額外的Python代碼填寫,可以直接選擇資產(chǎn)和賬號來進(jìn)行配置。這樣一來,不僅提升了系統(tǒng)的自動化程度和配置效率,在一定程度上還減輕了我們的工作量,讓我們有更多的精力專注于更重要的功能優(yōu)化。
■ 遠(yuǎn)程應(yīng)用是未來擴(kuò)展的核心 ?
原來的RemoteApp遠(yuǎn)程應(yīng)用是一種應(yīng)用類別,只是作為JumpServer的一種能力存在的。在JumpServer v3.0版本中,我們對遠(yuǎn)程應(yīng)用進(jìn)行了重新設(shè)計。遠(yuǎn)程應(yīng)用是JumpServer未來擴(kuò)展的核心,也是JumpServer v3.0版本重構(gòu)中非常重要的部分。我們的研發(fā)團(tuán)隊很重視遠(yuǎn)程應(yīng)用的重新設(shè)計, 在JumpServer v3.0版本中做了重大的更新, 并且面向社區(qū)開源, 希望未來遠(yuǎn)程應(yīng)用能夠?qū)崿F(xiàn)“萬物皆可連”的目標(biāo)。
此外,作為一款企業(yè)IT部門高頻使用的工具類軟件,JumpServer的用戶使用體驗也非常重要。因此,在重新設(shè)計內(nèi)在架構(gòu)和功能的同時,專業(yè)設(shè)計師還對JumpServer v3.0的操作界面進(jìn)行了全新的UI設(shè)計,重新調(diào)整功能布局,只保留核心菜單,儀表盤數(shù)據(jù)更加直觀,簡約而直白的設(shè)計大幅提升了用戶的使用體驗。
六月對于JumpServer是有著特別意義的。JumpServer項目的第一行代碼是在2014年6月寫下的,JumpServer v2.0版本發(fā)布日期是2020年6月。在2021年6月,JumpServer開源項目組編寫了第一版《新一代堡壘機(jī)建設(shè)指南》白皮書,以此為載體回顧堡壘機(jī)作為一個IT產(chǎn)品品類的發(fā)展歷程,及其在云計算時代所面臨的問題,以及新一代堡壘機(jī)建設(shè)的想法與實踐。在過去兩年的時間里,有超過4000位的社區(qū)用戶下載了《新一代堡壘機(jī)建設(shè)指南》電子版,有超過6000本《新一代堡壘機(jī)建設(shè)指南》紙質(zhì)版送達(dá)廣大用戶手中。
2023年7月,《新一代堡壘機(jī)建設(shè)指南》特別推出JumpServer v3.0發(fā)布紀(jì)念版。結(jié)合過去兩年廣大社區(qū)用戶的反饋,在這一版本中,我們進(jìn)一步升級了新一代堡壘機(jī)的內(nèi)涵解讀,對最新版本JumpServer的功能架構(gòu)及核心優(yōu)勢進(jìn)行了詳細(xì)闡述,并與大家分享JumpServer v3.0版本的研發(fā)設(shè)計思路和功能進(jìn)化。另外,我們還同步更新了包括騰訊海外游戲、貨拉拉、萬華化學(xué)在內(nèi)的最新企業(yè)應(yīng)用案例,以幫助用戶更好地推進(jìn)JumpServer開源堡壘機(jī)在企業(yè)的落地實踐。
將JumpServer開源項目的發(fā)展進(jìn)程、產(chǎn)品能力和用戶案例定期集結(jié)成冊,已經(jīng)成為我們與社區(qū)用戶互動的重要方式?!缎乱淮緳C(jī)建設(shè)指南》(JumpServer v3.0發(fā)布紀(jì)念版)讓我們站在了一個新的起點。在這個萬物皆盛的時節(jié),我們將和廣大用戶和客戶一起,為了“用心做好一款堡壘機(jī)”不懈努力。
JumpServer開源項目創(chuàng)始人???廣宏偉
2023年6月

