有人对AWS CloudFormation的工作原理有任何线索吗?
而且,有人会知道等同于AWS CF的开源软件(并且我不是说可能正在使用CloudFormation的工具吗?]
显然,它是一个强大的编排器,但我很想探索此类工具的内部运作方式。
AWS Cloudformation为每个受支持的组件提供了多个预定义的模式集。当您上传Cloudformation模板以创建资源时,它将执行以下步骤:
我们需要在这里了解,内部Cloudformation本身是一种根据需要使用AWS开发工具包/ CLI的产品。但是,在运行更新时,它会在后台维护自己的数据以比较属性和资源。
Terraform
是开源替代方案。 Terraform是Cloudformation使用最广泛的开源替代品。 Terraform以其与云无关的体系结构而闻名。 Terraform可与多个云一起工作,模板中的更改最少。
terraform的幕后工作涉及创建State
文件/目录,在其中存储由用户提供的名称唯一标识的任何堆栈的当前状态。 Terraform主要根据需要使用Python SDK(boto3)和其他一些API创建资源。我们需要将访问密钥和机密传递给Terraform配置,以使其能够访问AWS Cloud环境。
如果您想构建一个新的智能替代方案,考虑到AWS在其SDK和CLI界面设计中严格遵循标准设计模式,应该相当简单。这样可以更轻松地将模板转换为可执行代码。
有关Cloudformation工作的更多信息,请参见here