TOGAF 認證是 The Open Group 頒發(fā)的架構(gòu)框架專業(yè)認證,是企業(yè)在規(guī)劃、設(shè)計、實施和管理 IT 架構(gòu)時所使用的一種方法和標準。它提供了一個開放的、靈活的、可擴展的方法來構(gòu)建、部署和管理企業(yè)的 IT 架構(gòu),幫助企業(yè)提高 IT 效率、降低成本、提高業(yè)務(wù)靈活性和創(chuàng)新能力。
中文名 TOGAF企業(yè)架構(gòu)師認證英文名 The Open Group Architecture Framework英文簡稱 TOGAF頒證機構(gòu) The Open Group證書類別 企業(yè)架構(gòu)(業(yè)務(wù)架構(gòu),數(shù)據(jù)架構(gòu),應(yīng)用架構(gòu),技術(shù)架構(gòu))同類認證 SAFe for Architects 、CBA 在當(dāng)今數(shù)字化時代,業(yè)務(wù)架構(gòu)至關(guān)重要。究竟業(yè)務(wù)架構(gòu)是什么?有哪些特點和難點?都有哪些發(fā)展階段和挑戰(zhàn)?它與中臺、微服務(wù)的關(guān)系是什么?業(yè)務(wù)架構(gòu)師該怎么設(shè)計架構(gòu)、做技術(shù)選型?
今天,小艾老師就跟大家講講業(yè)務(wù)架構(gòu)的那些事。
01? 業(yè)務(wù)架構(gòu)演進之路:從單體架構(gòu)到微服務(wù)架構(gòu) 業(yè)務(wù)架構(gòu)并非簡單的組織架構(gòu)圖或業(yè)務(wù)流程圖,它更像是一張“藍圖”,清晰地描述了企業(yè)的業(yè)務(wù)愿景、戰(zhàn)略目標、核心能力、業(yè)務(wù)結(jié)構(gòu)、信息流以及關(guān)鍵業(yè)務(wù)流程。簡單來說,業(yè)務(wù)架構(gòu)回答了“企業(yè)做什么、為誰做、怎么做”的核心問題 。
業(yè)務(wù)架構(gòu)的演進跟業(yè)務(wù)的發(fā)展變化息息相關(guān)。
早期業(yè)務(wù)規(guī)模小,用單體架構(gòu)就夠了,一臺服務(wù)器就能搞定。但隨著業(yè)務(wù)量越來越大,單體架構(gòu)的弊端就暴露出來了:
代碼耦合度高,維護困難: ?各個模塊代碼相互交織,牽一發(fā)而動全身,難以定位和修復(fù)問題。開發(fā)效率低下: ?任何微小的改動都需要重新編譯和部署整個應(yīng)用,開發(fā)周期長。擴展性差: ?難以針對特定模塊進行水平擴展,資源利用率低。可靠性低: ?任何模塊出現(xiàn)故障都會導(dǎo)致整個應(yīng)用不可用。技術(shù)選型受限: ?整個應(yīng)用只能使用同一套技術(shù)棧,難以引入新技術(shù)。為了解決這些問題,越來越多的企業(yè)開始向微服務(wù)架構(gòu)轉(zhuǎn)型 。簡單來說,就是把一個龐大的系統(tǒng)拆分成多個獨立的小服務(wù),每個服務(wù)負責(zé)一個特定的功能,可以獨立開發(fā)、測試、部署。
舉個例子:假設(shè)有一個用戶信息管理系統(tǒng),包含了注冊、登錄、信息維護、授權(quán)四個核心功能,使用單體架構(gòu)時,所有的功能會被放在一起,而使用微服務(wù)架構(gòu)時,它們可以被拆分成四個獨立的服務(wù)。
下面這張圖展示了在微服務(wù)架構(gòu)實施過程中,“交付實踐”“架構(gòu)原則”“戰(zhàn)略目標”之間的升維演化及支撐關(guān)系,供參考。
02 58 同城的業(yè)務(wù)架構(gòu)整合之路
做業(yè)務(wù)架構(gòu),經(jīng)常會遇到的一個痛點:企業(yè)級的業(yè)務(wù)場景經(jīng)常發(fā)生變動,業(yè)務(wù)架構(gòu)難以適應(yīng)不同階段的業(yè)務(wù)特性。
拿 58 同城來說,_早是 Windows.NET 單體架構(gòu),后來發(fā)展大了,2010 年改成 Linux 平臺和 Java 語言,有了自己的 RPC 框架等中間件,業(yè)務(wù)架構(gòu)由 Web 服務(wù)和多個 RPC 服務(wù)及 MySQL 存儲組成。
2015 年并購安居客、合并趕集網(wǎng)后,公司推進 BG(Business Group事業(yè)群)化,縱向?qū)I(yè)務(wù)服務(wù)垂直拆分到各個 BG事業(yè)群,每條業(yè)務(wù)線可以獨立迭代、上線。同時橫向也進行架構(gòu)拆分,成立企業(yè)級的技術(shù)中臺,負責(zé)通用技術(shù)能力的建設(shè)。
58同城并購安居客、合并趕集網(wǎng)后,_緊要的任務(wù)就是解決多平臺業(yè)務(wù)架構(gòu)整合的問題。
比如房產(chǎn)業(yè)務(wù),58 同城和安居客上都有,但客戶端和后端架構(gòu)完全不同,得把它們打通。先得把 App 底層的公共組件統(tǒng)一,然后基于統(tǒng)一的公共組件重構(gòu)業(yè)務(wù)代碼,讓兩個 App 的房產(chǎn)業(yè)務(wù)用同一份代碼,再靠不同的配置來實現(xiàn)差異化。同時把后端服務(wù)也整合一下,把所有底層系統(tǒng)打通,包括邏輯層和數(shù)據(jù)層的服務(wù),這樣一個服務(wù)就能同時支持 58 和安居客兩個產(chǎn)品的業(yè)務(wù),還能讓新老服務(wù)在線上平穩(wěn)進行切換。團隊就能同時做兩邊業(yè)務(wù),一次開發(fā),兩網(wǎng)同時上線,效率大大提高。
03 從微服務(wù)到中臺 說到微服務(wù),就不得不提中臺這個概念。
中臺可以理解為企業(yè)級的能力共享平臺,它把一些通用的業(yè)務(wù)能力沉淀下來,供各個業(yè)務(wù)線復(fù)用,避免重復(fù)造輪子。這樣可以大大提高開發(fā)效率,降低成本。
還是以 58 同城為例。
技術(shù)中臺: 58 同城內(nèi)部有公司層面的技術(shù)中臺,負責(zé)通用技術(shù)能力的建設(shè),例如運維、存儲、中間件、云平臺、搜索、數(shù)據(jù)平臺、AI 平臺、移動組件、即時通訊、安全、商業(yè)等。業(yè)務(wù)中臺: 公司內(nèi)部還會建設(shè)業(yè)務(wù)中臺,比如在房產(chǎn)業(yè)務(wù)線,有:房源庫、樓盤字典、房產(chǎn)開放平臺、經(jīng)紀人服務(wù)等,都是統(tǒng)一建設(shè),新房、二手房、租房、商業(yè)地產(chǎn)等業(yè)務(wù)線可直接復(fù)用。當(dāng)然,中臺是一個更具包容性的概念,微服務(wù)并非中臺的全部,它整合多種能力與資源。除微服務(wù)外,還包括數(shù)據(jù)治理、業(yè)務(wù)流程優(yōu)化等多個方面。
04 業(yè)務(wù)架構(gòu),沒想象中那么簡單! 很多人覺得,業(yè)務(wù)架構(gòu)嘛,不就是把各種技術(shù)“輪子”組裝起來,哪像底層技術(shù)那么高深?這話乍一聽好像有點道理,但實際上,業(yè)務(wù)架構(gòu)師需要具備的能力一點也不比底層技術(shù)開發(fā)少。
首先,你得懂技術(shù)。 別的不說,基礎(chǔ)架構(gòu)里那些“輪子”——云服務(wù)、數(shù)據(jù)庫、中間件等等,你得知道它們是干什么的,有什么優(yōu)缺點,才能根據(jù)實際情況做出_合適的選擇 ,而不是隨便抓一個就往上套。其次,你得懂業(yè)務(wù)。 你需要將復(fù)雜的業(yè)務(wù)場景抽象、分層、簡化,拆分給多個人協(xié)同開發(fā)。業(yè)務(wù)架構(gòu)說到底還是為業(yè)務(wù)服務(wù)的,只有真正理解了業(yè)務(wù)需求,才能設(shè)計出既滿足當(dāng)前需要,又能支持未來發(fā)展的架構(gòu)方案。_后,你還得是個溝通高手。 業(yè)務(wù)架構(gòu)設(shè)計可不是一個人的事兒,你需要跟產(chǎn)品、開發(fā)、測試等各個團隊打交道,你得把你的想法清晰地傳達給他們,才能__終方案的順利落地。
05 業(yè)務(wù)架構(gòu)師的工作要點及挑戰(zhàn) 業(yè)務(wù)建模及中臺規(guī)劃方面:
做業(yè)務(wù)建模抽象,將架構(gòu)拆解為表現(xiàn)層、邏輯層、數(shù)據(jù)層 ,把控每一層關(guān)鍵技術(shù),了解上下游系統(tǒng)特性,做到心中有數(shù)。規(guī)劃業(yè)務(wù)中臺,抽象出共性部分,定義中臺的領(lǐng)域模型、服務(wù)邊界和接口規(guī)范, 并主導(dǎo)中臺的建設(shè)和演進,避免重復(fù)建設(shè)。關(guān)注數(shù)據(jù)規(guī)模和訪問量 這兩個重要業(yè)務(wù)參數(shù),它們對架構(gòu)設(shè)計影響很大。考慮業(yè)務(wù)發(fā)展,預(yù)判未來變化 ,提前做好規(guī)劃,防止方案因業(yè)務(wù)需求改變而推倒重來。技術(shù)選型方面:
大公司的話,基礎(chǔ)架構(gòu)成熟則優(yōu)先選內(nèi)部技術(shù)以便聯(lián)動。 沒有現(xiàn)成技術(shù),優(yōu)先選成熟開源方案,為二次開發(fā)準備。 調(diào)研云廠商,若有成熟且成本能接受的方案就用。 自建的話,就需要調(diào)研業(yè)界方案以借鑒經(jīng)驗思路。 云時代的新挑戰(zhàn):
隨著云計算的普及,業(yè)務(wù)架構(gòu)也面臨著新的挑戰(zhàn)和機遇。一方面,云平臺提供了豐富的基礎(chǔ)設(shè)施和服務(wù),可以幫助企業(yè)快速搭建和部署業(yè)務(wù)系統(tǒng);另一方面,云原生、Serverless 等新技術(shù)的出現(xiàn),也對業(yè)務(wù)架構(gòu)的設(shè)計提出了更高的要求。
互聯(lián)網(wǎng)企業(yè)的業(yè)務(wù)規(guī)模增長迅猛,業(yè)務(wù)場景特性一天一變,對于業(yè)務(wù)架構(gòu)的設(shè)計、實現(xiàn)乃至重構(gòu)都提出了更多的要求。微服務(wù)和中臺已成為發(fā)展的大趨勢,然而,業(yè)務(wù)架構(gòu)師除了微服務(wù)和中臺之外,還需要持續(xù)學(xué)習(xí),不斷迭代自身的知識結(jié)構(gòu),從而滿足不斷變化的業(yè)務(wù)環(huán)境。
好了,今天小艾老師就說這么多。如果你想要學(xué)習(xí)和掌握更多業(yè)務(wù)架構(gòu) 方面的知識和技能,小艾老師推薦大家參加CBA業(yè)務(wù)架構(gòu)認證 ,或者TOGAF企業(yè)架構(gòu)師認證 。