前言
筆者從2013年加入ThoughtWorks至今共4年時(shí)間。在這4年時(shí)間里,我分別以開(kāi)發(fā)人員、DevOps工程師、DevOps咨詢師、微服務(wù)架構(gòu)師以及微服務(wù)咨詢師的角色參與了共計(jì)7個(gè)產(chǎn)品和項(xiàng)目的微服務(wù)咨詢和實(shí)施。其中有成功,有失敗,有反思,更多的是學(xué)習(xí)和總結(jié)。以下是我這些年來(lái)在微服務(wù)咨詢上的經(jīng)驗(yàn)總結(jié),希望能給陷入微服務(wù)實(shí)施困境的人帶來(lái)一些幫助。
難點(diǎn)1:“一步到位”的認(rèn)知錯(cuò)覺(jué)
這些年微服務(wù)大紅大紫,但是真正能夠拿出來(lái)做為可實(shí)踐案例的少之又少。大部分的微服務(wù)案例只能看到微服務(wù)架構(gòu)的“演進(jìn)結(jié)果”,但是看不到其“演進(jìn)過(guò)程”。這就像每個(gè)人可以看到一個(gè)架構(gòu)的高峰,卻看不到攀登高峰的路徑。
這就造成了一個(gè)假象:微服務(wù)的架構(gòu)是通過(guò)能力極高的架構(gòu)師一步到位設(shè)計(jì)出來(lái)的。
這和很多團(tuán)隊(duì)自上而下的架構(gòu)設(shè)計(jì)感受很相似。于是架構(gòu)師們蜂擁而至,各種分析方法論層出不窮,討論和分享絡(luò)繹不絕。然而真正落地實(shí)施的卻很少,使得微服務(wù)在網(wǎng)絡(luò)上慢慢變成了一種“玄學(xué)”:微服務(wù)的實(shí)施一直在“理論研究”的階段。
這違反了軟件架構(gòu)的最基本規(guī)律:架構(gòu)是通過(guò)解決當(dāng)前的需求和痛點(diǎn)而演進(jìn)的,無(wú)法根據(jù)沒(méi)有出現(xiàn)的問(wèn)題和痛點(diǎn)進(jìn)行設(shè)計(jì)。因此,一步到位的、整體的微服務(wù)架構(gòu)設(shè)計(jì)完全沒(méi)有必要。況且一個(gè)集中化的設(shè)計(jì),很難體現(xiàn)微服務(wù)的輕量級(jí)優(yōu)勢(shì)。
我相信技術(shù)一定是向不斷降低成本的方向發(fā)展的。如果新技術(shù)沒(méi)有降低成本反而提升了成本,要么這個(gè)新技術(shù)有問(wèn)題,要么是姿勢(shì)不對(duì)、走錯(cuò)了路。
因此,準(zhǔn)備實(shí)施微服務(wù)一定要有一個(gè)長(zhǎng)期的思想準(zhǔn)備。不過(guò)跨過(guò)了最初的門檻之后,剩下的工作可以被復(fù)制、而且速度會(huì)越來(lái)越快。
難點(diǎn)2:“架構(gòu)師精英主義”
很多產(chǎn)品對(duì)架構(gòu)師的依賴很大,即“架構(gòu)師精英主義”:認(rèn)為只有這個(gè)組織的“技術(shù)精英”——架構(gòu)師才可以完成該產(chǎn)品的架構(gòu),而團(tuán)隊(duì)其它成員只需要實(shí)現(xiàn)架構(gòu)師的設(shè)計(jì)就可以。這是大型企業(yè)和大型系統(tǒng)的常見(jiàn)問(wèn)題,來(lái)源于長(zhǎng)期以來(lái)重量級(jí)企業(yè)級(jí)架構(gòu)的習(xí)慣。
而微服務(wù)則類似于一種“敏捷邊際革命”:即由一個(gè)不超過(guò)2~8個(gè)人的小團(tuán)隊(duì)就可以完成的輕量級(jí)架構(gòu)。而且對(duì)于這種規(guī)模的團(tuán)隊(duì)而言,即使把整個(gè)微服務(wù)團(tuán)隊(duì)從產(chǎn)品團(tuán)隊(duì)移除也不會(huì)對(duì)整體產(chǎn)品的研發(fā)進(jìn)度產(chǎn)生影響。因此,即使失敗了也不會(huì)帶來(lái)太多的損失。不過(guò),當(dāng)?shù)谝粋(gè)微服務(wù)改造成功,那么成功經(jīng)驗(yàn)的復(fù)制帶來(lái)的乘數(shù)效應(yīng)卻能帶來(lái)很大的收益。
從架構(gòu)改造投資的風(fēng)險(xiǎn)收益比來(lái)看,這是非常劃算的。
因此,微服務(wù)團(tuán)隊(duì)完全沒(méi)必要大張旗鼓,只需要兩三個(gè)人就可以動(dòng)工。但是,誰(shuí)也沒(méi)有微服務(wù)的實(shí)踐經(jīng)驗(yàn)啊,萬(wàn)一失敗了怎么辦?
這就帶來(lái)了下一個(gè)難點(diǎn)。
難點(diǎn)3:缺乏一個(gè)信任并鼓勵(lì)創(chuàng)新的環(huán)境
面對(duì)未知的領(lǐng)域,失敗再所難免。而處在這個(gè)不確定性頻發(fā)的世界,成功和失敗已經(jīng)不再重要:也許今天的失敗,明天再看就是成功,反之亦然。
成功只是表明結(jié)果符合自己的假設(shè)預(yù)期,而失敗僅僅意味著結(jié)果不符合自己的假設(shè)預(yù)期。但是無(wú)論成敗,我們都能在行動(dòng)的過(guò)程中有所學(xué)習(xí)和反思,而這樣的經(jīng)驗(yàn)才是研發(fā)活動(dòng)中最有價(jià)值的。
然而,很多組織,尤其“精英主義”的產(chǎn)品團(tuán)隊(duì),責(zé)任和壓力往往從上至下分解。由于組織龐大,金字塔的結(jié)構(gòu)往往會(huì)構(gòu)建一種以“不信任”為基礎(chǔ)的制度。這種制度營(yíng)造了一種“寧可不作為,也不能犯錯(cuò)”的文化。由于上層需要對(duì)失敗負(fù)責(zé),使得所有創(chuàng)新只能停留在上層,難以落實(shí)推進(jìn)。在這種情況下,組織的長(zhǎng)期合作形成了穩(wěn)定的工作習(xí)慣和思維定勢(shì),并形成了利益平衡,這會(huì)使得整個(gè)組織在面對(duì)創(chuàng)新的時(shí)候“卡殼”。
當(dāng)微服務(wù)以一種政治任務(wù)從上而下派發(fā)的時(shí)候,為了避免失敗,團(tuán)隊(duì)內(nèi)部會(huì)相互推諉。通過(guò)不斷的分析討論和設(shè)計(jì)來(lái)論證這個(gè)事情的難度。在我看來(lái),只要想搞,就一定能找到辦法,而不是先設(shè)想出一堆還沒(méi)有遇到的問(wèn)題和責(zé)任。在行進(jìn)中解決問(wèn)題是比設(shè)計(jì)和討論更加有效率的方法。
而組織解決“卡殼”的辦法就是引入“背鍋俠”:例如新聘請(qǐng)的架構(gòu)師或外部咨詢師,來(lái)完成這個(gè)事情。出了問(wèn)題就不用自己來(lái)承擔(dān)責(zé)任了。這樣雖然是解決問(wèn)題的一種折中辦法,可以讓事情毫無(wú)風(fēng)險(xiǎn)的執(zhí)行下去。但這是一種短期效應(yīng),無(wú)法解決組織本身的創(chuàng)新窘境,長(zhǎng)期依賴外部力量來(lái)解決最有價(jià)值的問(wèn)題不會(huì)讓自己提升,反而形成了對(duì)外部力量的依賴。對(duì)于凝聚組織來(lái)說(shuō)不是一件好事。
只有打破當(dāng)前的工作習(xí)慣和思維定勢(shì),充分認(rèn)識(shí)到創(chuàng)新的困難、風(fēng)險(xiǎn)以及價(jià)值,才可以占領(lǐng)創(chuàng)新的高點(diǎn),吸引人才。
難點(diǎn)4:微服務(wù)技術(shù)棧的“選擇困難癥”
由于“精英主義”的架構(gòu)師需要擔(dān)負(fù)很大的責(zé)任和壓力。他們必須要為微服務(wù)架構(gòu)謹(jǐn)慎的選擇技術(shù)棧。因此會(huì)在不同的技術(shù)棧之間不斷嘗試。對(duì)于習(xí)慣了在大型研發(fā)組織里“精心設(shè)計(jì),加班生產(chǎn) ”的架構(gòu)師而言。“長(zhǎng)設(shè)計(jì),慢反饋”節(jié)奏似乎是理所應(yīng)當(dāng)?shù)摹?/div>
微服務(wù)開(kāi)源社區(qū)的快速發(fā)展滋長(zhǎng)了“架構(gòu)師焦慮”:如果采用落后的技術(shù)會(huì)被同行鄙視,被不懂技術(shù)的老板鄙視,甚至被下屬鄙視。因此架構(gòu)師們疲于在各種新型的技術(shù)棧之間比較和學(xué)習(xí)。此外,不熟悉技術(shù)往往會(huì)增大風(fēng)險(xiǎn),架構(gòu)師就需要更多的時(shí)間研究。帶著“一步到位”的架構(gòu)幻想對(duì)微服務(wù)技術(shù)棧精挑細(xì)選,而不會(huì)采用現(xiàn)有低成本的方案快速迭代的解決問(wèn)題。
微服務(wù)的核心在于采用“小規(guī)模,快反饋”的機(jī)制降低軟件系統(tǒng)的復(fù)雜性并通過(guò)虛擬和自動(dòng)化技術(shù)分散風(fēng)險(xiǎn),從而及時(shí)應(yīng)對(duì)市場(chǎng)變化帶來(lái)的各種挑戰(zhàn)、進(jìn)行快速銷售創(chuàng)新,獲得市場(chǎng)的反饋。而不僅僅是利用到了時(shí)下新興的語(yǔ)言,編程框架或工具。
學(xué)習(xí)和實(shí)踐是相輔相成的過(guò)程,在實(shí)踐中學(xué)習(xí),并把學(xué)習(xí)到的知識(shí)應(yīng)用到實(shí)踐中。這不同于準(zhǔn)備一場(chǎng)考試:先停下來(lái)學(xué)習(xí),準(zhǔn)備好了再全力以赴。
以上四點(diǎn)會(huì)讓大型組織在微服務(wù)實(shí)施中“卡殼”,這往往會(huì)導(dǎo)致微服務(wù)實(shí)施忽略最重要一點(diǎn),也是我認(rèn)為也是核心的一點(diǎn)。
難點(diǎn)5:對(duì)微服務(wù)的技術(shù)變革預(yù)估過(guò)高,而對(duì)微服務(wù)帶來(lái)的組織變革預(yù)估不足
作為架構(gòu)師,永遠(yuǎn)要不要低估康威定理的威力:“設(shè)計(jì)系統(tǒng)的組織,其產(chǎn)生的設(shè)計(jì)和架構(gòu)等價(jià)于組織間的溝通結(jié)構(gòu)。”
從制度經(jīng)濟(jì)學(xué)角度來(lái)講,軟件產(chǎn)品本身就是企業(yè)內(nèi)部組織(員工)和外部組織(用戶)溝通制度的計(jì)算機(jī)程序表達(dá)。這個(gè)制度一定會(huì)朝著縮短組織內(nèi)外部溝通成本的方向發(fā)展。
因此,系統(tǒng)架構(gòu)一定是和組織架構(gòu)相吻合的,如果不吻合,勢(shì)必會(huì)阻礙組織的漸進(jìn)。
這就引出了一個(gè)推論:如果企業(yè)組織的架構(gòu)不是唯一的,那么微服務(wù)的架構(gòu)方案也不是唯一的。
當(dāng)架構(gòu)和組織結(jié)構(gòu)相一致的時(shí)候,一切都會(huì)很順暢。反之,就會(huì)出現(xiàn)各種問(wèn)題。
這個(gè)關(guān)系就像鞋和腳的關(guān)系,只有穿上合適的鞋,走起路來(lái)才會(huì)舒服。過(guò)大過(guò)小的鞋都無(wú)法讓你加快前進(jìn)的步伐。當(dāng)然,你可以選擇買鞋(引入產(chǎn)品),雖然并不是很合腳,但還可以湊合穿,只是在換鞋的時(shí)候你不得不停下來(lái)試。你也可以花高價(jià)為自己定制一套,這個(gè)不會(huì)讓你在短時(shí)間內(nèi)走得更快,只會(huì)越來(lái)越合腳。
如果所有人穿上了新鞋,都能跑得很快,只有你不能,那么這就不是鞋的問(wèn)題,而是你腳的問(wèn)題,這就不是換鞋能解決的了。你得先把腳的問(wèn)題解決了,然后再看鞋的問(wèn)題。當(dāng)然,也可以通過(guò)鞋來(lái)矯正腳,只不過(guò)會(huì)花些功夫,但一定會(huì)比不停的換鞋更加有效。
很不幸,大多數(shù)的組織并沒(méi)有準(zhǔn)備好迎接微服務(wù)架構(gòu)帶來(lái)的組織變化。仍然把“系統(tǒng)架構(gòu)問(wèn)題”和“組織問(wèn)題”割裂成兩個(gè)不同領(lǐng)域的問(wèn)題:微服務(wù)是技術(shù)問(wèn)題,組織問(wèn)題是管理問(wèn)題。
有競(jìng)爭(zhēng)力的組織,是能夠通過(guò)融合優(yōu)勢(shì)達(dá)到1+1>2效果的組織。而不是把優(yōu)勢(shì)割裂開(kāi),讓1+1<=2的組織。因此,技術(shù)問(wèn)題和管理問(wèn)題并不是兩個(gè)問(wèn)題,而是同一個(gè)問(wèn)題的兩個(gè)側(cè)面。
因此,如果你的組織結(jié)構(gòu)是去中心化的小團(tuán)隊(duì)結(jié)構(gòu),那么不用擔(dān)心,你的應(yīng)用架構(gòu)會(huì)朝組織架構(gòu)的方向演進(jìn)。反之,如果你不是一個(gè)去中心化的小團(tuán)隊(duì)結(jié)構(gòu),那么微服務(wù)的架構(gòu)會(huì)和組織架構(gòu)格格不入。
如何解決這些問(wèn)題?
作為微服務(wù)的實(shí)踐者,對(duì)微服務(wù)不應(yīng)該是“葉公好龍”,僅僅停留在研討的層面。而應(yīng)該采用敏捷和精益的方式迅速開(kāi)始,在行進(jìn)中解決碰到的問(wèn)題。每個(gè)組織的組織結(jié)構(gòu)和業(yè)務(wù)結(jié)構(gòu)都有所不同,微服務(wù)實(shí)施所面對(duì)的挑戰(zhàn)也截然不同。在實(shí)施的過(guò)程中快速學(xué)習(xí)并改進(jìn),沒(méi)有必要進(jìn)行周期較長(zhǎng)的總體設(shè)計(jì)。
關(guān)于如何解決本文提到的5個(gè)問(wèn)題,請(qǐng)參考下篇《提升微服務(wù)實(shí)施效率的7個(gè)步驟》。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.guhuozai8.cn/
本文標(biāo)題:微服務(wù)進(jìn)展緩慢的5個(gè)難點(diǎn)
本文網(wǎng)址:http://www.guhuozai8.cn/html/consultation/10839621082.html

