自動化以提高效率
工作負載可能具有涉及小組成員進行乏味、重複且耗時的工作,而不需要人類智力的工作流程。 視頻率而定,您可能會花費相當長的時間進行這些工作,並在工作負載成長時投入更多時間。 此外,由於人為輸入,這些流程通常容易出錯。
透過自動化,您可以節省時間、精力和金錢,並避免錯誤。
範例案例
Contoso 大學已開發一個 Web 應用程式,它目前已在生產環境中使用並裝載在 Azure 中,能為 Contoso 的學生和教職員提供線上教育服務。
該技術解決方案建置在 Azure App Service、Azure SQL Database、Azure Active Directory、Azure Key Vault 和 Azure DevOps 上。
將流程自動化
根據正確層級的複雜度、投入、頻率、正確性、時間表和生命週期的準則,評估所有工作流程。 根據該評估將工作流程自動化,並以最高的預期報酬來排定工作流程的優先順序。 拿掉備援工作流程或增加價值,以證明人力投入。
透過採用這種方法,您可以將小組產能重新投入較高的價值工作,並提高生產力和一致性。
建置工作流程清查可確保您將正確的工作自動化。 拿掉備援工作可減少複雜度和錯誤。
Contoso 的挑戰
- Contoso University 的小組正在尋找方法來改善作業流程,方法是將重複、耗時、容易出錯或低價值的手動工作自動化。 這可以釋出一些小組的時間和資源,以進行更策略性的工作、改善服務的品質和可靠性,並可能降低成本。
套用方法和結果
- 為了開始此工作,小組已針對可能自動化的手動作業工作進行清查。 接下來,小組使用建議中建議的準則 (例如正確層級的複雜度、投入、頻率、正確性、時間表和生命週期) 來分析工作清單,以判斷自動化的最佳候選項目。 同時,小組還評估了在內部取得自動化工具或自訂建置自動化長期來說可能更好。
- 根據分析的結果,他們決定專注在將與使用者帳戶管理相關的活動自動化。 管理使用者帳戶 (學生、教職員) 是一個常見的工作,包括在學生註冊時建立新帳戶、重設密碼,以及在個人離開大學時刪除帳戶。
- 透過將許多與使用者帳戶管理相關的工作自動化,小組已釋出足夠的時間,可開始進行先前延遲的其他卓越營運改進。
針對自動化進行設計
設計工作負載元件以支援自動化功能。
避免系統設計中缺乏自動化的情況可促進重複性工作的反模式、減緩成長,並開始累積技術債務。
Contoso 的挑戰
- 應用程式具有豐富的動態 UI,其使用許多互動式元素和動畫。 自應用程式開發以來,開發小組從未使用過自動化 UI 測試工具,而且只依賴手動測試。
- 最近,小組一直致力於自動化其 UI 測試,但面臨許多挑戰。 有些 UI 頁面太動態且無法預測,而且沒有一致的方式可識別測試案例需要與之互動的一些區段。
套用方法和結果
- 小組已決定改善其 UI 實作,使其更具可測試性和可存取性。 他們會在建立測試案例時修正頁面,以累加方式進行改善。
- 當他們處理每個頁面時,他們會確定每個欄位都有唯一識別碼,可供測試自動化工具使用。 他們也會遵循無障礙指導方針和標準,例如使用語意 HTML、適當的標籤和鍵盤瀏覽。 這可讓 UI 更方便使用者存取且更容易測試。
- 當自動化測試完成時,它們會併入在每日組建期間執行的測試套件中,進而大幅縮短將新組建發行至生產環境所需的時間、改善產品品質,以及在開發期間節省成本。
自動化應該經過妥善架構
將所有自動化視為工作負載的重要相依性。 適應工作負載的預期成長。 您的自動化工具是工作負載不可或缺的一部分,而且它應該遵守五個 Well-Architected Framework 要素。
將您的自動化元件設計為能承受風險,例如安全性威脅。 透過套用的最佳做法,您可以避免實作蔓延。
如果此相依性保持運作且安全,工作負載會繼續以高階保證運作。
Contoso 的挑戰
- 工作負載具有專用於負載和效能測試的環境,其設定會密切模擬生產環境。 為了在環境中更密切地模擬類似生產環境的情況,當測試環境重設時,每週一都會將生產資料庫的全新複本載入至測試環境,其中所有使用者的敏感性資料都會經過匿名處理並加上遮罩。
- 資料庫載入指令碼是由未妥善記錄或遵循其他最佳做法的前開發人員所撰寫。 該指令碼的執行速度緩慢,且不會正常處理錯誤或失敗的情況。
- 最近,隨著生產資料庫成長,該指令碼的執行時間越來越長且經常失敗。 這些延遲和失敗影響小組執行測試回合的能力,並導致開發排程的延遲。
套用方法和結果
- 小組決定必須重寫此工具,以符合用來開發核心應用程式程式碼基底的標準開發做法。 小組將遵循業界公認的最佳開發做法,包括適當的安全性和適當的錯誤處理。
- 效能已改善且功能已經過重新設計,因此不論生產資料集的大小為何,它都會產生可預測的執行時間。
- 透過以同樣嚴謹的方式對待自動化與核心應用程式程式碼基底,並套用 WAF 原則和建議,小組已針對可靠性、安全性、效能、成本和作業將其最佳化。