切換
舊版
前往
大廳
主題

【網站開發筆記】初探雲端巨擘Microsoft Azure和Google Cloud Platform

Amory | 2015-07-20 14:45:06 | 巴幣 10 | 人氣 6260


  初次見面的朋友初次見面,好久不見的朋友好久不見。
  上篇【網站開發筆記】初探Orchard CMS雖然寫了很多Wordpress的壞話,認為PHP+MySQL好像低人一等,但實際安裝好Wordpress試用後,發現Wordpress的反應速度似乎比Orchard CMS稍快,且Wordpress各種友善介面與豐富的資源讓人用起來舒服許多。於是用了幾日後決議……

秒 跳 槽

  雖說如此,用了用發覺Orchard CMS還是有其優點存在,那就是後台針對開發人員的擴充性較大,相較之下Wordpress提供了電腦白痴也會使用但限制較多的後台功能……當然這個說法見仁見智,一旦進入原始碼層面,兩者的擴充自由度似乎就沒有差別了。

  在進入Wordpress主題前,在此必須來提一下Azure。




  Azure乃微軟所提供的雲端計算平台,它與Amazon Web Services和Google Cloud Platform性質相同,不過後兩者我其實沒用過。

  與Azure接觸是在2013年,那時為了幫親戚開發網站,而必須尋找一個可以佈署ASP.NET的平台。事實上過去我已使用過各種免費網頁空間,但免費網頁空間最大的隱憂在於因為是免費的,它可以無預警終止服務,或是終止服務的通知信剛好寄到你不常用的信箱,讓你完全不知道服務要停止(詳見2010年的infoseek免費網頁空間服務終止事件,真讓我吐血。什麼,你說我為何那時沒有備份?還不是我笨,未勤於備份,硬碟也在那時剛好掛了兩顆)。即使採用名不見經傳的付費空間也不見得安全,難保服務供應商捲款落跑。但是微軟身為國際知名的大廠,即使有微軟黑總喜歡黑微軟,總該不用擔心這些問題了吧。


  要使用Azure相當容易,基本上只要具備微軟帳號開通Azure功能就好了。開通Azure需要輸入信用卡號碼預備日後扣款,但試用期間是不會被扣款,只會事先收到0元帳單。我申請信用卡就是為了使用Azure服務。

  Azure功能剛開通初期,每個帳號都可試用30天,30天擁有6300元台幣額度可盡情揮霍。記得以前試用期是三個月,不知為何現在縮減為一個月,真小氣!所以為了避免這30天白白浪費,一定要想清楚再開通Azure功能。

  Azure作為雲端平台,顧名思義是可在上面佈署Web APP、Mobile APP、SQL Server、儲存體與CDN等等……以及許多我都不知道幹嘛用的服務。對我而言,Azure是個架設網站的好地方,但近年來Azure已新增了Hadoop等機器學習服務,儼然就是個可跑學術實驗的好地方,僅拿來架設網站實在太浪費。無奈本人資質駑鈍,不知Hadoop要如何使用,不過在試用期結束前,我應該用範例好好試用一下Hadoop才對。


  Azure定價採取用多少算多少方式,並不像一般付費空間採固定月付制。
  以目前的規則,它的免費額度是:

  1. 最多可架設10個Web、行動或 API 應用程式。
  2. 硬碟總空間最多為1GB。
  3. 記憶體空間:1GB。
  4. 儲存體空間:1GB。
  5. 各項限制。

  這個額度看起來還滿少的,尤其是硬碟空間為自己所架設的所有應用程式共用,並非一個應用程式就有1GB的空間。不過根據之前幫親戚架設網站得到的經驗,如果你的網站是屬於小貓兩三隻、低流量網站,那麼你可能根本不會超過一個月的免費額度。如果沒有架設SQL Server,光是將靜態網頁擺上去,一個月使用費完全是零。這正是為何我向人推薦使用Azure,因為對於低流量使用者而言,Azure真的很划算。

  至於資料庫。如果有使用SQL Server,就一定要付錢的,且最少是153元,但月付153元對於一般使用者而言應該不貴。當然,如果是死都不肯付錢的守財奴,可考慮使用SQL Server Compact,那麼它就等於是一個普通檔案與網頁共存。抑或在虛擬機器上架設MySQL,不過虛擬機器似乎也是要付錢的。ClearDB有提供20MB的MySQL免費額度,它是專門提供給Azure或AWS的MySQL服務,不過20MB免費額度看起來好像只要Wordpress放一百篇文章就會超過了。

  在Azure上新增應用程式只要按新增就好了,同時組件庫內亦包含相當多套裝軟體,一鍵即可安裝完成,非常方便。其實我在Azure上架設Orchard CMS和Wordpress,都是從組件庫直接安裝。安裝完成後,儀表板上早已顯示好WEB應用程式的FTP位置、帳號和密碼,資料庫的連接字串,真的是非常貼心。

  順道一題,如果你要從SQL Server Management連接 Azure SQL Server,你必須將自己電腦IP加入Azure SQL Server防火牆規則中才可連接,否則你會一直收到錯誤訊息。

  你可能不知道WEB應用程式跟儲存體有啥差別,其實我本來也不知道儲存體是做什麼用的,後來我知道了。儲存體等同是另一個檔案空間,只是WEB應用程式是用來讓你擺放網頁資料,儲存體則是用來擺放圖片、音樂或影片等資料。通常網頁工程師可能會將網頁與圖片資料統統擺在同一個硬碟下,這是不對的,最好將網頁擺在WEB應用程式,圖片擺在儲存體,才不會浪費硬碟的1GB空間。


  Azure的資料中心如上文所示,每次建立新的應用程式都可選擇欲佈署資料中心所在位置。一般來說會建議佈署在距離最近的資料中心,例如東亞(香港)、日本東部(東京、崎玉)或日本西部(大阪)。雖然不同資料中心的遠近,經測試確實是有數毫秒的差異,但實際使用會發現……似乎沒什麼特別的差別,就算佈署在美國東部,其速度看起來跟東亞無異。

  但是,不知道怎麼回事,我發覺連上Azure似乎都會稍微慢了點。香港也沒離台灣多遠,怎麼速度看起來就是不怎麼快,即使是日本東部與西部也是如此。雖說這個速度還在忍受範圍,但網站哪怕是多等幾秒,感覺就可以把人給嚇跑了。

  於是我聽說Google Cloud Platform位於亞洲的資料中心是設立在台灣的彰化,速度非常快,所以是我試著使用了一下。不用還好,用了果真感受到網頁反應速度之快,是Azure的兩倍。於是……

