昨天講了網站的運作,今天換來說說伺服器的種類
圖片來源:Google Cloud
科技日新月異,網路上有非常多種 No Code Website Builder,現在要架一個網站其實可以不用寫任何一行 Code,就能打造出美美的網站。WordPress 應該是最常見的架站工具了吧,不管哪種雲服務都會提供給你用。如果 WordPress 還是太複雜,那 Notion、HackMD 筆記軟體也是放部落格文章的一種選擇。
靜態網站,只有 HTML、CSS 和 JavaScript,沒有後端也沒有資料庫,純前端的話可以放 GitHub Pages 免費使用,不過要注意一下限制就是了。
這個就包括了後端程式與資料庫,也有免費的服務,關鍵字 Free Web Hosting,可以做會員登入,但是你動不太到伺服器的設定,而且可能沒辦法讓程式一直不斷運行,程式是被動被 Apache、Nginx 執行的,有支援 CGI 的程式語言就可以放上去運行 (ex. PHP、Java、C#)。
前兩者應該都能算是這種,不過這個比較偏向事件驅動,也就是說發生什麼事情就會去執行某隻程式,這個也是只能執行腳本程式,比較具代表性的有 AWS Lambda、Cloud Functions、Google Apps Script。
PaaS (ex. Heroku、Vercel、GAE) 則是可以執行 Runtime 常駐程式,也就是有一支程式啟動後就一直跑不會停,程式本身就是伺服器,不需要裝 Apache、Nginx,常見的程式語言是 Java、Node.js 和 Python。
CaaS (ex. ECS、EKS、GKE、AKS) 這算是 PaaS 的一個變體吧,伺服器的設定全都包在容器(你可以想成是整個電腦系統)中整包一起上傳上去執行,所以運行環境是可以自己決定的。
IaaS (ex. VPS、EC2、GCE) 虛擬機服務,比容器化服務有更多的控制權,可以把它想成就是一台真正的電腦,你想直接把系統重灌都可以。
最後最後一種是實體伺服器,雲服務這麼方便的情況下,通常不會選這個選項,因為這個真的是又貴又麻煩,唯一的優點也是最大的缺點就是連硬體都由你全權處理,在比較大型的公司才有可能出現這個選項。
這次鐵人賽我打算買(租)一台 VPS 來玩玩,明天就來註冊 AWS 並且建立一個 EC2 的執行個體 Instance。