iT邦幫忙

2026 iThome 鐵人賽

DAY 30
0
Software Development

30 天把舊 ERP 整合成現代微服務平台:架構治理與工程實作雙軌實戰系列 第 30 篇

Day 30|30 天後回頭看:ERP 現代化最後留下的不是技術,而是決策方法

  • 分享至 

  • xImage
  •  

寫到第 30 篇,我想回頭把整個系列再看一遍。從為什麼要轉型、怎麼選架構、怎麼整合 ERP,到怎麼建立可靠性、怎麼治理與驗證,每條主線回答完,都會帶出下一條要處理的問題。

文章記錄的是方法。實際完成到哪裡,還是要回到專案的文件與執行結果,一項一項確認。

本篇名詞小筆記

  • ISO 9001:品質管理系統(QMS)的要求標準;內部 IT 平台是否屬於組織 QMS 的管理範圍,仍要依組織的範圍、流程責任與適用要求判定。
  • QMS:品質管理系統(Quality Management System),透過受控流程、責任分工、驗證與紀錄管理品質要求。
  • ADR:架構決策紀錄(Architecture Decision Record),保存重要技術選擇的背景、選項、取捨、結果與重新評估條件。
  • SSDF:Secure Software Development Framework,NIST SP 800-218 提出的安全軟體開發實務框架,用來協助組織把安全活動整合進 SDLC。
  • SCA:Software Composition Analysis,軟體組成分析。用來盤點第三方套件、開源元件與相依關係,並檢查已知漏洞、版本、授權與其他元件風險。
  • SBOM:Software Bill of Materials,軟體物料清單。記錄軟體由哪些套件、元件與版本組成,方便後續進行弱點追蹤、影響分析與軟體供應鏈風險管理。

今天要解決的問題

到了最後,我想把重點放在接下來怎麼做。前面各篇整理的做法與指標,要怎麼變成日常工作的一部分,讓團隊之後還能持續檢查、調整?

接手的人也要知道從哪裡接著做,所以目前的進度要寫清楚:哪些已經完成、哪些還在規劃、哪些只是候選技術,都照實記錄。

架構師視角:回到五條主線

回頭看這 30 篇,其實一直都在回答五個問題:

  1. 為什麼轉型:新需求不再繼續綁在 ERP 資料表與 SOAP 格式上,避免 Legacy 耦合持續擴大。
  2. 如何選架構:微服務、模組化單體、Docker Compose、Kubernetes 都不是預設答案,而是依情境選擇。
  3. 如何整合 ERP:Gateway 管理入口,Adapter 隔離 ERP 協定與 Legacy 語意。
  4. 如何建立可靠性:用事件、冪等、Timeout、Retry、限流與可觀測性控制故障範圍。
  5. 如何治理與驗證:用 ADR、CI/CD、測試、SOP 與指標,把決策、變更與結果留下來。

https://ithelp.ithome.com.tw/upload/images/20261012/201842301CDYZK5ngT.png

圖 Day 30-1:治理成果與未來路線。

圖上的五個部分最後又回到策略與風險。我想表達的是:做完之後還要回頭看。驗證結果會告訴我們哪些地方有效、哪些還要補,再用這些資訊安排下一步。

不管選了哪一套技術,我都會再用四個方向檢查一次:

可理解、可驗證、可維運、可追溯。

換成實際問題,就是:團隊是否理解?結果是否可以驗證?系統是否可以持續維運?每次變更是否可以追溯?

工程師視角:用策略矩陣收尾

整理成果時,我會回到 Day 02 那張策略矩陣,把每個面向的基準值、目前值、證據、剩下的風險與下一步填好。還沒達標或暫時量不到的,也要列出負責人與完成期限。

為了讓接手的人不用重新翻完 30 篇,我把幾個關鍵決策整理成一張表。完整背景、取捨與驗證方式仍回到各篇;這張表只保留「當時怎麼選」以及「什麼情況需要重新評估」。

對應篇 主線 關鍵決策 何時重看
Day 02、Day 03 為什麼轉型 每個面向只留結果指標與健康指標 指標不足以解釋落差時
Day 03 為什麼轉型 先建立基準值,再定門檻 基準值累積足夠後
Day 04 如何選架構 接受新舊系統並存 共存成本接近重建成本時
Day 04 如何選架構 第一條流程先做唯讀 準備進入寫入情境時
Day 05 如何選架構 先用模組化單體,再拆必要服務 需要獨立部署、擴展或隔離時
Day 08 如何選架構 先拆資料庫帳號與資料所有權 需要獨立效能或可用性時
Day 27 如何選架構 有實際需求再導入 Kubernetes 出現多節點或自動排程需求時
Day 09 如何整合 ERP 入口政策集中在 Gateway 例外規則過多時
Day 09 如何整合 ERP 後端只接受 Gateway 流量 出現合法內部直連需求時
Day 13、Day 14 如何整合 ERP ERP 存取一律經 Adapter Adapter 成為瓶頸時
Day 16 如何整合 ERP 未列白名單即拒絕 無
Day 17 如何建立可靠性 主流程同步、後續下游非同步 下游結果成為使用者當下決策依據時
Day 19 如何建立可靠性 用資料庫唯一鍵擋重複 無
Day 19 如何建立可靠性 Producer 採 Outbox 業務可接受事件遺失時
Day 23 如何建立可靠性 Timeout 以端對端 Budget 為準 業務等待時間改變時
Day 23 如何建立可靠性 重試集中在單一層 該層無法判斷操作安全性時
Day 26 如何治理與驗證 Build once, deploy many 無
Day 26 如何治理與驗證 必要檢查不可跳過 無
Day 28 如何治理與驗證 ADR 只記重要決策 中小型決策開始反覆討論時
Day 29 如何治理與驗證 回退先演練,Migration 分階段 無

