技術(shù)架構(gòu)也是企業(yè)架構(gòu)的重要組成部分,與其他3A不同的是,技術(shù)架構(gòu)完全是IT人員的領(lǐng)域。本文從技術(shù)架構(gòu)的定義開始,接著介紹技術(shù)架構(gòu)的元模型和具體構(gòu)成,然后說明技術(shù)架構(gòu)的設(shè)計(jì)方法,最后對(duì)技術(shù)路線管理說一點(diǎn)看法。
01 技術(shù)架構(gòu)定義
技術(shù)架構(gòu)是對(duì)業(yè)務(wù)、應(yīng)用和數(shù)據(jù)架構(gòu)的技術(shù)實(shí)施方案的結(jié)構(gòu)化描述,由構(gòu)成實(shí)施方案的技術(shù)組件、技術(shù)平臺(tái)及相互間的關(guān)系構(gòu)成。技術(shù)架構(gòu)通常還會(huì)包括開發(fā)和運(yùn)維的工具和技術(shù)能力。
在4A架構(gòu)中,技術(shù)架構(gòu)為應(yīng)用架構(gòu)和數(shù)據(jù)架構(gòu)提供技術(shù)支撐,間接服務(wù)于業(yè)務(wù)架構(gòu)。

02 技術(shù)架構(gòu)元模型
各類企業(yè)架構(gòu)元模型也提供了技術(shù)相關(guān)的元素。下圖右側(cè)是Open Group的TOGAF企業(yè)架構(gòu)框架的技術(shù)架構(gòu)元素,包括技術(shù)服務(wù)、邏輯技術(shù)組件、物理技術(shù)組件。各類技術(shù)元素為應(yīng)用元素提供服務(wù),邏輯技術(shù)組件對(duì)外提供技術(shù)服務(wù),邏輯技術(shù)組件為業(yè)務(wù)服務(wù)提供實(shí)施的平臺(tái),物理技術(shù)組件實(shí)現(xiàn)邏輯技術(shù)組件。

下圖是Thoughtworks現(xiàn)代企業(yè)架構(gòu)框架MEAF的企業(yè)級(jí)技術(shù)架構(gòu)元模型,包含架構(gòu)模式模型、架構(gòu)方案模型和架構(gòu)策略模型三部分。

其中,架構(gòu)方案模型是技術(shù)架構(gòu)的核心,架構(gòu)模式是基于上層架構(gòu)意圖快速準(zhǔn)確形成架構(gòu)設(shè)計(jì)、復(fù)用技術(shù)方案,是架構(gòu)分析決策的流程,架構(gòu)策略是為了約束和規(guī)范架構(gòu)設(shè)計(jì),保證架構(gòu)設(shè)計(jì)遵循架構(gòu)愿景、原則和規(guī)范等。
架構(gòu)方案模型包括技術(shù)平臺(tái)、技術(shù)服務(wù)和技術(shù)組件三種元素。
技術(shù)服務(wù)用于描述實(shí)現(xiàn)上層架構(gòu)設(shè)計(jì)所需的技術(shù)能力,例如網(wǎng)關(guān)、防火墻、數(shù)據(jù)存儲(chǔ)、緩存等。
技術(shù)組件用于描述技術(shù)服務(wù)的實(shí)現(xiàn),是可部署的物理組件,比如MySql數(shù)據(jù)庫、Zookeeper、RocketMQ。
技術(shù)服務(wù)是技術(shù)架構(gòu)治理的核心,具體的技術(shù)組件可以不斷升級(jí)或者替換,但技術(shù)服務(wù)是更為穩(wěn)定的。
技術(shù)平臺(tái)是用于描述由一組技術(shù)服務(wù)構(gòu)成,提供解決特定技術(shù)領(lǐng)域能力的邏輯模型。
03 技術(shù)架構(gòu)的構(gòu)成
按照《The Practice of Enterprise Architecture:A Modern Approach to Business and IT Alignment》指出的,EA包括了六個(gè)領(lǐng)域:業(yè)務(wù)領(lǐng)域、應(yīng)用領(lǐng)域、數(shù)據(jù)領(lǐng)域、集成領(lǐng)域、基礎(chǔ)設(shè)施領(lǐng)域和安全領(lǐng)域。其中,前面三個(gè)領(lǐng)域是業(yè)務(wù)使能的功能性的EA領(lǐng)域,后面三個(gè)是支撐業(yè)務(wù)的非功能性的EA領(lǐng)域,與大多數(shù)業(yè)務(wù)人員也沒有關(guān)系。技術(shù)架構(gòu)就覆蓋了后面這三個(gè)領(lǐng)域。

