架構師應該做些什麼

有不少朋友曾經問過我,架構師究竟是一個什麼職位,一個架構師都應該做些什麼纔是一個合格的甚至優秀的架構師呢?


這個問題估計很多人也都有類似的疑惑。對於這樣的問題,我覺得不妨先說說在我眼裏什麼叫架構。


所謂架構,就是結構和框架,就是研究部件與耦合的關係。而優秀架構的原則是什麼呢?不管是在建築學裏面還是在IT行當裏面,優秀的架構就是要在大利益滿足的前提下讓建造成本、運行效率、運維成本、擴展成本在平衡的情況下儘可能降低。凡是滿足這樣思路的架構都應該算是優秀的架構。


爲了達成這樣一個架構觀點,在不同的領域其實有着很多對它進行不同角度支持的手段或者技術。比如典型的面向對象技術,對於傳統的面向過程的技術,就有着很好的封裝性,對於建造的效率有着顯著的提高。再比如,HDFS技術對比SAN設備來說,在數據量遞增的情況下,設備成本的上升是緩慢線性的,擴展成本和運維成本都有好的保障,這就是一種好的架構,當然前提是我對吞吐的響應延遲不那麼在意。


在建築上我們也能看到類似的例子。越高層的建築越是喜歡採用鋼架玻璃結構的建築,而中低層喜歡使用鋼筋水泥結構,再低就無所謂了,可能就是磚瓦結構。磚瓦的建築成本對於平房來說當然是非常低的,設備簡單,工人和工程成本非常有限,村裏的有經驗點的包工隊就能解決。高一些的樓層磚瓦結構就不好使了,建築的強度會受很大影響,抗震也是個問題,即便沒有地震,對於製造中的垂直標準水平標準的勘定要求也會比較高,而這些誤差很有可能都是致命的,用預製板加鋼筋水泥就更合適。其實預製板也相當於我們編程中的一個一個的對象,簡化細節,而且製造可以並行化。再高的話,鋼架玻璃更爲合適,它輕質,有韌性,強度大,價格相對更低廉,吊裝方便。


當然每種方法在具備其優點的同事,都是有它自己的缺點。至於怎麼選擇,一定是在當時的特定場景特定環境下選擇的那個對於主體“成本最低”的方式,無論這個成本是時間、風險還是具體建造過程中花掉的金錢。一個好的架構師是什麼?就是能夠將這些因素量化,度量,並作出恰當的判斷,最終引導整個工程按照最合適的方式去進展。這纔是一個號的架構師應該做的最重要的事情。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章