這張表只是入口,完整的背景、取捨與「驗證方式與衡量指標」仍放在各篇裡。

如果目前還沒有資料可以量測,就把原因寫清楚。例如 Log 尚未集中、基準值尚未建立,都可以先列為待完成工作。是否影響結案,仍要依驗收條件與風險判定,不能直接填成已改善。

策略取捨與限制:品質管理思維的適用範圍

ISO 9001 是品質管理系統的要求標準。內部 IT 平台是否屬於組織 QMS 的管理範圍,仍要依組織的 QMS 範圍、流程責任與適用要求判定,因此這裡不把系列中的技術做法直接等同於符合 ISO 9001。

我真正想借用的是幾個品質管理常見的思考方式:

  • 風險:這項變更影響哪些業務與資料?
  • 變更控制:需求、程式、測試、核准與部署能不能互相追溯?
  • 驗證:上線前是否驗證?回退是否演練?
  • 第三方與軟體供應鏈風險:外部軟體、開源元件與服務由誰評估?來源、弱點與更新狀態是否掌握?
  • 紀錄:證據是否完整、受控,而且需要時找得到?

對我來說,重點不是「做過哪些流程」,而是每個關鍵判斷最後能不能找到對應證據。

其中第三方軟體與開源元件的安全評估,可以參考 NIST SSDF 與 Software Supply Chain Security Guidance。SSDF 著重於把安全開發實務整合進 SDLC;軟體供應鏈安全則進一步關注第三方軟體、開源元件、供應商、弱點以及軟體組成的可視性。

系列裡由 Adapter 把外部介面隔開(Day 13);元件層級的盤點與安全評估,則可以透過 SCA 盤點第三方與開源套件,再搭配 SBOM 留下軟體元件與版本資訊。這些做法是安全與供應鏈風險管理的參考,並不代表完成這些活動就等同於符合 ISO 9001 或組織本身的 QMS 要求。

對應篇 品質管理關注點 本系列對應做法 主要證據
Day 02、Day 26、Day 29 風險 策略矩陣、變更風險分級 策略矩陣、風險紀錄
Day 16、Day 28 變更控制 ADR、PR、設定版控 ADR、PR、Git 歷史
Day 14、Day 26、Day 29 驗證 測試、回退演練 Pipeline、演練紀錄
Day 13 第三方與軟體供應鏈風險 Adapter 隔離外部介面;盤點第三方與開源元件並做安全評估 契約測試、元件清冊、SCA、SBOM、評估紀錄
Day 12、Day 13、Day 26 紀錄留存 稽核 Log、部署紀錄 Audit Log、部署證據

這裡做的是對照,不是符合聲明。是否適用、證據是否足夠,仍要回到組織正式的 QMS 範圍與程序判定。

取捨 這樣選的理由 何時要重新評估
參考品質管理思維,不宣稱符合標準 適用範圍由組織判定,不是技術團隊能自行宣告 組織正式將平台納入 QMS 範圍時
未達標項目如實記錄 掩蓋落差會讓後續決策失去依據 依改善結果持續更新
治理結果回饋到策略與風險 證據若不影響後續決策,就只是歸檔 策略、風險或驗收條件改變時

驗證方式與衡量指標

最後,我會依這五條主線,再找一次對應的證據:

主線 結案證據 想確認什麼
為什麼轉型 ERP 依賴清冊、直連系統數 耦合面是否確實收斂?
如何選架構 ADR、模組相依與 Review 紀錄 決策是否有紀錄且被遵守?
如何整合 ERP 契約測試、繞過 Adapter 呼叫數 還有沒有呼叫繞過 Adapter?
如何建立可靠性 故障演練紀錄、端對端 Trace 失敗路徑是否驗證過?
如何治理與驗證 Pipeline 證據、回退演練紀錄 每次變更是否可追溯?

每一列都要找得到文件或執行紀錄,之後每次更新策略矩陣,目前值才有依據,也才能和基準值比較。還找不到的,就先列出來,安排下一階段補齊。

今天先整理到這裡

回頭看這 30 篇,我真正想留下的不是某一套技術,而是一套做決策的方法:先看問題與限制,再做取捨;做完後留下證據,最後用結果重新檢查原本的判斷。

架構不會因為畫完一張圖、完成一次部署就結束。下一個需求進來時,還是可以回到同樣的四個方向檢查:

團隊是否理解?結果是否可驗證?系統是否可維運?變更是否可追溯?

第 30 篇不是終點。之後每次更新策略矩陣、每次留下新的 ADR、每次重新檢查風險,其實都還是在延續同一件事:讓架構能被理解、被驗證,也能持續被改善。

這大概就是我希望這 30 天最後留下來的東西。

參考資料

  1. ISO, ISO 9001,查閱日期:2026-10-13。
  2. NIST, NIST SP 800-218 — Secure Software Development Framework (SSDF) Version 1.1,查閱日期:2026-10-13。
  3. NIST, Software Supply Chain Security Guidance,查閱日期:2026-10-13。

上一篇
Day 29|架構驗證、上線 SOP 與 Rollback:能跑不等於能安全上線
系列文
30 天把舊 ERP 整合成現代微服務平台:架構治理與工程實作雙軌實戰 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言