簡體   English   中英

aws CI/CD 工作流程的最佳路徑是什么? Cloudformation、SAM 還是無服務器框架?

[英]Which is the best path to take for aws CI/CD workflow? Cloudformation, SAM or Serverless framework?

需要使用 cloudformation、sam 和 serverless 框架來部署 nodejs 應用程序的專家的意見。

請告知最佳路徑我使用了無服務器框架,但沒有使用 sam 或 cloudformation,雖然我同意它簡化了流程,但我希望了解更多有關底層配置的信息。

我傾向於 cloudformation 只是因為這兩個框架都將代碼轉換為 cloudformation 模板。 如果我錯了,請糾正我,並感謝學習相同內容的最佳資源。

SAM 基本上是 Cloudformation 的擴展。 如果您了解 SAM,那么您基本上了解 Cloudformation。 SAM 可以而且應該與 Cloudformation 一起用於本地測試。

無服務器是 Cloudformation 之上的一個抽象層。 它有助於加快應用程序的創建和部署。 如果您正在做更高級的配置,它就不足了

我總是傾向於 Cloudformation(或 SAM),因為它是由 CSP(即 AWS)提供的。 這意味着所有新的東西都將自動可用,而不是等待抽象層(如無服務器)獲得支持。

我推薦無服務器框架。 優點有幾個:

  • 比 CloudFormation 更簡單的語法
  • 比 CloudFormation 更便攜(您可以在雲提供商之間進行更改)
  • 如果需要,能夠在 serverless.yml 中編寫原始 CloudFormation 內聯
  • 易於部署(只需運行sls deploy

如果您有興趣,我的 gitlab 配置文件中有一個示例項目(對於 GoLang,但原理與其他運行時相同) https://gitlab.com/montao/aws-lambda-go-gitlab-sls

LostJon 是絕對正確的,因為它是由 AWS 本機提供的,因此對 CloudFormation 和 SAM 的支持立即可用。 我傾向於 CloudFormation 的原因是它具有確定性的結果,這在 DevOps 環境中是需要的。 除非您將轉換顯式添加到 CloudFormation 堆棧,否則沒有轉換。

當您使用 SAM 部署 CloudFormation 模板時,您將能夠在 AWS 控制台中查看 CloudFormation 模板,但您也可以選擇顯示渲染的模板(例如在轉換之后),以便了解 SAM 在水下為您做了什么。 您可以復制呈現的資源並將它們用作純 CloudFormation。 這使您可以加快開發速度,同時不會失去底層配置知識的好處。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM