軟體架構概觀

Software Architecture

  • 為架構而架構是一個很大盲點,架構不在追求完美而在於滿足需求與面對需求變化的能力

  • 架構的演進需要有一個明確的目標,這些目標通常是源自現存系統的缺陷

  • 架構團隊的責任

    • 面對需求

      • 滿足需求與面對需求變化的能力

      • 持續擴充與演進的能力

    • 面對技術

      • 適當技術的引用、與時俱進的演化能力

      • 機制制定,例如:授權認證、監控機制、通訊機制、流控機制…

      • 核心模組的設計與研發實現。80%的系統流量會經過20%的核心模組,其重要性不言可喻。

      • 辛苦一次永久使用,相同的事、類似的模組不重複設計製作

      • 實踐scalable、fault-tolerant、high-performance的承諾

    • 面對其他開發人員

      • 經驗分享與傳承

      • 防範豬一樣的隊友搞垮系統,從自動偵測機制與技術規格框架設計做起

      • 工具能做的,程式可解的,減少人工作業

      • 化繁為簡,盡量讓他們集中精力在解決Domain的需求而非技術的議題,提高生產力

系統架構重要性

  • 疊床架屋糊一起 v.s. 層次分明可擴充延展永續演進
  • IT技術不一定適用所有的系統架構,架構不對就無法發揮雲端或Container技術的優勢

results matching ""

    No results matching ""