公司為什么需要建立一套統(tǒng)一的開發(fā)框架?-創(chuàng)新互聯(lián)

一、起因:野蠻生長

近十年,中國互聯(lián)網(wǎng)發(fā)展的速度越來越快,互聯(lián)網(wǎng)科技顛覆了越來越多的傳統(tǒng)行業(yè),我們的衣食住行隨著互聯(lián)網(wǎng)科技的進(jìn)步,發(fā)生了翻天覆地的變化。在這個(gè)大潮中,越來越多新興的公司如雨后春筍般的冒了出來,他們的業(yè)務(wù)增長非???,公司規(guī)模也越來越大。這得益于中國經(jīng)濟(jì)的高速增長和互聯(lián)網(wǎng)的快速發(fā)展。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了杜集免費(fèi)建站歡迎大家使用!

公司為什么需要建立一套統(tǒng)一的開發(fā)框架?

弊端一:自我繁衍

在公司快速的發(fā)展過程中,往往會(huì)出現(xiàn)這樣一個(gè)鏈條。新增一塊業(yè)務(wù) —> 招聘一位高級(jí)技術(shù)人員 —> 圍繞這位同事組建一只技術(shù)團(tuán)隊(duì) —> 該業(yè)務(wù)基本由這只團(tuán)隊(duì)負(fù)責(zé)。然后就形成了一個(gè)閉環(huán)。當(dāng)需要跟其他業(yè)務(wù)進(jìn)行交互時(shí),經(jīng)常是技術(shù)負(fù)責(zé)人之間自行決定。(我曾經(jīng)經(jīng)歷過一個(gè)項(xiàng)目,同樣一個(gè)業(yè)務(wù)接口,同時(shí)提供 RPC,HTTP,MQ 等多種方式,為了給不同的項(xiàng)目提供基礎(chǔ)服務(wù))。

弊端二:管控壁壘

隨著業(yè)務(wù)規(guī)模的快速發(fā)展,這個(gè)團(tuán)隊(duì)很快的形成了一個(gè)部門,團(tuán)隊(duì)決策者通常會(huì)從自身利益考量,希望盡量減少對(duì)外部門的依賴,無論是技術(shù)選型,規(guī)范建立,組件選取,運(yùn)行環(huán)境都能夠自行掌控。(在這里講一個(gè)笑話,在一家公司怎么成為中層領(lǐng)導(dǎo)呢?很簡(jiǎn)單,招聘足夠多的下屬就可以了)。

公司為什么需要建立一套統(tǒng)一的開發(fā)框架?

弊端三:斷崖效應(yīng)

當(dāng)這樣的技術(shù)氛圍一旦形成,單個(gè)員工對(duì)單個(gè)項(xiàng)目的影響就會(huì)變的非常巨大。一個(gè)產(chǎn)品經(jīng)常會(huì)因?yàn)橐粌蓚€(gè)核心員工的離職難以為繼,最后不得不重新開發(fā)新的產(chǎn)品。

公司為什么需要建立一套統(tǒng)一的開發(fā)框架?

弊端四:資源浪費(fèi)

當(dāng)每個(gè)團(tuán)隊(duì)都在試圖構(gòu)建自己完整的研發(fā)流程時(shí)。中間的技術(shù)研究,產(chǎn)品研發(fā),運(yùn)維管理就會(huì)出現(xiàn)非常多的資源浪費(fèi)。

公司為什么需要建立一套統(tǒng)一的開發(fā)框架?

弊端五:難以考核

怎么衡量一個(gè)川菜廚師和一個(gè)魯菜廚師誰更優(yōu)秀?當(dāng)每個(gè)團(tuán)隊(duì)都采用不同技術(shù)棧,不同的技術(shù)組件,不同的維護(hù)方式和規(guī)范時(shí)。已經(jīng)無法從產(chǎn)出效率來判斷一個(gè)團(tuán)隊(duì)的績效。KPI 指標(biāo)也就非常難以設(shè)立。

公司為什么需要建立一套統(tǒng)一的開發(fā)框架?

二、如何破解?

在公司發(fā)展初期,為了快速的進(jìn)行業(yè)務(wù)拓展,大都不考慮成本投入,運(yùn)營維護(hù)以及技術(shù)沉淀等問題。所有的指標(biāo)導(dǎo)向都是業(yè)務(wù)的快速發(fā)展,盡可能的搶占市場(chǎng)份額,獲取足夠多的用戶數(shù)量。

在公司發(fā)展到一定階段后,市場(chǎng)逐漸趨于穩(wěn)定,先期快速擴(kuò)展的各種問題會(huì)逐步暴露出來。從技術(shù)層面來講,如果可以形成公司級(jí)別的統(tǒng)一開發(fā)框架,會(huì)在實(shí)際的生產(chǎn)過程中帶來非常大的收益。

三、統(tǒng)一開發(fā)框架的優(yōu)勢(shì)

3.1 避免重復(fù)性技術(shù)研究——節(jié)約人力成本

