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