HashiCorp是开源项目Vagrant、Packer、Terraform、Serf和Consul,以及商业产品Atlas的创建者。HashiCorp构建了用于应用交付版本、可审计的、可重复的、协作的过程,Consul只是这个生态系统中的其中一件。要了解更多关于我们对现代数据中心能力和应用尽责交付的观点,请阅读Atlas思维方式:基础设施的版本控制

如果你正在使用Consul做服务发现,那么很有可能你有一个工具用来部署Consul将要连接的基础设施。Terraform是我们用于创建、结合,以及修改基础设施的这样一个工具。

下面是HashiCorp开源项目的简要介绍,并通过一个图形化的方式来展示Atlas如何连接他们来创建一个完整的应用交付流程。

Atlas是HashiCorp的唯一商业产品。它联合Packer、Terraform和Consul使应用交付成为一个版本化的、可审计的、可重复的、协作的过程。

Packer是HashiCorp用来创建机器镜像、可部署工件如AMIs、OpenStack镜像、Docker容器等等的工具。

Terraform是HashiCorp用来创建、结合,以及修改基础设施的工具。在Atlas流程中Terraform读取工件注册表,然后据此提供基础设施。

Consul是HashiCorp用来进行服务发现、服务注册和健康检查的工具。在Atlas流程中Consul在Packer构造阶段被配置,然后识别包含在每一个工件中的服务。因为Consul在Packer构造阶段被配置,当工件被Terraform部署时,它已经有完整的准备好的依赖和服务发现配置。这大大降低了生产环境中由于运行时配置失败产生的不健康节点的风险。

Serf是hashiCorp用于集群成员管理和故障检测的工具。Consul使用Serf的流言协议作为服务发现的基础。

Vagrant是HashiCorp用来管理映射生产环境的开发环境的工具。Vagrant环境可以减少开发一个项目的冲突,减少部署后出现意外行为的风险。 Vagrant Box可以和Packer生产环境工件同时构建以保持开发和生产环境对等。