讓項(xiàng)目組把精力更多的投入到業(yè)務(wù)中。相信這是大多數(shù)技術(shù)公司的共識(shí),如果讓項(xiàng)目組把精力投入在業(yè)務(wù)中?就需要在項(xiàng)目組之下構(gòu)建一個(gè)基礎(chǔ)的開發(fā)架構(gòu)平臺(tái),把技術(shù)的共性問題提煉出來,交給這樣一個(gè)團(tuán)隊(duì)負(fù)責(zé)處理。避免每個(gè)項(xiàng)目都獨(dú)自去解決遇到的各種各樣的技術(shù)難題,有效的把精力釋放出來。

3.2 標(biāo)準(zhǔn)化技術(shù)規(guī)范——提升產(chǎn)品項(xiàng)目質(zhì)量

要千人一面,而不要千人千面。采用統(tǒng)一的開發(fā)框架(平臺(tái))后,在技術(shù)棧,技術(shù)組件,技術(shù)實(shí)現(xiàn)方案,甚至在代碼規(guī)范上就能形成標(biāo)準(zhǔn)化的技術(shù)輸出模式,標(biāo)準(zhǔn)化帶來的大效果不僅僅開發(fā)效率的快速提升,還有產(chǎn)品質(zhì)量的大幅提升,這是顯而易見的。

3.3 進(jìn)行技術(shù)沉淀——提升公司整體技術(shù)能力,避免陷入一個(gè)人的能力決定一個(gè)項(xiàng)目

技術(shù)的進(jìn)步來源于不斷的技術(shù)積累和沉淀。每個(gè)工程師都是站在別人肩膀上完成工作的。以項(xiàng)目為導(dǎo)向的技術(shù)團(tuán)隊(duì),一般都會(huì)以實(shí)現(xiàn)業(yè)務(wù)需求為最重要的目標(biāo),技術(shù)只不過是完成業(yè)務(wù)的一種工具而已?;诖耍瑯I(yè)務(wù)開發(fā)團(tuán)隊(duì)就不可能把技術(shù)積累作為一項(xiàng)重要的工作。當(dāng)一位核心員工構(gòu)建了一些基礎(chǔ)的平臺(tái)工具后,往往隨著他的離開把之前的技術(shù)積累全部丟棄掉,而更嚴(yán)重的情況會(huì)導(dǎo)致整個(gè)項(xiàng)目的持續(xù)運(yùn)行都成了問題。

當(dāng)存在公司級(jí)別的統(tǒng)一開發(fā)框架(平臺(tái)),項(xiàng)目團(tuán)隊(duì)基于該平臺(tái)進(jìn)行自身項(xiàng)目的研發(fā),不再需要關(guān)注于底層技術(shù)實(shí)現(xiàn),只需要關(guān)注業(yè)務(wù)即可。當(dāng)存在核心同事離職時(shí),平臺(tái)的研發(fā)同事可以對(duì)新進(jìn)入項(xiàng)目的同事進(jìn)行相關(guān)培訓(xùn),不會(huì)導(dǎo)致青黃不接的事情發(fā)生。而且,專注于平臺(tái)的同事為了更好的滿足項(xiàng)目組的技術(shù)需求,對(duì)平臺(tái)進(jìn)行不斷的改進(jìn),從而達(dá)到技術(shù)積累和沉淀的目標(biāo)。

3.4 可衡量的研發(fā)投入——對(duì)研發(fā)團(tuán)隊(duì)的有效管理和考核

當(dāng)基于同一開發(fā)框架(平臺(tái))的標(biāo)準(zhǔn)化技術(shù)規(guī)范建立起來后,對(duì)業(yè)務(wù)功能的代碼實(shí)現(xiàn)就可以進(jìn)行相對(duì)有效的評(píng)估和考量,可以避免因?yàn)榧夹g(shù)實(shí)現(xiàn)差異而出現(xiàn)的種種問題。這對(duì) KPI 的制定和考核是一個(gè)巨大的幫助。

四、統(tǒng)一開發(fā)框架(平臺(tái))的定位和目標(biāo)

統(tǒng)一開發(fā)框架(平臺(tái))定位于技術(shù)層面,其主要目的是為統(tǒng)一公司內(nèi)相關(guān)產(chǎn)品研發(fā)和項(xiàng)目實(shí)施使用的技術(shù)架構(gòu)和開發(fā)工具,有效提高統(tǒng)一技術(shù)支持力度,形成持續(xù)的技術(shù)積累手段,提升技術(shù)人員的利用率并降低對(duì)人員的依賴性,最終提升軟件的規(guī)模化、流水線式的生產(chǎn)能力。

五、統(tǒng)一開發(fā)框架(平臺(tái))的建設(shè)思路

5.1 基于 Spring Cloud 技術(shù)棧

Spring Cloud 在 2017 年一躍成為最流行的微服務(wù)開發(fā)框架,不是采用了 Spring Cloud 框架就實(shí)現(xiàn)了微服務(wù)架構(gòu),具備了微服務(wù)架構(gòu)的優(yōu)勢(shì)。正確的理解是使用 Spring Cloud 框架開發(fā)微服務(wù)架構(gòu)的系統(tǒng),使系統(tǒng)具備微服務(wù)架構(gòu)的優(yōu)勢(shì)。下圖為選擇 Spring Cloud 作為技術(shù)棧的原因。