秒 跳 槽

  雖說如此,Google Cloud Platform也不是沒有缺點。首先,Google位於亞洲的資料中心第一站雖然設立在台灣,並不代表語言都是中文,Google Cloud Platform上的文件語言目前都還是英文,與Azure有99%都已中文化相差甚遠。不過語言還不是什麼大問題(工程師看不懂英文也太遜了),再來我們看看Google Cloud Platform的介面……



  跟Azure的視覺介面相較起來,Google Cloud Platform非常精簡、陽春,你可能會說有功能就好了,視覺什麼不重要啦,那接下來你將會體會「找不到想要功能在哪裡」的困境。

  Google Cloud Platform跟Azure相同,皆提供一鍵佈署的功能,可能是Google Cloud Platform尚在起步中,可以選擇的佈署專案還不算多(雖不算多但還是有100個以上,而且多數為佈署於Linux為大宗的專案),不過兩者皆可佈署Wordpress。

  佈署專案時Zone請選擇asia-east1-a、asia-east1-b或asia-east1-c,三者應該都是在台灣。硬碟可選擇傳統硬碟或SSD,此時貪婪的我們當然會想選擇SSD,結果佈署時一直發生錯誤,把硬碟換成傳統硬碟才正常。我說SSD該不會都被使用者操壞了吧?!

  Google Cloud Platform的付費方式基本上也是信用卡自動扣款,隨用隨付。試用期兩個月,擁有300元美金可揮霍。這個額度看起來比Azure寬闊許多,不過考量到Azure功能較為豐富,也是可理解Azure縮減試用額度的原因。


  我目前暫時使用n1-standard-1的機型(付費類型)。其實我還不太確定Google Cloud Platform會花費多少錢,所以不太敢將Google Cloud Platform作為最終歸宿。Google Cloud Platform的計費文件上都是以小時為最小單位,假如n1-standard-1一小時需花費0.0165美金,一個月豈不是要花費0.0165*24*30=11.88美元= 369.563865台幣,感覺隨便跑一跑還會不小心跑出接近1000台幣的帳單,實在太可怕了。所以在試用階段,我先觀察看看到底會跑出多少錢,再決定該怎麼選擇計費模式,畢竟我們都希望能越便宜甚至免費越好。蟹老闆我認為月付台幣200元可接受,200元以上就要考慮了。


  當我們開設好虛擬機器,我們會希望能透過FTP管理內部資料。Azure在儀表板便直接給你登入FTP的帳號和密碼,但在Google Cloud Platform你可能會找了半天都不知道FTP的帳號和密碼是什麼,因為那是要另外設定的。



  連上FTP的方法如下:

  1. 首先安裝Cloud SDK
  2. 安裝好後打開cmd命令列
  3. 輸入gcloud auth login
  4. 第一次執行需設定專案gcloud set project amoryportal
  5. 自動產生SSH檔gcloud compute ssh wordpress-w4rh --zone asia-east1-a
  6. 下載FileZilla,打開Edit->Settings載入SSH檔
  7. 登入FTP的方式是SFTP,帳號為剛才登入虛擬機器帳號

  以上步驟看似簡單,我可是摸了半天才試出來,否則我本來還找不到Instance name是哪個,畢竟裡面有一堆名稱,而儀表板又很親切地將英文全翻成中文,害我反而找不到英文的Instance name在中文介面是指哪一項名稱。

  綜合上述使用經驗,可以得到以下結論:
  Microsoft Azure速度稍慢,最近機房在香港、東京或大阪,有免費額度。
  Google Cloud Platform速度最快,機房在台灣,無論怎麼使用似乎都要付錢。
  Amazon Web Services還沒用過,但看起來好像更貴。

  如果受不了月付額度的話,只能回去用Azure。
  網路上能找到的Google Cloud Platform使用心得文章還算少,我滿希望有人能分享一下Google Cloud Platform的使用經驗,特別是費用的部份。

