Google Cloud Platform
也就是Google雲端平台,簡稱GCP
提供架站的雲端服務,與VPS不同
雲端平台提供給你的服務是由一大群硬體串接起來
所以不用擔心擴充、運算問題(只要有錢的話XD)
GCP提供了300美金的試用金,所以雖然雲端服務會比VPS還貴
但是練習的時候可以善用GCP的試用金,體驗一下雲端服務的好處
GCP是google 雲端服務的統稱,但是下面有很多內容
假設今天我們用rails在本機端寫好了一個專案
需要部署的時候,有幾個選項
- 去買一台真的伺服器,申請真實IP與網路流量、在上面安裝linux、建置語言環境等等。
- 上網在遠端租一台主機、或使用VPS、Cloud Computing等方式,遠端建立VM(虛擬主機)的概念,然後再建置語言環境。
- 直接找像是Heroku這種,已經幫你省去建置環境的步驟,你只要把專案準備好,推上去就work。
像是2跟3這種遠端的服務,GCP都能包辦
這邊要談一下 GAE GCE GKE及對應的SAAS、PAAS、IAAS概念
參考來源
Google Compute Engine
GCE屬於IAAS(Infrastructure as a Service),也就是營運商提供給你運算力,讓你去處理自己的VM(虛擬機器)。
對應到其他廠商的服務,像是 AWS Elastic Compute及Microsoft Azure都是屬於這類型的模式
這種的好處是彈性很大,譬如你可以處理自己的load-balancing設定、客製自己所需要的CPU、RAM條件。但這個優點也是雙面刃,彈性很大就代表使用者需要處理很多問題,對於新手來說,誰知道我的服務到底需要哪種CPU。
Google App Engine
GAE屬於PAAS(Platform as a Serivce),代表營運商把你建好了環境(平台),你所需要做的事情,就是做好你的專案然後推上來。
對應到其他廠商的服務,像是Heroku、AWS Elastic Beanstalk。
好處就是省麻煩(對應到GCE),缺點就是比較貴。
簡單來說,GAE就是“Bring your code, we’ll handle the rest”
Google Kubernetes Engine
GKE、開源K8S技術、過去稱為Google Container Engine
簡單來說就是把所有東西都整合在一起,可以整合不同的虛擬環境、整合多個應用程式、網站
目的是共享資源(由主端點控管資源、提升效率),而且另外一個好處是溝通順暢(可以理解成多個應用程式在區域網路內溝通)
下一步 我們稍微介紹一下GAE與GCE部屬RoR的過程
上面這個連結是GCP部屬rails的說明網頁
database建議採PG或Mysql
基本上教學都滿仔細的,應該不會有甚麼大問題
先講GCE
在官方的教學中,會用Cloud Storage bucket+ GCP repository+GCP SDK
來完成部屬的過程
因為已經手把手了,就直接照著做就可以~
另外一個方式不依賴GCP的服務
直接建一個Ubuntu,透過cosole來處理環境的問題
選Ubuntu是因為Alphacamp用Ubuntu作教學拉哈哈~
https://read01.com/zh-tw/J06nO7.html#.WvgqmYiFOUk
下面提供申請帳號的參考(從申請帳號到選Ubuntu)
(裡面也教你透過或不透過SDK來控制自己的Ubuntu遠端)
建好了Ubuntu之後,再來的步驟
當然就是安裝Ruby、MySQL(或PG)、NGINX&Passenger
最後再使用Capistrano自動化部屬
再講GAE,GAE當然比較簡單
就想像是Heroku這樣就好
按照條件包好
然後 gcloud app deploy
搞定~
其實用GCP+Ubuntu算是滿友善的環境
因為大多人使用Linux coding都是選Ubuntu
(只是對於新手滿硬的QQ 像我都是先用OSX寫 但是碰到VM就很頭痛)
這篇先降~