關(guān)鍵詞標(biāo)簽:
微服務(wù)進(jìn)展緩慢的5個(gè)難點(diǎn),微服務(wù) ThoughtWorks,ERP,ERP系統(tǒng),ERP軟件,ERP系統(tǒng)軟件,ERP管理系統(tǒng),ERP管理軟件,進(jìn)銷存軟件,財(cái)務(wù)軟件,倉(cāng)庫(kù)管理軟件,生產(chǎn)管理軟件,企業(yè)管理軟件,拓步,拓步ERP,拓步軟件,免費(fèi)ERP,免費(fèi)ERP軟件,免費(fèi)ERP系統(tǒng),ERP軟件免費(fèi)下載,ERP系統(tǒng)免費(fèi)下載,免費(fèi)ERP軟件下載,免費(fèi)進(jìn)銷存軟件,免費(fèi)進(jìn)銷存,免費(fèi)財(cái)務(wù)軟件,免費(fèi)倉(cāng)庫(kù)管理軟件,免費(fèi)下載,
本文轉(zhuǎn)自:e-works制造業(yè)信息化門戶網(wǎng)
本文來(lái)源于互聯(lián)網(wǎng),拓步ERP資訊網(wǎng)本著傳播知識(shí)、有益學(xué)習(xí)和研究的目的進(jìn)行的轉(zhuǎn)載,為網(wǎng)友免費(fèi)提供,并盡力標(biāo)明作者與出處,如有著作權(quán)人或出版方提出異議,本站將立即刪除。如果您對(duì)文章轉(zhuǎn)載有任何疑問(wèn)請(qǐng)告之我們,以便我們及時(shí)糾正。聯(lián)系方式:QQ:10877846 Tel:0755-26405298。(請(qǐng)勿發(fā)郵件,由于垃圾郵件眾多,有可能會(huì)被當(dāng)作垃圾郵件處理掉,同時(shí)現(xiàn)在很用郵件處理事務(wù)了,郵件處理時(shí)效期為3天,如急件請(qǐng)直接QQ聯(lián)系。)