有了 Dockerfile 之後,就可以準備把 To-do List API 部署到雲端上了!今天一樣會先分享一些雲端部署的內容,明天就會讓 To-do List 走上雲端了~
雲端部署是現在開發中很重要的一環,了解雲端部署的概念和做法,對之後不管是個人要做 side project 或是工作技能提升,都很有幫助!
今日大綱:
「 雲端部署 」就是把原本在本地端開發好的應用程式或服務,放到雲端主機/平台上執行,其他人只要知道你的網址,都可以使用你的服務。(全世界都能訪問)
它把本地開發環境轉成公開可存取、可監控、可伸縮的線上服務了。
也就是說,要把原本的網址:
http://localhost:8080
變成:
https://your-domain.com
為什麼要部署雲端上呢?
主要是可以讓我們開發的服務/產品:
目前雲端開發有幾種比較裳見的方式:
類型 | 範例平台 | 特點 |
---|---|---|
PaaS (平台即服務) | Render、Railway、Fly.io、Heroku | 部署簡單、不用管理伺服器 |
IaaS (基礎設施即服務) | AWS EC2、GCP Compute Engine、Azure VM | 彈性高、可自訂環境,但維護成本高 |
容器化平台 | AWS ECS / EKS、GCP Cloud Run、Docker Hub + Render | 適合微服務架構,支援 CI/CD |
Kubernetes | GKE、EKS、AKS 或自架 k8s | 企業級多服務管理、彈性、管理能力強 |
上述的類型學習曲線為 PaaS 最容易;Kubernetes 較高。
而 To-do List 專案選擇的部署方式就是 PaaS 服務裡的 Render,可以快速部署,了解雲端上線的過程,對於小專案來說很夠用~
大家可以依照自己的開發需求來選擇對應的雲端服務,讓效益最大化。
把專案部署到雲端也有一些要注意的地方,畢竟雲端平台是一個讓我們放服務的地方,所以除了基本的機敏資料不要上傳之外,也會有一些雲端平台本身的維運成本或是開發上要留意的地方。
以下會列出幾個注意項目:
【 開發上 】
.env
檔案不要打包進 Docker image:這部分在 Docker 章節也有強調過,所以真的是非常重要!-env-file
在 run 時掛載。EXPOSE
或是環境變數中指定,而且要記得與平台的設定一致!【 雲平台上 】
把最新的 To-do List 專案先上傳到 Github 上做準備。
然後先到 Render 官網註冊帳號,明天就可以直接開始我們的部署流程。
Render 官網:https://render.com/
另外,附上一篇介紹 Render 的詳細文章給大家參考:https://ithelp.ithome.com.tw/articles/10255630
大家有興趣可以看看~