為什麼自動化機器人還是會有運維工作

Soleil Software Studio, Inc.
3 min readDec 31, 2019

--

當導入了自動化機器人服務,它是可以每天在對的時間運轉,正常的跑情況下可以解決 95% 以上已經安排好的任務,但是總工作量 5% 不是那麼順利的『例外』事情。

在過去幾個月觀察客戶的專案,會發生幾個類型以至於有些天數沒有 100% 完成。而這些類型事後來看,有些可以透過更好設計升級來解決,有些則是透過更好資源來處理,而有些則是隨著時間,外部系統的異動而受影響。

在講述一下發生問題的前提,已經確保程式本身是穩定版,不會程式 if/else 或者 null exception 等問題導致中斷,都是正常且測試驗收過。

數據量逐漸變大,執行逐漸變久

在開發測試甚至到驗收時候,為了讓它有效率,都會在測試環境或者模擬正式環境下去跑,這樣角度在觀察。數據量不多。而真正上正式生產環境後,資料會逐漸變多,商品每個每天都在賣,當初一個 for loop 一筆要花時間,在商品全部總合下來,一個程序跑過久,就會很容易產生不可控導致它中斷。而這樣程序就要在重複跑再重複跑,而且重複跑已經跑過,是會沒有效率。

外部系統升級,連接的程式要配套維護升級

因為許多資料是來自於外部系統,或者我們要把資料送到外部系統,外部系統服務不一定都有 API,API 管理本身有管理機制,它會考量到現在發行以及公告何時要汰換。但是因為某些外部系統是只有提供 Web 頁面,而我們程式又是透過非侵入方式去介接,而外部系統 Web 頁面會隨著產品迭代而自己升級,也不會有公告。所以機器人就會碰到卡住,查看錯誤日誌一路追朔才知道系統 Web 改版了。也需要搭配維護升級。

系統資源分配

機器人裝在哪個系統上很重要,雲端服務都是有 on-demand 機制,用多少開多少,相當方便,而且具備很多運維工作,但是使用這樣機制也是會有帳單。所以有些客戶會選擇說我要裝在自己公司裡面的某一台機器服務器上,每個月不會有雲端帳單產生。而機器人怎麼裝在這服務器上,服務器的穩定度,以及服務器本身會不會面臨作業系統升級,磁碟硬盤會不會滿,這些也是那台機器本身管理不能少的。

機器人版本升級

像數據量大可以透過系統升級,來將 for loop 裡面運轉邏輯拆解成更小單位程序,然後透過主體將 for loop 每一個要執行信息包裝,丟進消息隊列裡面,讓眾多個程序機器人接收與執行,數據總量除以每個機器人執行單筆秒數,然後再除以同時開設幾個機器人,就能計算出一批要多久時間。而開設機器人的量也取決於系統資源申請與使用,兩者緊密關聯。

長遠的規劃

如果時間與預算允許,可以安排檢查程式,讓它取代運維工作要檢查的內容,可以快速挑出完成度,以及哪邊還有缺失需要人力做判斷。觀察執行時間花費統計也很重要,一天一份,這樣也可以額外增加資料成長以及系統環境穩定性的分析。報告顯示今天的自動化程式機器人做了多少工作,花費了多久時間,是否一切都妥善安排了。

--

--

Soleil Software Studio, Inc.

Focus in cloud developing and operating with microservice. Bring client business process automation. Every data connect has its worth.