与其它工具的对比

配置管理工具(如 Chef,Puppet,Ansible 等)

配置管理工具用于安装和管理已存在的机器上的软件。资源编排工具不是一个配置管理工具,资源编排工具的主要关注点在于如何创建和初始化资源。

使用资源编排工具的 Provisioner 功能,可以与配置管理工具有机地结合在一起。资源编排工具主要关注对于数据中心资源更高层的抽象,尤其是资源之间的关联。与配置管理工具的功能并不重叠。一个比较好的实践是,由资源编排工具创建资源,配置管理工具配置机器,可以享受配置管理工具所带来的全部便利。

友商的资源编排系统,如 AWS CloudFormation,阿里 ROS

经过长时间的发展,Terraform 已经成为一个业内通用的资源编排工具,UCloud 兼容 Terraform 的协议,相比于友商的资源编排系统,适用性更强。而且近年来友商也陆续开始支持基于 Terraform 的资源编排系统,证明了业内对通用资源编排系统的强需求。

UCloud 资源编排工具集从最初就保持着对 Terraform 协议的兼容,使得围绕着 UCloud 公有云,集成其它服务商的卫星服务,进行多云编排的架构成为可能,比如将 UCloud EIP 与 DNSimple 集成在一起,轻松搭建一个云数据中心的公网流量入口。

另外一个不同点是,UCloud 的编排计划被抽象出来作为一等公民,可以在编排系统资源前充分审查变更,保证了关键基础设施的可靠性。

基于 API/SDK 自行研发

大多数企业是基于 API/SDK 手动编写一个简单脚本开始自动化运维之路的。这常常适用于最小化的概念验证与原型开发,随着规模的增长,这些方法往往容易出错且不容易修改。它们通常需要时间和资源来构建和维护,且目的在于满足短期需求,由于工具必须与任何新功能或基础架构保持同步更新,因此它成为基础架构发展速度的限制因素。

UCloud Terraform 资源编排工具基于 Hashicorp 公司开源的 Terraform 工具,使用简单且统一的 HCL(Hashicorp Configuration Language) 语法,几乎可以管理任何资源而无需学习新的工具。通过定义所需的所有资源,可以自动解决它们之间的依赖关系,以便基础设施管理员不需要记住和推理它们。消除构建工具的负担使运营商能够专注于他们的基础设施而不是工具。在多云环境下,Hashicorp Terraform 已经积累充足的案例,其中包括数十万行代码的基础设施构建实例,经过了充分的实践检验。

此外,Terraform 是一个开源工具。除了 HashiCorp 之外,Terraform 周围的社区还有助于扩展其功能,修复错误并记录新的用例。Terraform 有助于解决每个组织中存在的问题,并提供可采用的标准,以避免在组织之间和组织内重新发明轮子。它的开源性确保它将长期存在。