您好,登錄后才能下訂單哦!
之前我的工作,大部分時(shí)間都是聚焦在某個(gè)產(chǎn)品/團(tuán)隊(duì),為他們提供微服務(wù)/DevOps的實(shí)施及指導(dǎo)。進(jìn)入公司后,同時(shí)參與了多個(gè)產(chǎn)品團(tuán)隊(duì)的改造研討。其中最大的不同在于:
在面對一個(gè)團(tuán)隊(duì)的時(shí)候,范圍聚焦,可以集中梳理問題并全方位跟進(jìn);
但是,當(dāng)同時(shí)面對多個(gè)團(tuán)隊(duì)時(shí),尤其是業(yè)務(wù)背景、技術(shù)積累、團(tuán)隊(duì)規(guī)模、復(fù)雜度不盡相同的團(tuán)隊(duì),如何快速有效的推進(jìn)?
因此,如何能最大化地為多團(tuán)隊(duì)提供支撐,幫助他們有效實(shí)施微服務(wù)并持續(xù)獲得收益,成為挑戰(zhàn)。
微服務(wù)的概念看似淺顯易懂,但實(shí)際上卻涉及敏捷實(shí)踐、架構(gòu)演進(jìn)、領(lǐng)域建模、持續(xù)交付、DevOps等多個(gè)維度的方法論與實(shí)踐。在整個(gè)演進(jìn)過程中,持續(xù)交付、DevOps、演進(jìn)式架構(gòu)成為有效實(shí)施微服務(wù)的必備能力。
于是,根據(jù)之前的經(jīng)驗(yàn)和總結(jié),通過對微服務(wù)實(shí)施過程中不同維度的思考,梳理了《微服務(wù)實(shí)施參考模型》,旨在幫助微服務(wù)實(shí)施的團(tuán)隊(duì)獲取如下關(guān)鍵內(nèi)容:
(1) 全方位診斷當(dāng)前系統(tǒng)是否適合微服務(wù)化。
(2) 清楚了解服務(wù)化實(shí)施的當(dāng)前狀態(tài)以及遇到的瓶頸。
(3) 制定切實(shí)可行的階段性目標(biāo)(這一點(diǎn)非常重要,微服務(wù)帶來的各種好處不言而喻。但是如何有效的按階段推進(jìn),如何梳理最佳實(shí)踐并進(jìn)行大規(guī)模復(fù)制,其實(shí)是有不少坑要趟的)。
(4) 幫助團(tuán)隊(duì)梳理中長期的目標(biāo)并在更大范圍內(nèi)復(fù)制(產(chǎn)品線、部門級別) 。
微服務(wù)實(shí)施參考模型主要包括如下四部分內(nèi)容:
1). 適用性評估
真實(shí)世界里,不存在"One size fits all"的解決方案。雖然微服務(wù)有諸多迷人的優(yōu)勢,但它的弊端和挑戰(zhàn)也是我們在決策時(shí)必須要考慮的風(fēng)險(xiǎn)。對于遺留系統(tǒng)的改造場景,至少要考慮"新業(yè)務(wù)"、"現(xiàn)有業(yè)務(wù)"、"數(shù)據(jù)的獨(dú)立與依賴性"、"雙模IT集成"等內(nèi)容。所以,如何評估現(xiàn)有的產(chǎn)品或者業(yè)務(wù),是否適合大規(guī)模的微服務(wù)化改造,從哪些維度能夠幫助我們思考并鑒別風(fēng)險(xiǎn),是×××長征的第一步。
2). 成熟度評估
經(jīng)過上面的評估,已經(jīng)確定了微服務(wù)對產(chǎn)品的適用度。那接下來,團(tuán)隊(duì)的當(dāng)前狀態(tài)如何,能多大程度的投入?過去是否有積累的敏捷或者持續(xù)交付實(shí)踐,接下來的實(shí)施面臨哪些挑戰(zhàn)?第一步從哪些角度入手?
這些是很多團(tuán)隊(duì)面臨的困惑。
通過定義三大關(guān)鍵、五個(gè)等級及八個(gè)維度,成熟度參考能幫助團(tuán)隊(duì)了解當(dāng)前微服務(wù)的狀態(tài),明確短期目標(biāo)并定義中長期目標(biāo),同時(shí)為團(tuán)隊(duì)提供清晰的路標(biāo)。
3). 技能與工具圖譜
清楚了短期目標(biāo)、中長期目標(biāo),接下來的部分就是如何落地。在微服務(wù)落地的過程中,會涉及到很多工具、技能以及相關(guān)的實(shí)踐。因此,該部分旨在提供落地過程中的語言、框架、工具以及實(shí)踐指導(dǎo)。
另外,為了完善服務(wù)落地時(shí)能力提升的活動,我們也提供了對于服務(wù)演進(jìn)過程中需要工具的視頻或者素材,幫助團(tuán)隊(duì)快速上手并獲得相關(guān)能力。同時(shí),更深層次的目標(biāo),其實(shí)也是希望團(tuán)隊(duì)能在熟悉這個(gè)流程后,根據(jù)自身實(shí)踐,打造適合團(tuán)隊(duì)自己的技能圖譜。
目前《微服務(wù)實(shí)施參考模型》在多個(gè)團(tuán)隊(duì)取得了良好的效果。
基于《微服務(wù)實(shí)施參考模型》,在業(yè)務(wù)支撐工具團(tuán)隊(duì)的新版本,對微服務(wù)實(shí)施過程中定義26+項(xiàng)實(shí)踐改進(jìn),包括服務(wù)演進(jìn)、數(shù)據(jù)拆分、監(jiān)告警、基于契約的集成驗(yàn)證、可視化任務(wù)管理等,團(tuán)隊(duì)在3個(gè)月內(nèi)將單服務(wù)上線周期從35天降低到14天。同時(shí),在提交頻率、平均提交行數(shù)、CI構(gòu)建時(shí)間和單元測試覆蓋率上有顯著的提升。
在某云服務(wù)團(tuán)隊(duì)中,通過《微服務(wù)實(shí)施參考模型》定義的成熟度階段參考與階段實(shí)施,團(tuán)隊(duì)定義了10多項(xiàng)改進(jìn)實(shí)踐,在服務(wù)自啟動、持續(xù)集成、服務(wù)間測試聯(lián)調(diào)、敏捷實(shí)踐和測試環(huán)境搭建上有顯著的效率提升。
對于還未開始實(shí)施微服務(wù)的團(tuán)隊(duì),可以基于《微服實(shí)施參考模型》的適用度評估部分,對現(xiàn)有系統(tǒng)進(jìn)行多維度的檢查,盡早識別微服務(wù)過程中的風(fēng)險(xiǎn);根據(jù)評估后的結(jié)果,團(tuán)隊(duì)內(nèi)也可以探討并決定多大范圍的實(shí)施微服務(wù);
對于已經(jīng)開始實(shí)施微服務(wù)的團(tuán)隊(duì),可以基于《實(shí)施參考-成熟度模型》進(jìn)行成熟度的檢查,在架構(gòu)與技術(shù)、組織與文化以及流程與工具三大類、全功能團(tuán)隊(duì)、敏捷實(shí)踐、服務(wù)拆分與設(shè)計(jì)、運(yùn)維與監(jiān)控、服務(wù)測試、持續(xù)集成等多個(gè)維度,分析短板,并基于成熟度的不同階段,制定循序漸進(jìn)的改進(jìn)目標(biāo)。
對于微服務(wù)過程中遇到的工具和平臺問題,譬如看板(DevLean)、服務(wù)間契約測試(Pact)、基礎(chǔ)設(shè)施的自動搭建(Infrastructure as code),可以參考技能圖譜,里面提供了視頻以及分享材料。
對于演進(jìn)過程中遇到的疑惑,可以參考我們提供的案例,獲得相關(guān)的參考。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。