Heat 架构¶
Heat 是一个服务,用于使用 AWS CloudFormation 模板格式编排多个复合云应用程序,通过 OpenStack 原生的 REST API 和 CloudFormation 兼容的 Query API 实现。
详细描述¶
该项目的目的是什么,以及对它的愿景是什么?
Heat 为 OpenStack 提供了一个 AWS CloudFormation 实现,它通过执行适当的 OpenStack API 调用来生成正在运行的云应用程序,从而编排描述云应用程序的 AWS CloudFormation 模板。
描述该项目与其它 OpenStack 项目以及 OpenStack 提供无处不在的云计算平台的使命的相关性
该软件将 OpenStack 的其它核心组件集成到一个文件模板系统中。这些模板允许创建大多数 OpenStack 资源类型(例如实例、浮动 IP、卷、安全组和用户),以及一些更高级的功能,例如实例高可用性、实例自动伸缩和嵌套堆栈。通过与其它 OpenStack 核心项目紧密集成,所有 OpenStack 核心项目都可以获得更大的用户群。
目前,OpenStack 没有其它 CloudFormation 实现。开发人员认为云开发人员强烈希望将工作负载从 AWS 迁移到 OpenStack 部署。鉴于 OpenStack 中缺少一个良好实现和集成的 CloudFormation API,我们提供了对此缺口的优质实现,从而提高了 OpenStack 的无处不在性。
Heat 服务¶
开发人员专注于使用 OpenStack 设计原则,使用 Python 创建一个 OpenStack 风格的项目。我们已经从与 keystone 的完全集成开始。我们有许多组件。
由于开发人员仅在 2012 年 3 月开始开发,因此架构正在迅速发展。
heat¶
heat 工具是一个 CLI,它与 heat-api 通信以执行 AWS CloudFormation API。最终开发人员也可以直接使用 heat REST API。
heat-api¶
heat-api 组件提供了一个 OpenStack 原生的 REST API,它通过 RPC 将 API 请求发送到 heat-engine 进行处理。
heat-api-cfn¶
heat-api-cfn 组件提供了一个与 AWS CloudFormation 兼容的 AWS Query API,它通过 RPC 将 API 请求发送到 heat-engine 进行处理。
heat-engine¶
heat-engine 的主要职责是编排模板的启动,并将事件返回给 API 消费者。