摩哈特:以健身紀錄為核心的 APP,透過互聯網,形成強大的「專業協作體」,以達成教練-教練 (水平)、教練-學員 (垂直) 之「專業轉移」,提升教學品質和服務,累積高價值的大數據,創造更多新的商業模式,最終達成整個健身產業的全面升級。
挑戰
- 後台管理系統時沒有完整的 CI/CD 開發流程。
- 當開發新功能或修正 bug 完成,工程師需手動執行 unit test ,自行打包程式碼,再寫 JIRA Issue請求 MIS 幫忙部署到後台伺服器中。
- 開發完成到用戶功能性測試的時程拉長。
- 得到 APP 用戶回饋的時間也拖長,不利於摩哈特對用戶的服務。
解決方案
利用 CloudFormation 建立一個專案骨架,透過 CodePipeline 整合 CodeCommit,CodeBuild,CodeDeploy 建立完整 CI/CD 流程,並將摩哈特的 code base 上傳至 CodeCommit,之後摩哈特開發新功能或修正 Bug 後,只要送上 CodeCommit 後即可觸發一連串的整合、測試、部署流程,大幅縮短開發部署時間,使摩哈特更能應付多變的用戶需求。
執行效益
- 開發人員修改系統後不再需要手動執行測試,增加開發效率。
- MIS 人員不必再手動部署,增加工作效率。
- 在測試與部署流程中降低人力的介入,可減少人為錯誤的產生。
- 整體測試部署時間由以前的 5 小時到一天縮短為 1 小時以內。
- 銓鍇國際 CKmates 協助摩哈特導入 CI/CD 的開發流程時,都是基於 CloudFormation 達到快速部署的效果,故摩哈特需要擴張服務範圍時,再次部署 CloudFormation 到摩哈特想到新的 Region 即可達成效果。
未來展望
- 若摩哈特未來有改進需求,可以協助引入 Lambda 功能,將部署、unit test 結果、部署許可等各項通知引入給摩哈特的團隊通訊平台,加速部署程式的速度。
- 摩哈特希望使用 API Gateway + AWS Lambda + DynamoDB 以 Serverless 方式實作系統部份功能。