集成領(lǐng)域從其系統(tǒng)集成機(jī)制的角度看待組織,例如接口和連接、交互協(xié)議、集成平臺(tái)、消息隊(duì)列中間件等。應(yīng)用集成的交互關(guān)系屬于應(yīng)用架構(gòu),應(yīng)用集成的機(jī)制屬于技術(shù)架構(gòu)。
基礎(chǔ)設(shè)施領(lǐng)域從其底層IT基礎(chǔ)設(shè)施的角度看待組織,如數(shù)據(jù)中心、硬件、服務(wù)器、存儲(chǔ)、操作系統(tǒng)、網(wǎng)絡(luò)等。
安全領(lǐng)域從其安全機(jī)制的角度看待組織,如防火墻、認(rèn)證方法、身份和訪問管理系統(tǒng)、加密協(xié)議等。安全是非常重要的領(lǐng)域,技術(shù)架構(gòu)一般會(huì)包括安全,但也有將安全架構(gòu)作為與技術(shù)架構(gòu)并列的單獨(dú)架構(gòu)領(lǐng)域來考慮的。從安全覆蓋的范圍來講,是縱向貫穿業(yè)務(wù)、應(yīng)用、數(shù)據(jù)、技術(shù)等層面的。從網(wǎng)絡(luò)安全到數(shù)據(jù)安全,安全的重要性越來越得到企業(yè)乃至國家的高度重視。
技術(shù)架構(gòu)受到技術(shù)發(fā)展趨勢(shì)的影響,不斷更新?lián)Q代。每10年甚至5年,技術(shù)都會(huì)發(fā)生較大的變化,從大型主機(jī)到小型機(jī)、PC服務(wù)器,從物理部署到虛擬化、容器化。架構(gòu)模式也從單體架構(gòu)、SOA架構(gòu)發(fā)展到分布式微服務(wù)架構(gòu),不斷演進(jìn)。
從云計(jì)算服務(wù)模式來看,分為SaaS(軟件即服務(wù))、PaaS(平臺(tái)即服務(wù))和IaaS(基礎(chǔ)設(shè)施即服務(wù))三個(gè)層次,技術(shù)架構(gòu)涵蓋了IaaS全部和PaaS的一部分。容器云、微服務(wù)、數(shù)據(jù)庫、大數(shù)據(jù)平臺(tái)、Devops等都屬于PaaS層,計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)、數(shù)據(jù)中心等屬于IaaS層。

總的來看,具備分布式、容器化、微服務(wù)、Devops特征的云原生架構(gòu)是當(dāng)前和未來的主要方向。(關(guān)于云原生架構(gòu)見筆者另一篇文章《什么是云原生?》)
04 技術(shù)架構(gòu)設(shè)計(jì)步驟
Thoughtworks MEAF框架提出了技術(shù)架構(gòu)設(shè)計(jì)的方法。
企業(yè)級(jí)技術(shù)架構(gòu)設(shè)計(jì)有兩類輸入:第一類輸入是架構(gòu)需求,架構(gòu)需求主要來自上層業(yè)務(wù)架構(gòu)、應(yīng)用架構(gòu)和數(shù)據(jù)架構(gòu)的設(shè)計(jì)方案。第二類輸入是技術(shù)策略,包括架構(gòu)愿景、原則、規(guī)范、約束、組織、資源等,構(gòu)成對(duì)技術(shù)架構(gòu)設(shè)計(jì)的約束。技術(shù)架構(gòu)設(shè)計(jì)不是隨心所欲的,必須同時(shí)滿足架構(gòu)需求和技術(shù)策略約束,即戴著鐐銬跳舞。

技術(shù)架構(gòu)設(shè)計(jì)分為五個(gè)步驟:
Step1:分析架構(gòu)需求。系統(tǒng)性地分析架構(gòu)需求,明確問題和上下文;
Step2:分析架構(gòu)模式。進(jìn)行模式分析,通過分析問題和上下文,基于架構(gòu)參考庫快速匹配業(yè)內(nèi)最佳實(shí)踐,確定架構(gòu)模式;
Step3:形成架構(gòu)決策。基于架構(gòu)模式,結(jié)合企業(yè)的技術(shù)策略,進(jìn)行技術(shù)架構(gòu)決策;
Step4:設(shè)計(jì)架構(gòu)方案。根據(jù)技術(shù)架構(gòu)決策,結(jié)構(gòu)化地設(shè)計(jì)架構(gòu)方案;
Step5:沉淀架構(gòu)經(jīng)驗(yàn)。基于技術(shù)架構(gòu)方案沉淀可復(fù)用的架構(gòu)經(jīng)驗(yàn)。
技術(shù)架構(gòu)設(shè)計(jì)有兩類產(chǎn)出:第一類輸出是技術(shù)架構(gòu)方案;第二類是沉淀架構(gòu)經(jīng)驗(yàn)形成的參考架構(gòu)方案,可以作為今后架構(gòu)方案設(shè)計(jì)的參考。
05?技術(shù)路線和技術(shù)組件管理
技術(shù)架構(gòu)明確了企業(yè)的技術(shù)路線和使用的技術(shù)組件。對(duì)于企業(yè)來說,關(guān)鍵是要發(fā)揮技術(shù)對(duì)業(yè)務(wù)的支撐作用做好業(yè)務(wù)應(yīng)用,并非技術(shù)越先進(jìn)越好。新技術(shù)引入有一定風(fēng)險(xiǎn)和成本,所以必須明確組織的技術(shù)路線,并建立新技術(shù)引入的流程進(jìn)行管理。最好是引入較為成熟的技術(shù),市場上已經(jīng)有較多的應(yīng)用案例、有足夠的專業(yè)人才和廠商可以支持。
(部分內(nèi)容來源網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系刪除)