如何拆分你的微服務架構?
如今,市場環境紛繁複雜,瞬息萬變,現代企業為了更好地生存,需要有極強的適應能力。**快速而輕鬆地迎接改變,成為了一個優質企業的特征之一,**同時企業還要求技術團隊構建更科學的架構,搭建成本更低的平台,這就使得這些團隊越來越傾向於使用微服務架構來應對以上要求。
微服務的做法有利於軟件組件和數據的分散化,將一個整體分解成更小、更容易改變的部分,**分散僅幫助團隊加快工程進度,而不會犧牲係統的安全性。**要想讓這種架構工作得很好,需要改變工作方式。
微服務架構的設計,其實是為了使團隊能夠在執行工作的人之間分配決策權力,向更多成員直接推行決策權,允許他們以更自由的方式生產。微服務架構使用正確的話,將產生更好和更快的變化。但是如果你的架構錯誤,那麼一係列壞的決定可能會降低轉化率,甚至會損害你的業務。
我們講決策權分配,即是說微服務架構的拆分實際上就是在尋求正確的權力下放戰略。這是一個進化過程,需要不斷地進行分析和調整。而如何正確的拆分微服務架構,我認為可以重點從以下三個方麵考慮:
1、我們應該做哪些決定?
設計微服務係統不僅僅是改變組件大小,架構中涉及創建和更改服務的所有領域都有一定的作用。在這裏總結了以下九個方麵,作為拆分微服務架構時所做決定的參考:
• 生命周期: 什麼時候創建或停止服務?我們什麼時候需要將它們分開?
• 服務實現:我們應該在每個服務中使用哪些工具、語言和架構?
• 係統架構: 服務如何引導他人?開發人員如何了解?
• 數據架構:服務之間如何共享數據?
• 變更過程: 什麼時候可以改變服務?部署和QA的工具和過程?
• 團隊管理:誰在哪個團隊服務?每個團隊負責什麼?團隊成員做了什麼?
• 人事管理:人員如何被雇用和解雇?員工如何激勵和獎勵?
• 安全管理:我們如何降低安全事故的風險?需要做些什麼來改善整個係統的安全性?
• 采購過程:可以購買什麼軟件?使用開源軟件需要哪些保護?
2、涉及到哪些人?
不得不承認,一個員工做出的一些決定對他們的公司來說可能是非常有影響力的。一個很典型的現象是,公司試圖對內部的決策者增加控製,以便將風險降至最低,從而導致決策權集中化。例如,在過去的幾年中,蘋果以擁有一個高度集中的設計團隊而聞名,少數的人做出產品設計的大部分決策。
集中發生是因為正確的人需要做出最重要的決定。通常,**“正確的人”是具有天賦,專業知識和經驗的組合,**使我們能夠相信他們做出最好的決定,我們可以稱這些人為我們的“明星決策者”。但實際上,公司的“明星決策者”數量有限,大多數團隊隻有幾顆“明星”。
微服務改變了這種少數人行使決策權的現象,同時更容易應對錯誤的決策。如果一個團隊在微服務工作時作出錯誤的決定,其錯誤的波及範圍會很小,容錯率變高。當係統的更改變得便宜和容易時,團隊可以快速改進先前的決策,使他們能夠更快地獲得最佳決策。
3、誰擁有哪一部分?
決策基於選擇,而選擇又基於領域知識。決策不應該立即執行,它需要一個過程,需要高度專業的技能或知識來實現。
管理專家亨利•明茨伯格(Henry Mintzberg)為我們提供了一個很好的模式,其中概述了決策過程的步驟:
- 研究與信息采集
- 生成選擇
- 做出選擇
- 授權的選擇
- 執行和實施
所有這一切的關鍵,是在采用決策分權化時,不需要絕對。每個步驟都可以獨立集中或分散化,在平衡效率和安全性時,可以獲得更大的靈活性。如今,集中選擇與非集中選擇相結合,也是現在很多大公司常見的模式。
當人們談論微服務架構時,權力下放過程的選擇、授權和執行部分相互協作、快速、規模化地移動,這些都降低了變化來臨時對整體係統產生的負麵影響。它是提高變革速度的有效途徑,但不要忘記,你的成員特點、團隊協調,以及所有的係統、工具和工作環境同樣重要。
你必須了解如何做出決策,如何改進流程,這才是迎接變化的好方法。
原文鏈接:https://thenewstack.io/decentralizing-microservices-organization/
推薦閱讀:
在這個“雲”先行的時代,企業如何係統管理雲服務商
完美融合Kubernetes,Ghostcloud企業級容器雲平台EcOS率先實現雙容器調度
據說一個成功的研發團隊應具備這9大屬性
作者簡介:
羅尼•米特拉:API學院設計總監,他是作者,主持人和設計師,特別關注軟件和人員溝通的方式,
出版了《Microservice Architecture》一書。
譯者簡介:
Ghostcloud(中文名:精靈雲)坐落於成都天府軟件園,是成都高新區重點扶持企業,國內首批從事容器虛擬化研發的企業,是西南地區唯一一家基於Docker的雲計算服務商,為企業級行業客戶提供針對互聯網化、私有雲管理平台、大數據業務基礎架構的平台服務。
Ghostcloud因容器技術而生,以最新容器技術Docker為基礎,為適應不同行業客戶需求,全自主研發了一套調度引擎框架Newben,且全方位適配Kubernetes主流開源調度引擎,也是國內率先實現雙調度引擎的企業,是一流的企業級容器雲服務專家。Ghostcloud推出了企業級容器雲PaaS/CaaS平台,命名為EcOS(EnterpriseContainer Operation System)。Ghostcloud將EcOS平台與微服務/DevOps相融合,運用至企業IT係統的全生命周期的開發、測試、運維及發布流程中,**致力於為多個領域企業向“互聯網+”轉型提供針對互聯網化、私有雲管理平台、大數據業務基礎架構的平台服務,幫助企業級客戶降低成本、提升效率、簡化運維及產品部署,並提升係統的可靠性和安全性。**
最後更新:2017-07-18 20:34:58