天天看點

微服務大規模化,面臨的挑戰?規模化的思考規模化的挑戰

微服務大規模化,面臨的挑戰?規模化的思考規模化的挑戰

曾經看過《改變自己》的一篇文章《規模化思考》,講述了對于某件事情,我們能否從十倍或者百倍的角度,思考其規模,進而在一個相當長的周期内,考慮價值的投入産出比。

最近,看到了susan fowler的演講視訊《microservice standardisation》,分享了她在uber作為sre,經曆從800+ 服務到接近2000+服務的運維心得,并提出了一些有代表性的規模化觀點。

微服務大規模化,面臨的挑戰?規模化的思考規模化的挑戰

識别二維碼觀看susan fowler的演講視訊《microservice standardisation》,位址https://youtu.be/rczybdpxlmk

而這也提醒了我,對服務規模化的思考(目前工作在大型傳統企業,服務的規模化會成為下一個階段所面臨的挑戰)。

微服務經曆了過去幾年的快速發展,幫助很多組織解決了複雜系統的伸縮性、靈活性、以及快速響應的問題後,那下一個階段的挑戰在哪裡?

微服務大規模化,面臨的挑戰?規模化的思考規模化的挑戰

如果從規模化的角度考慮,對于一些大型組織(尤其是傳統行業),擁有成千上萬的微服務後,會面臨哪些挑戰? 是個體能力的提升,組織的差異化還是流程的動态演進?

微服務大規模化,面臨的挑戰?規模化的思考規模化的挑戰

我們常說,天下大勢,分久必合,合久必分,在經曆了松散的細粒度架構演進,未來是否還需要集中化?

如果标準化,是否從某種程度違背了微服務的初衷?微服務概念的誕生,不是為了提升複雜系統的傳遞效率,才基于分而治之的思想并差異化演進嗎?

如果需要标準化,從架構、實踐群組織三個次元展開,是權宜之計還是一勞永逸?

微服務大規模化,面臨的挑戰?規模化的思考規模化的挑戰

參考susan的演講,我總結了服務規模化後可能面臨的挑戰。

1

組織的孤島效應

根據康威定律以及康威逆定律,組織的溝通結構與其設計的系統架構是對等的。

如果存在1000個服務,那麼得到的将有可能是與其對應的1000個小團隊。在充分享受團隊自組織帶來優勢的同時,也要辯證的看待團隊間的差異性。不同團隊的服務實踐如何?他們是如何測試、部署、監控的?

作為開發成員,如果換去另一個團隊,在架構、工具百花齊放、層出不窮的今天,是否大大增加了上手的成本。當服務數量激增後,需要專業的qa/ops/sre,組織内是否能找到足夠多的這樣資深的專業人員?

是以,這其實是速度與成本的博弈。

2

失敗處理的成本

根據墨非定律,“凡是可能出錯的情況,必定會出錯”。

随着服務的數量增加,系統失敗的幾率會大幅增加。

每一個服務的失敗都有可能導緻故障。雖然我們的目标是期望每個服務都能夠互不依賴,自适應,高度容錯,但是必須找到有效的方式來確定服務可用。

是以,處理失敗的成本大幅增加。

3

優勢資源的競争 

微服務系統就像是自然界的生态系統,對資源的使用,關系複雜且微妙。

當有成千上萬的服務時,資源如何配置設定?從業務角度分析,哪個服務的優先級高?哪個團隊應該優先獲得更優秀的資源?包括但不限于優秀的工程師、資金、軟體、硬體等等。

任何時候,資源都不是免費的。

當隻有幾個微服務時,這些問題都不會是問題,但随着服務數量的增加,這種協作與競争的關系會愈發明顯。

4

自由選擇程式設計語言,自由選擇資料庫......聽起來激動人心,但如何長期維護并保證可持續發展,是一個值得研究的話題。

随着微服務的大熱,組織中許多人員對微服務過度追捧。

很多人認為微服務對應着松散的組織結構,隻要能獨立傳遞,團隊可以做任何他們想做的。從技術角度而言,技術日新月異的變化,會産生各種大大小小的技術債,而随着采用微服務化在技術上的多樣性,将變得難以維護。

微服務确實意味着自由與獨立。但在大規模的組織中,過度的獨立性必然帶來高昂的管理與維護成本。從工程角度而言,當擁有成千上萬的服務時,集中式的管控平台并不像我們認為的那樣糟糕,確定大部分團隊能使用相同的方式、相同的标準,能夠低成本運作。

5

團隊的信任危機 

作為服務的傳遞團隊的負責人,你可能有必勝的信念。充滿豪情壯志,願意帶領團隊遵循各種最佳實踐、完美的實作所負責的服務。

但是,你永遠無法保證,依賴的所有上下遊團隊,也能按照同樣的标準實作服務。這是現實。

而且,随着服務關系越複雜,依賴越多,出問題的幾率越大,信任危機愈發明顯。

6

是個體能力的提升,組織的差異化運作還是流程的自适應演進?

本文從組織、個體、技術、團隊以及資源等5個方面探讨了服務規模化面臨的挑戰。

來源:中生代技術

<a href="https://mp.weixin.qq.com/s/uhfm4n9yvhktzhijczgybq" target="_blank">原文連結</a>

繼續閱讀