Google Cloud OnBoard 是 Google 首次在台灣舉辦的大型 Google Cloud Platform (GCP) 訓練課程,由認證講師帶領大家了解 Google 雲端服務的各項重要功能。其中包含 Compute Engine, Container Engine, Cloud Storage, Big Query, Network 等等,每個部分都有搭配實際操作,淺顯易懂。一整天的課程除了收穫滿載之外,還能拿到 OnBoard 限定紀念 T-Shirt 以及參加證一張唷 (會閃閃發亮呢)
GCP 的發展將以 AI 為導向
Google 在2009年呼喊的口號是行動優先 (Mobile-First),希望讓用戶在不同地點、使用不同裝置都能有良好的體驗,而就在去年 2016 Google I/O 大會上,這項口號已經改為人工智慧優先 (AI-First)!在 AI這股浪潮上,其實不說也會發現 Google 推出的每項服務,都已經應用機器學習與人工智慧,像是 Inbox 的智慧回覆、協助你畫畫的 AutoDraw,語音助理 Google Assistant,相信未來這些服務也將越來越聰明。 而策略上來說,Google Cloud 將從過往主機代管、資料中心的定位,往全球化且彈性的雲端平台發展,進入全自動化的世代。希望更多的基礎設施與應用服務能整合起來,讓客戶有多種解決方案能考慮,消彌束縛感,成為毫不猶豫就選擇的平台。
GCP 的特色
Google 雲端平台最大的優勢就是價格便宜,有長期使用折扣,且最小計費單位為 10 分鐘,可以避免只是做個小實驗而造成的不必要浪費。如果只是自己做小專案,申請 Google帳號,拿個 300 美金就能暢遊各項基礎設施一整年,還可以使用機器學習 API,更棒的是 GCP上的虛擬機器已經支援 GPU 啦!
- 免費試用:提供 300 美元額度,讓你試用 12 個月
- 價格優惠:長期使用折扣,首創分鐘為單位的計費方式,還可以找代理商開發票
- 客製化:可以自訂機器類型,調整 vCPU 與記憶體的數量
舉例來說,在台灣機房 (asia-east1) 開一台 4 vCPU, 15 GB RAM, 100 GB SSD 的機器,搭配 1 張顯卡 (Nvidia Tesla K80),大概是 691 美金/月。只不過免費帳戶無法使用 GPU,付費用戶也沒有額外的長期使用折扣。
在 GCP上開設 GPU虛擬機器。圖 / GCP Console
GCP基礎課程
會議講者為 GCPUG的蘇胡二人組,感謝 Su 大大詳細的介紹,以及 Hu 大大幽默逗趣的 Demo Time。詳細的課程內容,都可以在 GitBook 上看到,這本由 GCPUG 成員共同撰寫的 Google Cloud Platform in Practice,從簡單入門的觀點出發,搭配實際操作案例,讓你能快速了解各項功能的使用方式,未來也會出版成實體書唷!
GitBook - Google Cloud Platform in Practice
裡頭的內容已經很詳細了,以下就節錄當天聽到的重點以及一些使用技巧
1. Google Cloud Account
在帳號類別上,GCP 有四種 IAM (Identity and Access Management) 角色,比較特別的是 Google Group 群組,讓你一次管理多個帳號。而至於權限管理階層的訂定,就如同其他服務一樣,有擁有者、編輯者、檢視者與收費管理者,可以指定某些帳號專門付款。
- Google Account 個人帳號
- Service Account 應用程式帳號
- Google Group 群組 (把多個人的 Email 加到此群組,以後只要使用這個帳號就能批次管理所有群組內的人)
- Google App Domain 工作帳號 (私人企業或組織加入 Google Apps 所擁有的自訂網域帳號,比如交通大學 G2 信箱就是 @g2.nctu.edu.tw)
2. Google Cloud Shell
Cloud Shell 是一個非常佛心的工具,讓你能在網頁上直接下指令。使用時,GCP 會幫你開一個暫時的 VM,擁有 5 GB 儲存空間,預裝好 Google Cloud SDK 以及各種語言的套件 (Java, Python, Go),甚至連 Docker, K8s 的指令都有了。除了終端機的功能,還能遠端編輯程式,甚至開啟瀏覽器預覽網頁! 點擊 GCP Console 右上角的終端機圖示開啟
左1提供瀏覽器預覽網頁,左3則是能開啟文字編輯器
透過線上編輯器就能直接修改檔案
3. Google App Engine
Google App Engine 是 PaaS 服務,開發者只需要專注於應用程式開發,不用處理底層的機器運作,系統會根據流量進行自動擴展。就如同 Openshift v2,GCP 除了固定版本的 App 外,也有提供自訂 App 的功能,這裡稱作 Flexible Environment。
- Standard Environment:支援 Python, Java, PHP, Go
- Flexible Environment (目前 Beta):可以使用 Docker image 或 Dockerfile 進行客製化,部屬時間較慢 (Dockerfile 建置需要時間)
4. Google Cloud 儲存空間
GCP 上的儲存空間有以下五種,包括 SQL、NoSQL、物件儲存空間,以及最新的 Cloud Spanner
- Cloud Datastore:NoSQL,TB 級,適合當作應用程式後端資料庫
- Cloud Bigtable:NoSQL,PB 級,適合存放讀寫需求高的大量資料
- Cloud Storage:BLOB 物件儲存空間,PB 級,適合存放檔案與備份
- Cloud SQL:MySQL 與 PostgreSQL (Beta),上限 10 TB,適合存放關聯式資料
- Cloud Spanner:源自於 2012 年的論文,結合 SQL 與 NoSQL 優點的全球級分散式資料庫
Google Cloud Spanner 介紹影片
5. Google Container Engine
Google Container Engine (GKE) 背後使用的是 Google 開源項目 Kubernetes (K8S),是一套 Docker 群集管理系統,由 Google 工程師主導開發,類似 Docker 官方的 Docker Swarm。下圖是在 GCP 建立容器叢集的畫面,直接設定 VM 數量與規格,等不到一分鐘,環境就建置完成了!
在 Google Cloud Container 建立容器叢集
6. Google Compute Engine
這個就是傳統的虛擬機器 (VM),特別的地方是 GCP 提供客製化規格 (前面已經介紹過),且系統會根據使用情況給予建議,比如選擇何種機器類型會更省錢。如果想要在 GCP 試玩虛擬機器,可以參考之前的這篇文章:
[教學] 在Google Compute Engine上架設Server
使用 GCP進行大數據分析以及機器學習
會議的最後,由 Google 工程師帶來人工智慧與機器學習的介紹。目前可以在 GCP 上看到六個相關的 API,條列如下:
- Translation API:將文字翻譯成不同語言
- Nature Language API: 自然語言處理,可以抓出文字中的實例 (Entity)、情感評分以及句法分析 (Parsing tree)
- Job API:協助求職者尋找工作
- Speech API:支援超過 80 種語言的語音轉成文字
- Vision API:根據圖片中的 Logo、文字、顏色分佈等等訊息提供標籤,如果是風景照還可以抓出地點
- Video Intelligence API:用來辨識影片中的物體,可以做影片搜尋
於是我傳了一張湯姆與傑利的圖片上去,真的辨識出 Tom and Jerry 耶!
使用 Google Cloud Vision API 辨識影像
另外一部分是使用 DataLab 這個工具示範怎麼使用 TensorFlow 進行深度學習,基本上 DataLab 其實就是 IPython Notebook,只不過 GCP 把他整合到平台中,方便你直接在線上操作資料。其實還有許多有趣的應用案例,有機會再與大家分享,這回就先在這草草結束,之後再做些補充!謝謝大家收看,苦命的做實驗去 QQ