【问题标题】:CloudFormation open source equivalent or rolling your ownCloudFormation 开源等效或滚动您自己的
【发布时间】:2020-09-07 17:02:57
【问题描述】:

有人知道 AWS CloudFormation 是如何工作的吗?

另外,有人知道与 AWS CF 等效的开源软件吗(我不是指可能使用 CloudFormation 的工具)?

它显然是一个强大的协调器,但我很想探索这些工具的内部工作原理。

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation orchestration


    【解决方案1】:

    AWS Cloudformation 为每个受支持的组件提供了多个预定义的架构集。当您上传用于创建资源的 Cloudformation 模板时,它会执行以下步骤:

    1. 它根据架构验证模板
    2. 它为收集参数生成动态表单
    3. 验证参数值
    4. 一旦满足所有需要,您可以单击创建开始创建资源
    5. 在后台,它使用内部编码开始创建资源,内部编码不断在控制台上反映状态和进度。

    在这里我们需要了解,Cloudformation 内部本身就是一个产品,它会根据需要使用 AWS SDK/CLI。但是,在后台,它会维护自己的数据,以便在您运行更新时比较属性和资源。

    对此的一个开源替代方案是Terraform。 Terraform 是 Cloudformation 使用最广泛的开源替代品。 Terraform 以其独立于云的架构而闻名。 Terraform 与多个云一起工作,模板中的更改最少。

    terraform 的底层工作涉及创建State 文件/目录,其中存储由用户提供的名称唯一标识的任何堆栈的当前状态。 Terraform 主要使用 Python SDK (boto3) 和其他一些 API 创建资源。我们需要将访问密钥和机密传递给 Terraform 配置,以使其能够访问 AWS 云环境。

    如果您希望构建一个智能的新替代方案,考虑到 AWS 在其 SDK 和 CLI 界面设计中严格遵循标准设计模式,这应该相当简单。这使得将模板转换为可执行代码变得更加容易。

    有关 Cloudformation 工作的更多信息可以找到here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 2015-10-12
      • 2010-10-11
      • 1970-01-01
      相关资源
      最近更新 更多