GCP 錦囊妙計:這五招告訴你如何節省時間與花費

ga-budget

應用案例:透過 Google Analytics 調節廣告預算。圖/CC0授權,Sstocksnap

作者:李振皓(現就讀於台大電機所)

您的雲端資源都怎麼管理呢?是否每分錢都精打細算?雲端服務要用的好,也要用的巧,部屬與管理方式的不同,將會大幅的影響成本與花費。例如在 Google Cloud Platform(GCP)上,您可以根據機器類型選擇合適的計費方式,透過自動擴展(Auto Scaling)機制動態的調節使用量。不過除了基本招式外,GCP Blog也提供幾招小技巧,本文將透過實際的操作與經驗,與大家分享這些省錢妙招!

參考 GCP提供的 VM建議

最近使用 GCP的時候,有沒有發現多出了推薦訊息呢?是的,在這個巨量資料的時代,數據分析不僅被用在廣告投放、預算估測,也被應用在各種推薦服務上。GCP 會根據 VM使用情況,觀測 CPU與記憶體的使用率,替您找尋合適的機器類型,告訴您如何節省開支。

gcp-vm

GCP 提供的 VM 建議。圖/截圖自GCP

在 Google Console上有一個「建議作法」的按鈕,功能預設為開啟,不必做任何和設定,經過 24小時的使用分析,就會在下方看見推薦說明。如果覺得建議不錯,只需要輕輕地按下套用,GCP 就會幫忙轉換機器類型囉!

gcp-instance

透過建議作法調整執行個體大小。圖/截圖自GCP

 

使用管理工具 Google Cloud Shell

平時您都怎麼管理雲端資源的呢?除了使用 GCP的圖形介面設定外,是在 Windows上透過 Putty?還是在 Linux透過命令列(Command Line)?這裡推薦大家一個更為方便的工具:Google Cloud Shell,您可以在 GCP的右上角發現它的蹤跡,開啟後,能直接在瀏覽器下方編寫指令。

gcp-shell

使用 Google Cloud Shell。圖/截圖自GCP

Google Cloud Shell 就像個小型 Container,它提供 5GB 的家目錄空間,您可以將一些測試檔案放置於此。除了使用 gcloud 管理資源外,內部預裝了許多常用工具,比如 Docker、MySql client、kubernetes等,也提供 Java、Go、Python、Node.js、PHP、Ruby等環境與工具,方便開發者運行程式。

自行定義機器類型

與 AWS相比,GCP提供您更自由的選擇,可以透過客製化類型(custom type)自行定義規格。在某些使用情況下,使用客製化類型可以節省超過 50%的花費,核心數量提供 1個 vCPU至最多 32個 vCPU,而每一個 vCPU最多可以配置 6.5GB的記憶體。

custom-type-machine

自行定義機器類型。圖/截圖自GCP

透過剛提到的 Google Cloud Shell,只需要一行指令,並選擇機器的部屬區域,就能輕鬆新增客製化主機。下圖我們新增一台主機包含 4個 vCPU,8GB記憶體。

gcloud-vm

透過 gcloud 新增客製化VM。圖/截圖自Google Cloud Shell

 

使用搶占式執行個體(Preemptible VM)

如果您的應用屬於批次執行的任務,或是具備容錯能力,不需要隨時進行運算,那麼可以考慮使用 GCP上的搶占式執行個體(Preemptible VM)。它很適合用在機器學習、數據運算或是網路爬蟲等需要大量資源的工作,儘管整體計算時間拉長,但與標準規格相比,最多可以節省 80%的花費。

preemptible-vm

搶占式執行個體示意圖。圖/截圖自GCP

透過 Google Cloud Shell 同樣可以很方便的建立。下圖在亞洲區域新增一台搶占式執行個體。

gcp-preemptible-vm

透過 gcloud 新增搶占式執行個體。圖/截圖自Google Cloud Shell

 

有效率的新增儲存空間

雲端服務通常面對的是大量資料,這些資料會不斷的增長,需要動態得擴充儲存空間。在 GCP 您可以透過 Cloud SQL存放關聯性資料,並且啟用「自動增加儲存空間」。如此一來,系統會自動檢查使用狀況,當發現空間不夠時,會以5GB至25GB的範圍自動增加儲存容量。如果您不是使用資料庫儲存資料,也能透過加掛傳統或 SSD硬碟的方式,增加 VM容量。而這些調整都能在執行期間完成,不需要關閉VM,不會讓您的服務中斷。

auto-scaling

啟用自動增加儲存空間。圖/截圖自GCP

透過這些小技巧,有沒有發現一些不必要的花費都省下來了呢!其實根據不同的應用環境,要挑選的服務與建置方式都略有不同。比如採用容器技術(Container)的方式達到更高的延展性,該怎麼調整機器的運作方式以降低花費,就需要結合 PVM以及kubernetes管理套件,並透過 Google Cloud Shell撰寫腳本達成自動化部屬。之後我們會再介紹如何使用 Docker與 Kkubernetes進行 Container管理,請持續鎖定 GCP專家唷!

參考資料:Six Google Cloud Platform features that can save you time and money

連絡我們