iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

軟體架構備忘錄 系列

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

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

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

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

Day 21 資料儲存 - 儲存設備 (知識點104~109)

思考的問題 資料應該要存放於甚麼位置呢?資料儲存時,需要思考其儲存設備。不同儲存設備的效果、成本不一。需要依據需求選擇合適對象。常見的儲存設備包含:DAS, N...

2023-09-28 ‧ 由 bradhuang9999 分享
DAY 22

Day 22 資料儲存 - 關聯性資料庫 (知識點110~113)

思考的問題 關聯性資料庫是最經典的資料儲存方式,其提供嚴謹的交易控制、彈性的資料儲存格式。因此過去絕大部分的資料儲存都是使用關聯性資料庫。在設計關聯性資料庫常需...

2023-09-29 ‧ 由 bradhuang9999 分享
DAY 23

Day 23 資料儲存 - NoSQL資料庫 (知識點114~117)

思考的問題 資料量過大,或特殊執行需求,造成關聯式資料庫執行時速度較慢,應該要如何處理? 現今蒐集資料的形式與數量都比過去增長許多倍,因此可能會發現關聯式資料庫...

2023-09-30 ‧ 由 bradhuang9999 分享
DAY 24

Day 24 資料儲存 - 高可用儲存 (知識點118~121)

思考的問題 有哪些方式可以降低RTO與RPO呢? 冷備份 描述 冷備份(Cold Backup) 是定期在其他位置產生資料備份,以便在系統或硬體故障時,使用這...

2023-10-01 ‧ 由 bradhuang9999 分享
DAY 25

Day 25 資料儲存 - 資料安全 (知識點122~125)

思考的問題 如何保護資料的安全? 對稱加密 描述 對稱加密(Symmetrical Encryption) 是一種加密技術,使用同一把金鑰對資料進行加密和解密...

2023-10-02 ‧ 由 bradhuang9999 分享
DAY 26

Day 26 DevOps - CI自動建置 (知識點126~128)

思考的問題 DevOps中,如何觸發管理並觸發自動化建置呢?除了後續測試之外,重要需要考慮的包含程式版本庫、程式碼審核、與自動化建置 程式版本庫 描述 程式版...

2023-10-03 ‧ 由 bradhuang9999 分享
DAY 27

Day 27 DevOps - CI功能測試 (知識點129~133)

思考的問題 CICD中,如何驗證功能是否已符合需求? 單元測試 描述 單元測試 (Unit test) 是CICD中的重要測試環節,事先定義各元件的測試腳本...

2023-10-04 ‧ 由 bradhuang9999 分享
DAY 28

Day 28 DevOps - CI效能測試、資安測試 (知識點134~138)

思考的問題 CI測試中,除了測試功能符合需求外,還有哪些測試呢? 常見的測試包含效能測試:壓力測試、負載測試、效能測試以及 資安測試:白箱程式碼掃描 以及黑箱滲...

2023-10-05 ‧ 由 bradhuang9999 分享
DAY 29

Day 29 DevOps - 佈署策略 (知識點139~144)

思考的問題 確認程式內容正確之後,如何佈署到正式環境並最小化更新風險並減少對使用者的影響? 常見作法包含:QA環境、就地佈署、滾動佈署、金絲雀佈署、藍綠佈署、紅...

2023-10-06 ‧ 由 bradhuang9999 分享
DAY 30

Day 30 架構設計要素表 與 小結

經歷了30天的撰寫,一共寫了144個知識點。其實還沒有寫完所有的架構要素,未來有機會再繼續補完。 這裡面每一個知識點的撰寫其實比我原本預想中還要困難不少。因為需...

2023-10-07 ‧ 由 bradhuang9999 分享