重點摘要#
- 應用程式生命週期中超過 80% 的時間花在維護階段
- 開發和維運需要不同的技能組合,架構師設計時必須考慮維運人員的需求
- 盡早將維運負責人納入專案團隊
- 可追蹤性、審計和日誌對維運至關重要
詳細內容#
應用程式的支援和維護絕對不應該是事後才想到的事。超過 80% 的應用程式生命週期都花在維護上,因此在設計時就應該高度關注支援和維護的問題。如果忽視這一點,你的應用程式將從架構師的夢想變成一頭可怕的野獸。
開發與維運的差異#
大多數架構師設計應用程式時只想到開發者——有 IDE 和除錯器。但不幸的是,開發者和維運人員擁有不同的技能組合,開發/測試環境和生產環境也有不同的用途。
維運人員面臨的挑戰#
- 無法重新提交請求來重現問題
- 不能對「線上」資料庫重新執行金融交易來查看問題
- 修復 bug 的壓力來自客戶和高層,而非專案經理和測試團隊
- 生產環境中沒有除錯器
- 部署需要排程和協調,不能隨意停機測試
- 生產環境的日誌等級遠低於開發環境
忽視維運的症狀#
- 大多數問題都需要開發者介入
- 開發團隊和維運團隊關係緊張
- 維運團隊討厭新應用程式
- 應用程式經常被重啟來「解決」問題
- 管理員沒時間調校系統,因為一直在救火
建議做法#
- 理解開發和維運需要不同的技能組合
- 盡早讓維運負責人加入專案
- 讓維運負責人成為核心團隊成員
- 讓維運負責人參與應用程式支援的規劃
設計時確保維運人員的學習曲線盡可能平緩。可追蹤性、審計和日誌至關重要。當管理員開心時,所有人都開心——特別是你的老闆。
— By Mncedisi Mawabo Kasper