雲端計算初探

今時今日講雲端技術,大家都不會陌生。但是我們平日講雲端多數是指像 Dropbox 一類的雲端儲存 (cloud storage),或者是 Gmail 那類雲端應用 (cloud application)。其實雲端技術還包括雲端計算 (cloud computing),就是在雲端伺服器上執行運算程式。我最近就學會了一項新技術,用 Google 的雲端計算平台 (Google Cloud Platform, GCP) 來執行自己的運算程式。

為了取得知道粵語頻道的詳細播放量變化數據,我早前Python寫了一個程式,程式會到喜馬拉雅網站擷取播放量數據,再把數據交給另一個 R 程式進行分析及繪圖。我為兩個程式進行了排程,每天定時執行,把整個過程自動化了。但是這樣一來,我必須長時間開著電腦,否則程式便不能執行,有好幾次因此誤了時間。

Screenshot from 2018-08-01 08-35-57

為了解決問題,我學會把用來拮取數據的 Python 程式搬到 GCP 上排程執行。我設定了 GCP 的電腦運行 Ubuntu 18.04 作業系統,跟我平時用的桌面電腦相同,因此沒有太大難度。由於 GCP 不會關機,這就等於有一部雲端電腦24小時不停替我工作,這樣我便可以確保程式準時拮取數據。當我要查看播放量的數據時,只需輸入一句簡單命令,程式便會從雲端下載數據檔回到自己的電腦,並交給 R 進行分析及繪圖,繪出來的圖表會自動儲存為PNG格式。圖為執行下載及分析程式的情況。

當然雲端電腦並不真的在雲端,它只不過是別人的電腦。所謂在 GCP 執行程式,說穿了就是遙控另一部電腦替我執行程式。除了用來定時從網上拮取數據,我也可以用來執行其它程式,例如我大學時經常運行遺傳演算法 (genetic algorithm) 的程式,或者我最近學的神經網絡 (neural network),就可以改用雲端執行,不必佔用自己電腦的資源。其實這也不是新技術,類似的做法在Unix的世界已經存在了數十年,只不過要找一個又可靠成本又低的方案並不容易。GCP 是按用量收費,我申請 GCP 戶口時獲得了300美元的免費用量,只要不超過這個用量就不用付費。學會了這麼好玩的玩具,希望不久的將來可以用來做些有趣的事情。

About the Author

發表回覆

你的電郵地址並不會被公開。 必要欄位標記為 *