架構師必讀:如何打好技術架構的“地基”?
本文轉載自微信公眾號「計算機世界」,作者Bob Lewis 。轉載本文請聯系計算機世界公眾號。
選擇一個詞來描述企業的技術架構,那就是“非常復雜”。
好吧,這是兩個詞,但大多數技術架構確實非常復雜。要弄清楚如何簡化和改進它們?我們需要再重復幾次“非常”,就是非常、非常、非常的復雜。
當事情變得復雜或令人費解時,在制定改進計劃之前將事情分解是有幫助的。本篇文章就是講應該如何做,能幫助你去掉一些“復雜的”事情,這樣你就可以制定一個切實可行的策略,以確保你公司的技術架構能最好地為業務提供服務。
拆解技術架構
技術架構可以分解為三個組合及其子組合:
- 應用程序:記錄系統、接口和集成以及附件應用程序。
- 數據:結構化和非結構化。
- 技術:設施、基礎設施和平臺。
但是,要從這里開始制定改進技術架構的有效計劃,你需要處理每個投資組合和子投資組合中每個組件的配置,比如,它需要如何改變以及實現其配置上的優先級。
具體細節取決于你正在處理的投資組合和子投資組合。在這里,我們將從下往上進行分解講述。
設備和基礎設施
在改進技術架構的過程中,確定優先級始終是你的首要任務。使用流程、框架和標準對每個組件的運行狀況進行評分,再根據依賴該組件的應用程序的數量對其重要性進行評分。將運行狀況與重要性評分相乘,就可以計算出每個組件的優先級指數。將結果生成一個可視化的熱圖,其中組件越紅,其優先級越高。
接下來是處置工作。對于設備和基礎設施而言,你的處置方式包括:
- 停用:雖然不太可能,但你也許會發現未使用的設備或基礎設施。關閉它們,停止使用,并取消所有關于他們的租約或支持合同。
- 更新:你可能會發現設備或基礎設施的組件已過時、不受支持或需要更新到產品最新版本。請更新它們。
- 替換:你可能會發現一個過時、不受支持的組件,如果你認為,就算有更新的版本,它也不能運行,那就停止使用它,用一個功能等效但更健康的產品替代它。
- 整合:技術架構通常會具有冗余的設備或基礎設施組件。特別是在合并或收購之后,多個數據中心或網絡通常會提供整合機會。
你現在就清楚了,對于設備和基礎設施,最迫切需要關注的是什么以及如何處理這種情況。
平臺
確定平臺的優先級和部署方式,與確定設備和基礎設施的優先級和部署方式不同,因為平臺之間具有更多的相互依賴性,而處理這種復雜情況的一個好方法是定義每個堆棧。堆棧是指至少由一個應用程序所使用的平臺的組合,其包括服務器操作系統、開發環境(包括庫)、DBMS、CMS(內容管理系統)、Web 服務器和提供支持的瀏覽器(假設應用程序的 UI 是通過瀏覽器打開),以及運行各種平臺的操作系統。
值得注意的是,堆棧是遞歸的:也就是指平臺可以放在其他平臺上。同樣值得注意的是,某些應用程序也可以是平臺。例如,SharePoint 是一個應用程序,但也可以用作構建自定義應用程序的開發環境。
優先級:堆棧的運行狀況是其組件運行狀況的平均值,可使用流程、框架和取樣標準進行評分。
它的優先級是什么?對此沒有絕對正確的"最佳實踐"。降低復雜性的一種方法是確定如果對不健康的平臺進行修復,是否可以最大程度地改善堆棧。為了說明這一點,假設你在技術架構中定義了 60 個堆棧,并且想象一下,在生產環境中最不健康的平臺是 Windows Server 2003 ,再假設它的運行狀況分數為 -1.5。
在這個假設示例中,如果將其評分提高到 +2,這會使 14 個堆棧的評分從 -1 升至 0,而使另外 6 個堆棧的評分從 0 升至 +1。這說明通過修復 Windows 2003 Server 可以改進 22 個堆棧。那么Windows 2003 Server 的優先級指數就是 60 個堆棧中有 20 個得到改進,即 0.33。
對每個平臺組件重復這一操作,你就擁有了一種對平臺優先級進行排序的實用方法。
處置——平臺處置類似于為設備和基礎設施定義的處置:
停用:雖然不太可能,但你也許會識別出未使用的平臺。關閉它們,停止使用,并確保取消它們的許可協議和支持合同。
- 更新:你可能會發現平臺不受支持或已過時,將它們升級到最新版本。
- 替換:找到一個過時,不受支持的平臺,或者你認為就算把這個平臺升級到更新的版本仍不可行,都是很常見的情況。把它扔掉,用功能相同但更健康的替代品取而代之。
- 整合:不使用冗余平臺的技術架構是罕見的。在服務器操作系統、數據庫管理系統、集成開發環境等之中,選出運行狀況評級最高的那些作為公司標準,并將其余部分往這些標準遷移,這樣可以提供大量簡化和改進的機會。
作者:Bob Lewis ,專欄作家
原文網址:http://www.cio.com/article/3640510/the-secret-art-of-technical-architecture-improvement.html