架構師微服務深度解析?當前,大家都在熱議企業數字化轉型,抛開其背景和意義,僅從建設角度來說涉及的内容之廣、概念之多、建設難度之大都讓很多人轉了半天還沒理清涉及的知識體系和概念關于企業架構的微服務化涉及企業架構、業務架構、IT架構、SOA、微服務架構等衆多概念,以下根據已有的資料做了一個歸納整理,下面我們就來說一說關于架構師微服務深度解析?我們一起去了解并探讨一下這個問題吧!
當前,大家都在熱議企業數字化轉型,抛開其背景和意義,僅從建設角度來說涉及的内容之廣、概念之多、建設難度之大都讓很多人轉了半天還沒理清涉及的知識體系和概念。關于企業架構的微服務化涉及企業架構、業務架構、IT架構、SOA、微服務架構等衆多概念,以下根據已有的資料做了一個歸納整理。
企業架構微服務化
企業架構企業架構是20世紀80年代的産物,其标志就是1987年Zachman提出的企業架構模型,該模型按照“5W1H”,即What(數據)、Where(網絡)、Who(角色)、When(時間)、Why(動機)、How(功能)6個維度,結合目标範圍、業務模型、信息系統模型、技術模型、詳細展現、功能系統這6個層次,将企業架構分成36個組成部分,描述了一個完整的企業架構需要考慮的内容。
企業架構(EnterpriseArchitecture,EA)的定義在概念上沒有統一标準,盡管企業架構的描述各不相同,但有一點是可以明确的即企業架構是企業的戰略組成部分,旨在幫助企業有效地組織資源和完成IT戰略規劃。
企業架構的定義
企業架構是一個系統過程,它表達了企業的關鍵業務、信息、應用和技術戰略以及它們對業務功能和流程的影響,是對企業多層面、多角度的建構和描述,主要包括業務架構、應用架構、數據架構和IT架構。
有很多不同類型的企業架構框架方法,TOGAF框架是衆多企業架構框架理論中的一種。TOGAF通用性較強,完整性和實用性都比較高,為一個企業或組織對于企業架構的接受、創建、使用和維護提供了一系列輔助方法和工具。同時TOGAF還是一個基于叠代過程模型的企業架構框架理論,作為支持該過程模型的重要基石,TOGAF包括了各種最佳實踐,以及一系列可重用的現有企業資産。簡而言之,TOGAF是一種協助發展、驗收、運行、使用和維護架構的工具,可幫助企業設計、評估并建立機構的正确架構,内容涵蓋了企業架構生命周期中的方方面面,所以現階段的企業架構咨詢中經常使用TOGAF框架為客戶進行架構規劃。
Togaf:ADM框架
業務架構業務架構從誕生之初就很清楚地定義了自己的使命:面向複雜系統構建。也就是說,業務架構與其他架構一樣,其目的也是要降低複雜度,從更好地規劃和實現系統,因此TOGAF将業務架構歸屬于IT戰略部分。
業務架構的定義
以實現企業戰略為目标,構建企業整體業務能力規劃并将其傳導給技術實現端的結構化企業能力分析方法。
如今大熱的“中台”概念,說到底也是一種業務架構設計結果,是對企業能力的一種規劃,隻不過阿裡的實踐代表的是自下而上的積累方式,而業務架構設計通常是自上而下的規劃與演變。
企業級業務架構是連接企業頂層戰略和技術實現的橋梁,是業務人員和技術人員互相溝通理解的橋梁。業務架構基于企業目标進行業務能力和流程的整體規劃,對業務能力進行标準化、組件化。實際上,遵循業務架構設計方法,不斷基于自身的實踐進行積累和調整,任何企業都能發現适合自己的架構,包括适合自己的中台規劃,之後再根據企業的業務規模和發展預期選擇合适的技術棧。企業級業務架構設計的真正威力還體現在對企業的整體認知、規劃與改變上。深入開展企業級業務架構設計,足以将一個企業完整、深刻地聯結在一起,這不是領域級設計可以解決的問題。從這個角度來講,企業級業務架構設計堪稱“中台之上”。相對自下而上的“生長”方式而言,企業級業務架構設計更适合于傳統企業的數字化轉型實踐。(付曉岩.企業級業務架構設計:方法論與實踐)
業務架構和IT架構的關系
TOGAF框架将業務架構視為IT戰略的一部分,但事實上,業務架構應當是企業戰略而非IT戰略的一部分,它不同于通常意義上的業務需求,而是企業業務戰略的實現方法。因此,業務架構範圍是可以大于IT架構範圍的,可以包含企業戰略的非系統化部分,是企業業務的全景描述。IT架構則是用于企業信息化建設的,是企業戰略的系統實現部分。二者之間的關系,用靈魂與容器來形容也許更為恰當。業務架構是靈魂,IT架構是容器,即靈魂的載體,沒有靈魂,隻有容器是沒有生機的,所以,技術人員需要關注業務和業務架構。
IT架構IT架構承載企業的業務架構,指導企業IT對業務的實現,并通過應用架構、數據架構、技術架構來具體呈現。
業務架構為IT應用架構提供企業全業務的統一完整輸入,以補足IT應用架構差距為目的,設計各應用系統功能、進行範圍劃分、設計接口關系和數據實體等内容以完整匹配業務架構,通過對各應用系統設計的結構化表達從而組建成IT應用架構。IT應用架構被結構化為應用域、應用、應用組件、功能組件、公共組件共5層,通過定義、業務支撐關系、服務、數據、技術等要素進行标準化描述,實現IT應用架構的模型化定義。其中應用域、應用、應用組件3層用于匹配業務架構中的通道與業務組件層,通過映射關系的描述,實現應用系統對業務的全覆蓋。功能組件與公共組件是對模塊化後IT應用的進一步細分,能夠使IT功能剝離于業務本身,降低了功能實現的複雜度。功能組件與公共組件将成為應用功能開發的承載層。通過構建技術開發平台,實現企業代碼開發平台以及功能服務統一管理,并依此構建上層應用組件以支撐IT應用架構向應用系統的落地,技術開發平台成為IT應用架構的必要補充。結合實際,使IT基礎環境匹配技術平台。(任鋼.微服務設計:企業架構轉型之道)
應用架構:應用架構根據業務架構的總體要求,描述支撐業務和管理的應用系統、主要功能和功能之間的關聯關系,确定未來應用架構的部署模式。應用架構根據業務架構的總體要求,利用信息化技術對各種業務模式進行優化設計,形成規範、完整、靈活、可擴展的應用系統功能及系統之間的關聯關系。
數據架構:描述企業的概念數據模型、邏輯數據模型、物理結構以及數據管理資源,包括數據的歸類、與業務應用的關系、數據的使用和管理策略等。數據架構是信息化架構的核心之一。數據架構的主要作用:一是要識别出企業業務活動和管理活動中所涉及的、需要由應用系統處理的主要數據類型;二是滿足數據管理的需要,明确企業的核心業務數據,保證這些數據在整個企業層面的一緻性、完整性與準确性;三是分析業務運作模式的本質,為未來确定核心應用系統以及分析不同應用系統間的集成關系提供依據。數據架構規劃主要包括數據定義、數據部署與數據管理3部分。
技術架構:描述實現應用架構所采用的技術,同時也包括支持應用系統部署所需的基礎設施和環境。技術架構由企業級應用集成平台、公共服務平台、基礎設施平台和信息安全平台組成。技術架構一般基于服務理念,遵循不同技術平台共存、開源軟件與商業軟件并存的原則,充分考慮當前前沿技術(如雲計算、物聯網)的應用,建立具有開放性、标準化和安全性的企業級集成架構和基礎設施平台。
SOA(面向服務的架構)服務這個概念是伴随着SOA概念提出來的。多年來,服務本身的含義已經發生了天翻地覆的變化,如何定義服務成了難題。無論是SOA架構、微服務架構,還是企業架構等,對服務的概念都有各自不同的定義。如果對服務這個名詞定義不清晰,後面所講的内容會混亂不堪,因此下面綜合上述3種架構的定義,統一了服務的概念。
對于服務的總的共性定義為:服務是通過提供有規範契約的接口、能夠帶來實用價值的一種有形組件或邏輯表示。
面向服務架構(SOA)又稱“面向服務的體系結構”,是Gartner于1996年提出的概念。2002年l2月,SOA成了“現代應用開發領域最重要的課題”,國内外計算機專家、學者開始了對SOA的積極研究與探索。但是關于SOA架構,目前尚未有一個統一的、業界廣泛接受的定義。
SOA(面向服務架構),它可以根據需求通過網絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用。服務層是SOA的基礎,可以直接被應用調用,從而有效控制系統中與軟件代理交互的人為依賴性。
SOA是一種粗粒度、松耦合服務架構,服務之間通過簡單、精确定義接口進行通訊,不涉及底層編程接口和通訊模型。SOA可以看作是B/S模型、XML(标準通用标記語言的子集)/Web Service技術之後的自然延伸。SOA将能夠幫助軟件工程師們站在一個新的高度理解企業級架構中的各種組件的開發、部署形式,它将幫助企業系統架構者以更迅速、更可靠、更具重用性架構整個業務系統。較之以往,以SOA架構的系統能夠更加從容地面對業務的急劇變化。SOA系統是一種企業通用性架構。
在TheOpenGroup組織的定義中,SOA服務是一個重複業務活動的邏輯表示。
在維基百科關于SOA的服務定義中,服務是一個獨立的功能單元,可以遠程訪問、獨立操作和更新。維基百科還定義了服務的4個屬性:1)它在邏輯上表示具有指定結果的業務活動;2)它是獨立的;3)對于消費者來說,它是一個黑匣子;4)它可能包括其他基礎服務。
微服務架構微服務自2014年首次提出後,很多大型公司都已經開始實踐并使用微服務來完成公司的主要業務邏輯,比如谷歌、亞馬遜、Twitter。一般而言,微服務架構是一種低耦合的軟件架構,首先将軟件系統拆分成多個獨立且可擴展的服務,使用一套小服務來開發單個應用,每個服務運行在自己的進程中,隻負責完成特定的任務,并使用輕量級機制通信,通常是HTTPAPI,最後集成每個服務完成最終業務的系統。
微服務架構(MicroservicesArchitectures,MSA)定義
微服務架構将應用程序的不同功能單元微服務(Microservice)化,通過微服務間定義良好的接口和契約(Contract)聯系起來。接口采用中立的方式定義,獨立于具體實現服務的操作系統、軟件框架、編程語言和運行基礎設施平台,可以使用統一的、标準的、輕量級的方式進行通信。
異步消息傳遞微服務設計模式
微服務架構不僅具備SOA架構的特性,而且也有自己的獨特之處。SOA架構在服務顆粒度、實現方式、服務部署等方面和微服務架構有不同之處。
SOA構架和微服務架構的相同點:
SOA架構與微服務架構都是構建面向服務的分布式系統應用的指導架構。
其核心組成都以服務形式提供。各個服務是自治的且各個服務之間都是松耦合的。
與技術實現和基礎平台設施都無關。
SOA構架和微服務架構的不同點:
SOA架構使用粗粒度的服務,利用現有的資産,易于集成和管理,主要采用中間件。微服務架構可以看作是SOA架構的升級版,其強調服務的獨立性、無狀态、功能職責單一化,強調通過多個微服務的組合實現複雜業務,強調通過服務的替換和升級實現對企業業務的敏捷支持。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!