網頁

2021年12月5日 星期日

[野人獻曝] 關於建立 AWS 服務架構的工具

通常為了要達成 IaC 的目標,
架構師還是 DevOps 工程師都會用很多工具來達成目標。
而比較通用的工具大概會是 Terraform / Ansible 之類的。

不過實際狀況是因為 AWS 服務眾多反而是使用 AWS 自家工具來做還比較方便。

所以用個表格來比較:

比較表
AWS CDK / CDK For Terraform GoFormation 原生 CloudFormation JSON / YAML
優勢
  • 較為高階,有些細節不用特別處理(例如建立 Subnet 不用自己額外寫 RouteTable 那些東西)
  • 跟程式語言結合,使用起來比較可讀好懂
  • 跟 Terraform 結合的話要學的東西相對比較少一點
  • 最接近原生 JSON / YAML 寫法,但又擁有建立每個資源時很快就可以知道要丟什麼東西進去的優勢
  • 跟程式語言結合,可以做一些靈活變化
  • 原生寫法不解釋
  • 如果有新東西的話通常會第一支援
弱勢
  • 因為太高階,比較細項的修改反而變得很麻煩
  • 老實說,我覺得好像沒什麼弱勢!大概只有部分函式不能用還有需要產生檔案比較麻煩一點
  • 很低階,所以在寫的時候要搭配文件才能知道需要丟什麼東西進去
  • 一不小心會寫出上千行的檔案,也會不小心改錯項目出包

沒有留言: