iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

軟體架構備忘錄 系列

在軟體開發中,架構設計扮演著至關重要的角色。良好的架構不僅預先思考建構方向,還能減少開發過程中的困擾。相對地,不佳的架構不僅可能導致上線進度延遲,即使成功上線,也可能在未來的維護過程中引發功能調整的困難,並導致系統不穩定,進而影響使用者的滿意度。

每個專案都具有獨特的需求,時間、人力、現有架構以及各個目標的優先順序都各不相同。毫無疑問,世上並不存在一個絕對完美的架構,唯一的成功之道是找到最適合當前專案的解決方案。

本系列將深入探討軟體架構設計的常見考量要點,並在最後提供一份備忘表(Cheat Sheet),以協助各位在未來的架構設計中能夠快速而全面地進行思考。

鐵人鍊成 | 共 30 篇文章 | 9 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 1 序章

在我十多年的軟體開發經驗中,曾使用過多種不同的軟體架構,也自行設計過多次軟體架構。每位軟體架構師在規劃架構時,都會試圖在可接受的時間內打造出最完善的設計藍圖。但...

2023-09-08 ‧ 由 bradhuang9999 分享
DAY 2

Day 2 基本概念 - 軟體架構目標 (知識點001~007)

在設計架構時,首先要清楚好的架構希望達成哪些目標。這些目標,是我們設計時希望達到的心中如果沒有時時記得這些目標,可能導致一開始就偏了方向。 好架構希望達到的目標...

2023-09-09 ‧ 由 bradhuang9999 分享
DAY 3

Day 3 基本概念 - 軟體架構屬性 (知識點008~013)

好的架構會有那些屬性呢?這些屬性也許感覺和架構設計目標有點像,但是會需要考慮這些屬性的原因,其實是為了達到架構設計的目標。例如說,伸縮性與容錯性都是為了使此架構...

2023-09-10 ‧ 由 bradhuang9999 分享
DAY 4

Day 4 基本概念 - 架構SLA (知識點014~017)

SLA其實也是軟體架構屬性的一環,不過在架構SLA中記載的通常是可以明確衡量的數字屬性。架構SLA包含:服務可用性、RTO、RPO、回應時間 服務可用性 描述...

2023-09-11 ‧ 由 bradhuang9999 分享
DAY 5

Day 5 資訊安全 - 通用概念 (知識點018~022)

雖說資訊安全再不管在哪一個層面都需要考慮,但是也有一些通用概念是不管在哪個地方都需要謹記的。其通用概念包含:深度防禦、零信任、IDS與IPS 防禦系統、防禦DD...

2023-09-12 ‧ 由 bradhuang9999 分享
DAY 6

Day 6 資訊安全 - 認證 (知識點023~028)

Authentication (認證) 與 Authorization (授權) 是兩個常被混淆的觀念。Authentication (認證)是確認你是誰,而A...

2023-09-13 ‧ 由 bradhuang9999 分享
DAY 7

Day 7 資訊安全 - 授權 (知識點029~033)

角色為基礎授權 描述 RBAC (Role Base Access Control,以角色為基礎授權) 取代傳統以屬性為基礎的權限控管架構(Attribute...

2023-09-14 ‧ 由 bradhuang9999 分享
DAY 8

Day 8 系統架構 - 執行環境 (知識點034~041)

在架構設計時,第一個通常需要決定的就是應用程式的執行環境。除了傳統在伺服器直接安裝作業系統與應用程式外。現在還有很多其他的選擇,包含:VM、Docker、Kub...

2023-09-15 ‧ 由 bradhuang9999 分享
DAY 9

Day 9 系統架構 - 應用程式介面 (知識點042~046)

思考的問題 我的應用程式要以甚麼樣的形式供使用者使用呢? 由於每個應用程式最終大多需要供使用者使用,因此需要思考要用甚麼的形式提供應用程式介面給終端使用者。常見...

2023-09-16 ‧ 由 bradhuang9999 分享
DAY 10

Day 10 系統架構 - 架構模式 (知識點047~053)

思考的問題 有哪些經典系統架構設計模式可以參考? 由於前人已經針對常見議題有了許多經典的解決方案。因此在設計架構時,通常會希望參考經典的設計模式。常見的架構模式...

2023-09-17 ‧ 由 bradhuang9999 分享