AWS Game Day 2018

每年科技界巨頭發佈新產品,都會舉辦一連串大型活動及展覽,作為雲端運算服務佼佼者的AWS (Amazon Web Services) 亦不例外。今年AWS在香港舉辦了 AWS Summit 2018,推廣旗下雲端運算服務,GT派出多位同事參與為期兩天的活動,包括AWS Game Day、Conference 和 Workshop 等。

其中7月25日舉行的 AWS Game Day 2018 香港站,多家香港科技公司及大專院校均有派員參與此盛事。System Analyst Sunny Chung以及Java Developer Kevin Lam今次就同大家分享代表GT出賽嘅經驗。

當日活動以四人組隊的形式進行比賽,參賽者需要在限時 4 小時之內透過使用 AWS 雲端運算服務幫助一家處於困境的公司解決 5 個難題。參賽隊伍遞交的解決方案會由獲自動化程式評分,測試其準確性、安全性等,答錯扣分,答對以質素給分,得分最高者勝。活動期間有AWS 軟件工程師提供基本協助,並設有顯示板顯示各隊即時的得分和排名,比賽過程相當刺激。

尋找失蹤的 CEO

當天其中一個難題要求參賽者建設一個後台服務,從不斷上傳的社交圖片中尋覓該公司的老闆,當中牽涉人臉辨識 (Face Recognition)、機器學習 (Machine Learning) 領域,要在短短數小時內完成,而且只能遞交一次,不容出錯,非常具挑戰性。題目提供了半完成的程式碼和數張老闆的相片。透過題目提示,我們發現 AWS 提供了一個基於深度學習技術 (Deep Learning) 的影像和影片分析服務 — Amazon Rekognition,可利用 AWS Lambda 和編寫後台程式碼建設無伺服器 (Serverless) 後台服務,並以 Amazon SNS 將結果通知比賽評分系統。困難的地方是,由於事前從未用過這些 Amazon 服務,同事花了不少時間理解各部件及其原理,設計一個可行的運作流程方案,才能編程串連起來,解決問題。

為解決這道題目,GT隊伍首先建設了以下架構,編程把數張老闆的相片從 Amazon S3 匯入 Amazon Rekognition,以訓練影像分析模組。我們透過 AWS Lambda 的「測試」功能直接觸發一次性的訓練程式,用完即棄。

然後,GT隊伍建設了另一套架構,從外部經 S3 接收源源不絕的圖片,觸發先前編寫並放置於 Lambda 的程式。這程式會把圖片送往 Rekognition 辨識圖片特徵,比較已訓練的人臉集 (Face Collection),如有發現就將結果經 SNS Pub/Sub Messaging 服務通知比賽評分系統。

一個良好的程式開發員,必須妥善地測試自己的程式。在遞交之前,GT隊伍建立了另一個 S3 儲存貯體 (Bucket) 和另一個 SNS 接收服務作測試環境,以同一架構測試整個流程。

最後,經過多番努力和測試,GT代表成功通過了這道題目,從 20 隊中成功脫穎而出,奪得全場第五名!

GT有8位同事參與AWS Game Day,獲得全場第五名。

活動得著

是次的AWS Game Day 令參加者能在短時間內認識並熟習不同可擴展性 (Scalable) 的 AWS 雲端服務,涉獵大數據 (Big Data)、持續整合/持續交付 (Continuous Integration / Continuous Delivery)、無伺服器 (Serverless)、影像辨識 (Image Recognition)、機器學習 (Machine Learning) 等範濤,而這些服務都是大型項目需要接觸到,對於 AWS 入門者來說,是一次寶貴的實戰經驗,也能把這些元素嘗試融入其他項目的後台架構設計。

另外,參與這些活動能跟其他來自不同背景的技術員交流切磋,與市場接軌,絕對值得一去!只想一窺雲端運算服務趨勢的人,透過參加 AWS Summit 的講座,也能了解各種現時普及的技術和來年在全球推出的服務,包括 AWS 提供的 Kubernetes 服務 — Amazon EKS。值得一提的是,這些活動都是免費的!