創作回應

幻星闇影
碰不熟的東西的時候
最討厭的不是全英文
而是說明和介面的語言不一樣...
2015-07-20 16:58:24
Amory
這時就要發揮腦內自動翻譯的技能!XD
2015-07-20 20:31:42
lska011878
讀資安這些科目,看英文是家常便飯。現在我是學生時,上課時是使用英文版的windows
2015-07-21 00:34:43
xyaw
方便請教一下
你現在n1-standard-1 每個月多少錢嗎?
我剛試用兩天. 速度很快. 有意繼續用下去. 要知道大概每月的花費
2016-05-02 01:27:28
Amory
不好意思,其實我在這篇文章寫完,試用期用完後就沒在繼續用GCE了
因為GCE雖快但無論如何還是得付幾百元的基本費,相較之下Azure稍慢但在最低限度下每月只要付個位數的金額就好了 XD

https://cloud.google.com/compute/pricing#machine-note4

根據官網的估算,n1-standard-1每小時費用約為0.01~0.05美金不等
Preemptible
0.0165 * 24 * 30 = 11.88美金 = 385.5台幣
Full price without sustained use
0.055 * 24 * 30 = 39.6美金 = 1278.4台幣
Typical price
0.042 * 24 * 30 = 30.24美金 = 976.2台幣
Lowest price with full sustained usage
0.039 * 24 * 30 = 28.08美金 = 648.2台幣

月付總額價差滿大的,就看你是選擇哪一種類型
2016-05-02 07:57:04
追蹤 創作集

作者相關創作

相關創作

更多創作