公司為什么需要建立一套統(tǒng)一的開發(fā)框架?

5.3 部分 SpringCloud 構(gòu)件的增強(qiáng)

Spring Cloud 提供的基礎(chǔ)構(gòu)建可能無法完全滿足業(yè)務(wù)需求,需要在部分構(gòu)件之上做二次研發(fā)。比如我們?cè)?Zuul 基礎(chǔ)之上研發(fā)的 API 網(wǎng)關(guān)、服務(wù)注冊(cè)發(fā)現(xiàn)中心 EurekaPlus 等。

下圖為服務(wù)注冊(cè)發(fā)現(xiàn)中心 EurekaPlus 的截圖,可以手動(dòng)控制服務(wù)注冊(cè)中心的節(jié)點(diǎn)狀態(tài),從而支持藍(lán)綠部署。

公司為什么需要建立一套統(tǒng)一的開發(fā)框架?

5.3 新基礎(chǔ)組件產(chǎn)品的研發(fā)

除了 Spring Cloud 的基礎(chǔ)構(gòu)件外,我們往往需要開發(fā)新的基礎(chǔ)組件產(chǎn)品來滿足項(xiàng)目組的需求。特別是當(dāng)前微服務(wù)架構(gòu)大行其道,常常需要基于微服務(wù)架構(gòu)的設(shè)計(jì)思想來開發(fā)新的組件產(chǎn)品,比如我們開發(fā)的分布式任務(wù)調(diào)度框架。采用自動(dòng)抓取,在線編排的模式,完全契合于 Spring Cloud 技術(shù)棧。

下圖為分布式任務(wù)調(diào)度框架原理。執(zhí)行器在啟動(dòng)時(shí)將任務(wù)接口注冊(cè)到分布式數(shù)據(jù)中心,編排中心從分布式數(shù)據(jù)中心獲取執(zhí)行器信息進(jìn)行編排,然后把編排信息保存到數(shù)據(jù)存儲(chǔ)中,調(diào)度中心從數(shù)據(jù)存儲(chǔ)中獲取信息對(duì)執(zhí)行器進(jìn)行遠(yuǎn)程調(diào)度。

公司為什么需要建立一套統(tǒng)一的開發(fā)框架?

六、統(tǒng)一開發(fā)框架(平臺(tái))團(tuán)隊(duì)的運(yùn)作方式

如何在公司推進(jìn)統(tǒng)一開發(fā)框架(平臺(tái))的建設(shè),并不是一件簡(jiǎn)單的事情。以我個(gè)人的經(jīng)驗(yàn),從分工和運(yùn)作方式上來講,我主要著重把統(tǒng)一開發(fā)框架(平臺(tái))的工作分成三個(gè)部分。

開發(fā)示例、技術(shù)支持和技術(shù)規(guī)范。編寫完整的開發(fā)示例,對(duì)很多新接觸統(tǒng)一開發(fā)框架的同事來說,有一份完成業(yè)務(wù)開發(fā)是非常重要,不僅僅可以指導(dǎo)你如何進(jìn)行業(yè)務(wù)代碼的編寫,同時(shí)還能夠指導(dǎo)你如何編寫出正確、高效的代碼。還需要對(duì)很多同事進(jìn)行技術(shù)培訓(xùn)與技術(shù)支持支持,都是統(tǒng)一開發(fā)框架(平臺(tái))團(tuán)隊(duì)?wèi)?yīng)該完成的工作。

服務(wù)運(yùn)維。統(tǒng)一開發(fā)框架(平臺(tái))提供了很多公司內(nèi)部的服務(wù),比如服務(wù)注冊(cè)發(fā)現(xiàn)中心、配置中心、監(jiān)控中心、鏈路中心、健康監(jiān)測(cè)中心等。這些都需要統(tǒng)一開發(fā)框架(平臺(tái))團(tuán)隊(duì)進(jìn)行運(yùn)維。

新組件、新產(chǎn)品的研發(fā)。前一章節(jié)提到的 API 網(wǎng)關(guān)、分布式任務(wù)調(diào)度框架、服務(wù)注冊(cè)中心 Plus 等。都是統(tǒng)一開發(fā)框架(平臺(tái))團(tuán)隊(duì)的工作范圍。

七、過猶不及

雖然建設(shè)公司級(jí)的統(tǒng)一開發(fā)框架(平臺(tái))會(huì)在實(shí)際的生產(chǎn)過程中帶來非常大的收益。但未必適用于所有情況,考慮到某些項(xiàng)目產(chǎn)品的特殊性,并不能一概而論。

作者:梁鑫

來源:宜信技術(shù)學(xué)院

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前名稱:公司為什么需要建立一套統(tǒng)一的開發(fā)框架?-創(chuàng)新互聯(lián)
標(biāo)題來源:http://bm7419.com/article36/dehpsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站維護(hù)、關(guān)鍵詞優(yōu)化、手機(jī)網(wǎng)站建設(shè)品牌網(wǎng)站制作、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)