專案挑戰:
- 自動擴張運算資源
- 應付時段性高峰流量
- 降低系統管理成本
社群洞察 (Faninsights) 主要服務項目是協助企業以及政府機關導入客製化ChatBot,再從使用者操作 ChatBot 的行為中蒐集行為數據,並以此改進ChatBot的使用體驗。
初期 Faninsights 將行為追蹤系統,佈署在國外知名主機商的伺服器,雖然伺服器資源高低可透過介面調整,但因為系統無法自動化擴張,每次遇到不可預期的流量高峰時,系統維運人員都需要手動增加伺服器資源,但往往因為來不及調整運算資源,導致伺服器無法負荷龐大的資料湧入造成數據蒐集作業中斷以及丟失珍貴的用戶行為資料。
將服務容器化並導入Google APP Engine 運行,達成資源自動擴張及成本優化
經 cacaFly 雲端智能中心工程團隊與 Faninsights 多次討論規劃後,Faninsights 決定將當前的 ChatBot 系統架構遷移至Google App Engine 運行,並由 cacaFly 雲端架構師協助規劃並且將當前服務容器化後進行搬移作業。Google App Engine的高可用性及可自動擴張的特性讓Faninsights的維運團隊在流量高峰期時不再需要手動調整運算資源,工程師有更多的時間專注於數據分析及系統優化,也因 App Engine 僅在服務觸發時才計費的特性,讓 Faninsights 在遷移前後相差了50%的成本支出,整體成效上都有大幅度的改善。
透過 Google Cloud Pub/Sub,解決資料庫效能瓶頸
cacaFly 工程團隊同時發現舊系統效能負載瓶頸在資料庫的連線數量不足,為了解決這個問題,Faninsights 採納了cacaFly 雲端架構師的建議,導入 Pub/Sub 作為服務端與資料庫的中繼站,透過 Pub/Sub 讓用戶行為數據先以佇列的形式暫存在不同的主題(Topic),再定期將主題內的資料一次寫回資料庫,相較於導入前每一比資料都需即時寫入資料庫的情況,大幅改善因為資料庫連線數太多而導致系統當機的情形。。
「 App Engine及 Pub/Sub 的結合,以具有成本效益方方式,完美的解決了我們的痛點,也因為 cacaFly 工程團隊的協助,讓我們遷移過程相當順利。」
Jerry Wu, CEO of Faninsights