Angular架設篇 Firebase Hosting &AWS Amplify
Angular其實寫出來的算是靜態的JavaScript網頁,這邊大概講一下我曾經使用過的雲端AWS和現在在使用的GCP要放在哪裡最划算。為了Angular架設一個VM絕對是不妥的,因為VM要維護,且VM成本較高。
先說本篇只是訊息提供,不包含架設教學。
AWS Amplify
AWS有一個服務叫AWS Amplify,這個服務很適合架設靜態的網站在上面,且可以很容易的給予一個自定義的網址。
收費模式也比架設EC2來得便宜,尤其如果網站不是24H都有人不停瀏覽的,Amplify會節省掉EC2很多浪費的開機時間。
它的收費模式是使用多少付多少,不像EC2是固定的費率,所以如果程式不是使用非常頻繁且檔案非常大,EC2多半費用會比較高。
Firebase Hosting
Google Firebase Hosting是可以連動到GCP去出帳,然後它的收費也是使用多少付多少。
且似乎有一定的免費額度(畢竟我不是推銷,所以我懶得查),目前我們公司的Angular站點都是使用Firebase hosting我查看費用紀錄並沒看到有出帳紀錄,可能使用的流量和檔案大小都太小了。
Firebase Hosting也可以不用擔心伺服器的維護,因為是完全託管的,可以給定自定義的網址會幫忙弄SSL憑證。設定第一次要30分鐘在SSL的佈建上面。
這兩個哪個好?
兩個其實是不同雲端的選擇,我說真的不知道哪個比較好,因為有個人喜好因素在裡面。
我個人是喜歡Firebase Hosting 只要下載Firebase CLI,然後用firebase deploy就可以上傳上去。當然在那之前要先firebase init…..的步驟,官方有很完整的說明。
AWS Amplify直接有GUI可以上傳,可以覆蓋檔案、刪除檔案。Firebase的覆蓋檔案比較像版本覆蓋這樣,可以Rollback到之前版本。
結論
不要輕信網路公司說Angular要架在虛擬機器的網頁伺服器上,有時候混搭也是一個好辦法( Firebase + Cloud Run 之類)。如果有人說要為Angular開一台虛擬機器,除非他有很好的理由,不然他大概故意或不小心不會計算成本。
因為Angular傳給API的IP是用戶端的IP,也就是使用的人的IP,所以開一台虛擬機器也沒辦法讓API只開放固定IP。所以我不知道開虛擬機器有哪點好處。