定義
系統(tǒng)架構(gòu)師,是在信息系統(tǒng)研發(fā)中,負(fù)責(zé)依據(jù)需求來確定主要的技術(shù)選擇、設(shè)計系統(tǒng)的主體框架結(jié)構(gòu),并負(fù)責(zé)搭建實(shí)施的人。 他們(與系統(tǒng)分析師)共同確立系統(tǒng)的主體架構(gòu)和實(shí)現(xiàn)方向,并負(fù)責(zé)指導(dǎo)軟件工程師等開發(fā)人員的編碼開發(fā)工作
這是維基百科上對系統(tǒng)架構(gòu)師的定義,比較清晰的表達(dá)了架構(gòu)師職責(zé)范圍;根據(jù)此定義并結(jié)合自身感受,將其概括為:制定問題/需求的合理解決方案,并保證其順利落地。此處關(guān)鍵是如何評判解決方案是否合理,自己理解可從以下三點(diǎn)進(jìn)行核對:
- 具備清晰的核心設(shè)計概念,并貫穿方案始終
- 方案必須是可度量的、實(shí)現(xiàn)的、可測試的
- 符合普適的架構(gòu)原則
《架構(gòu)即未來》15個架構(gòu)原則
(1)N+1設(shè)計。永遠(yuǎn)不少于兩個,通常為三個
(2)回滾設(shè)計。確保系統(tǒng)可以回滾到以前發(fā)布過的任何版本
(3)禁用設(shè)計。能夠關(guān)閉任何發(fā)布的功能
(4)監(jiān)控設(shè)計。在設(shè)計階段就必須要考慮監(jiān)控
(5)設(shè)計多活數(shù)據(jù)中心。
(6)使用成熟技術(shù)。只用確實(shí)好用的技術(shù)
(7)異步設(shè)計。只有在絕對必要的時候才進(jìn)行同步調(diào)用(這條自己存疑)
(8)無狀態(tài)系統(tǒng)。只有當(dāng)業(yè)務(wù)確實(shí)需要的時候,才使用狀態(tài)
(9)水平擴(kuò)展非垂直擴(kuò)展
(10)設(shè)計至少要有兩個步驟的前瞻性。在擴(kuò)展性問題發(fā)生前考慮好下一步的行動計劃
(11)非核心則購買。如果不是你最擅長的,也提供不了差異化的競爭優(yōu)勢則直接購買
(12)使用商品化硬件。
(13)小構(gòu)建,小發(fā)布,快試錯。全部研發(fā)要小構(gòu)建、不斷迭代,讓系統(tǒng)不斷地成長
(14)隔離故障。實(shí)現(xiàn)故障隔離設(shè)計,通過斷路保護(hù)避免故障傳播和交叉影響
(15)自動化。設(shè)計和構(gòu)建自動化的過程
要求
具備哪些能力可勝任架構(gòu)師這個職位,目前自己理解主要有四點(diǎn),以后有新體會了再調(diào)整
- 問題/需求分析推演能力。找到問題本源,進(jìn)行合理的假設(shè)推演確定最優(yōu)邏輯方案。
- 良好技術(shù)視野并具備一定技術(shù)前瞻性,良好技術(shù)整合能力。立足實(shí)際通過整合成熟技術(shù)輸出最優(yōu)架構(gòu)方案
- 熟練的編碼技巧和細(xì)節(jié)把控。具備良好的編程習(xí)慣,豐富的業(yè)務(wù)經(jīng)驗(yàn)是保障方案實(shí)現(xiàn)質(zhì)量重要一環(huán)
- 良好的問題排查、性能調(diào)優(yōu)能力。作為技術(shù)牽頭人需有能力解決實(shí)施過程中遇到的技術(shù)難題
技術(shù)棧(慢慢更新)
