二、AWS 部署與開發服務重點整理
一句話先講:
CloudFormation / CDK 管基礎架構,Elastic Beanstalk 管快速部署,Code 系列管 CI/CD,Systems Manager 管大量主機。
CloudFormation / CDK 管基礎架構,Elastic Beanstalk 管快速部署,Code 系列管 CI/CD,Systems Manager 管大量主機。
1. 先分兩大類
| 類別 | 服務 | 主要用途 |
|---|---|---|
| 部署與基礎架構 | CloudFormation | 用範本建立 AWS 資源 |
| 部署與基礎架構 | Elastic Beanstalk | 快速部署應用程式 |
| 部署與基礎架構 | CodeDeploy | 部署程式到伺服器 |
| 部署與基礎架構 | Systems Manager | 管理大量主機 |
| 開發流程 | CodeCommit | 放程式碼 |
| 開發流程 | CodeBuild | 建置與測試 |
| 開發流程 | CodePipeline | 串接 CI/CD 流程 |
| 開發流程 | CodeArtifact | 放套件與相依套件 |
| 基礎架構開發 | CDK | 用程式語言寫 AWS 架構 |
2. 每個服務一句話
| 服務 | 一句話 |
|---|---|
| CloudFormation | 用範本自動建立 AWS 架構 |
| Elastic Beanstalk | 把程式丟上去,AWS 幫你部署環境 |
| CodeDeploy | 把新版程式部署到 EC2 或內部主機 |
| Systems Manager | 大量管理主機、打 Patch、下指令 |
| CodeCommit | AWS 版私人 Git 倉庫 |
| CodeBuild | AWS 幫你建置與測試程式 |
| CodePipeline | 把開發到部署流程串起來 |
| CodeArtifact | 集中存放套件與依賴項 |
| CDK | 用 Python、TypeScript 這類語言寫基礎架構 |
3. 關聯圖
開發到上線流程
開發人員寫程式
│
▼
CodeCommit
放原始碼
│
▼
CodeBuild
建置 / 測試
│
▼
CodeDeploy
部署到 EC2 / On-Premises
│
▼
應用程式上線
完整 CI/CD 流程
CodeCommit
│
▼
CodeBuild
│
▼
CodeDeploy
│
▼
CodePipeline
負責串起整個流程
基礎架構流程
CDK
用程式語言寫架構
│
▼
CloudFormation Template
轉成 AWS 範本
│
▼
建立 AWS 資源
EC2 / Load Balancer / RDS / S3 ...
4. 部署服務比較
| 服務 | 適合情境 | 白話說法 |
|---|---|---|
| CloudFormation | 想標準化建立 AWS 資源 | 我要用範本蓋環境 |
| Elastic Beanstalk | 想快速部署 Web App | 我只想丟程式,AWS 幫我弄環境 |
| CodeDeploy | 想把新版程式部署到主機 | 我要把程式更新到伺服器 |
| Systems Manager | 想管理一堆主機 | 我要管機器、打 Patch、下指令 |
5. 開發服務比較
| 服務 | 角色 | 白話說法 |
|---|---|---|
| CodeCommit | 原始碼管理 | 放程式碼 |
| CodeBuild | 建置測試 | 編譯、測試 |
| CodeDeploy | 部署 | 上版到伺服器 |
| CodePipeline | 流程串接 | 把整條流程自動化 |
| CodeArtifact | 套件管理 | 放套件、library |
| CDK | 架構開發 | 用程式寫 AWS 架構 |
6. 最好記版本
| 服務 | 記法 |
|---|---|
| CloudFormation | 用範本建 AWS 資源 |
| Elastic Beanstalk | 快速部署應用程式 |
| CodeDeploy | 把程式部署到主機 |
| Systems Manager | 管理大量主機 |
| CodeCommit | 放程式碼 |
| CodeBuild | 建置測試 |
| CodePipeline | 串接整條流程 |
| CodeArtifact | 放套件 |
| CDK | 用程式語言寫 AWS 架構 |
7. 管理角度總結
| 問題 | 選擇 |
|---|---|
| 想重複建立一樣的 AWS 環境 | CloudFormation |
| 想快速部署 Web 應用 | Elastic Beanstalk |
| 想部署程式到 EC2 或內部主機 | CodeDeploy |
| 想大量管理主機 | Systems Manager |
| 想管程式碼版本 | CodeCommit |
| 想自動建置測試 | CodeBuild |
| 想做完整 CI/CD | CodePipeline |
| 想集中管理套件 | CodeArtifact |
| 想用程式語言定義架構 | CDK |
最後總結:
CloudFormation / CDK:管基礎架構
Elastic Beanstalk:管快速部署
Code 系列:管 CI/CD 流程
Systems Manager:管大量主機
CloudFormation / CDK:管基礎架構
Elastic Beanstalk:管快速部署
Code 系列:管 CI/CD 流程
Systems Manager:管大量主機
沒有留言:
張貼留言