機器人流程自動化(Robotic Process Automation, RPA)顧名思義,藉由開發腳本機器人程式,讓軟體和硬體能以高度自動化的方式運作,常見於需要重覆、循環性的工作;而DevOps具有周而復始的循環特性,且需要靠自動化的流程達到CI/CD(持續整合暨交付),有望為RPA提供發展的舞台,讓RPA成為自動化DevOps不可或缺的幫手。
RPA與DevOps的整合
RPA可藉由編寫腳本機器人的方式,讓機器人能全自動運作;而在DevOps環境中,包含系統問題分析、帳戶權限權管理、資料隱私管理、效能監控(負載平衡、流量等)、自動化檢核、工作流程自動化等等,若藉由高度自動化的RPA系統來輔助,可節省人工作業的時間、提升作業效率和精準度,達事半功倍之效。
RPA在DevOps的應用效益
RPA能在DevOps專案中扮演具有貢獻的角色,並減少繁複、耗時的重覆性工作。例如PDF掃描轉檔,傳統人工需耗時10到12分鐘,而採用RPA後可縮短為兩到三分鐘,甚至能夠進行需要額外人工作業的自動縮放和影像清晰化處理;另外RPA也能在DevOps進行多工作業,例如IPM(整合式專案管理)、BMC Remedy服務管理工具、SharePoint共同作業管理等,RPA機器人可串接這些工具的流程,將SharePoint的請求傳達到IPM自動執行,並將執行結果以電郵發送給DevOps團隊成員,可省下軟體整合、人員協調的繁複性。
小結
RPA除了可在開發端提升CI/CD的效率以外,也能在維運端進行即時監控、即時回報、即時反應,促成開發和維運兩端更密切、更頻繁的協作,甚至能將更繁重的任務以RPA代勞,在一天內進行更多的任務且減少人為失誤;日後將進一步結合自動化測試、自動化部署,可望達到一鍵化、一貫化作業,提升敏捷開發的產能和良率。