個人架構觀-架構將來的發展

最近看了一些架構方面的帖子,包括京東的、支付寶的,加上以前各類微服務,大平臺,彈性化等各類架構詞彙,在大腦裏相互衝撞,一時間感受不知所云,思惟被各類概念牽引着,有點慌亂。固然這不是我想要的狀態,因而運用曾文正公的處世之道:「立足當下,化繁爲簡」。回到架構的三個哲學問題:1.何爲架構?2.它從哪裏來?3.它要到哪裏去?回答了這三個問題,就應該能抓住架構的本質,不至於人云亦云。固然,這只是一家之言,若是說錯了,但願能指正我。緩存

  1. 何爲架構:與我而言,所謂架構實際上是事物與事物之間恰當的關係。這個概念比較大, 咱們不妨縮小一點範圍就focus在IT架構領域。咱們知道,TOGAF將架構分爲業務架構、數據架構、應用架構、技術架構,這四個架構定義從不一樣的層面和維度解釋了要實現上層企業架構應該具有的架構能力,這裏的業務架構是從業務的維度講業務流程、企業組織以及組織下的人員之間的關係;數據架構是從數據維度講企業的數據資產及信息間的結構關係;應用架構是從應用系統的維度講應用系統相互間如何協做以提供服務從而知足業務流程的系統化(也是講系統間的關係);技術架構是從軟硬件基礎設施維度講它們之間如何組合以提供基本的運算、存儲、網絡能力。
    • 固然,對於更通常的架構的認識,或許咱們叫它系統架構或軟件架構,指的是定義系統結構、行爲、視圖的概念模型的組織結構,包括系統分解的組成部分,它們的關聯性,交互,機制和指導原則。定義比較晦澀,說的直白一點,仍是從不一樣維度看各類能力及其它們之間如何協做以實現該維度的目標。進一步解釋一下,咱們一般說系統架構包括邏輯架構、物理架構、開發架構、運行架構、數據架構5個部分。所謂邏輯架構是功能模塊如何劃分,功能模塊是啥,知足功能的能力嘛,如何劃分其實仍是在將關係嘛。再看物理架構,講的就是物理服務器如何分配以及部署關係,其本質仍是在講能力和能力間的協做關係。其餘三個架構也是在各自維度講能力及關係。通常來講,系統須要的能力其實就是三種:1面向最終用戶的支撐能力、2面向外部系統的交互能力、3面向數據的處理能力。因此說,架構本質就是這三種能力以及提供提供能力的實體相互間的關係。
  2. 它從哪裏來:從架構的本質能夠看到,在不一樣的維度架構須要提供不一樣的能力和關係,那是否是能夠試着從這個角度看架構的發展過程呢?順便也驗證一下咱們對架構的本質是否定知準確。咱們知道,系統架構過程大體能夠分爲三個階段:
    •   第一階段是早期系統豎井式的架構,應用和數據交織在一塊兒,不管是從邏輯上仍是從物理部署上都是,由於這個時候各維度對能力的須要不是那麼強烈,沒有明顯的能力短板,不須要明確區分相互間的關係。但隨着系統壯大複雜,來自硬件的能力以不足以支撐整個維度須要的能力,這就進入第二階段。
    • 基於SOA的分佈式架構,經過SOA把這種能力水平拆分,好處固然是使得能力能夠靈活增減,壞處是這種拆分會給能力間的關係增長複雜度,舉例來講,原來經過內部調用便可知足的關係因爲SOA把能力拆分,如今須要經過網絡調用才能知足。那麼當這種關係複雜度給系統間帶來協做障礙時,咱們就須要進入第三階段。
    • 第三階段即微服務+大平臺架構階段,經過構件大平臺來控制這些複雜的關係,不要讓其暴露出去變成不可控的因素。此階段即把業務邏輯分散在微服務中,把全部業務處理中須要的技術能力統一歸置到平臺進行管理,平臺經過標註化的,約定熟成的協議及通信方式爲上層的微服務們提供固定的服務,並把全部與服務安全、可靠性、監控、服務治理等相關的工做做爲平臺基礎的能力提供出來。所以這種大平臺其實就是經過設定標準和規範來下降關係的複雜度,是經過引入另外的能力和關係來達到的,好比大平臺的引入自己就帶來了更爲複雜的關係。就像馬路上的紅路燈,雖然經過紅燈停綠燈行等規範來解決交通擁堵的問題,但難道它們就不是形成更大擁堵的緣由嗎?
  3. 它要到哪裏去:回答這個問題其實就是回答架構的下一階段,我不是預言家,只是沿着我我的理解的架構發展路線來估測一下。從上面分析的架構路線來看,咱們已經經過引入額外的標準規範必定程度上緩解了能力關係的複雜性,只不過這種引入帶來了必定程度上大平臺自身的能力挑戰,所以咱們能夠預見,當須要大平臺提供更增強的能力以知足更復雜關係的管理時,是否是在某一時點上平臺自身的能力關係也變得不可控呢?就像馬路上的紅綠燈,想象一下當紅綠燈出現故障時,路況是否是會更加崩潰呢?因此咱們回過頭來,仍是從IT系統的起源來看,系統是服務於業務的,這一點毋庸置疑,所以架構的發展趨勢必定也是讓業務實現更自由,這種自由其實就是要有載體來負責管理這些關係性,而上面的分析咱們發現經過引入外部的能力並不是長久之計,那麼很天然咱們會想到最終的服務器會是這些載體,即將全部與技術相關的成本如協議、調度、服務、通信、監控、緩存、服務調度等關係都最終龜縮成服務器硬件的基本功能,就像CPU、網絡、存儲能力同樣,這種龜縮不必定徹底有硬件服務器廠商來作,能夠在驅動層、操做系統層、甚至在操做系統上再抽象出一層,經過這種內置的固化能力關係管理,使得各個維度上的能力真正作到能夠按需使用,動態擴展。
    也許,架構的將來是沒有架構!



相關文章
相關標籤/搜索