2015-04-20 18:55:16 -04:00
|
|
|
---
|
2015-07-22 22:31:00 -04:00
|
|
|
layout: intro
|
2017-03-25 18:13:52 -04:00
|
|
|
sidebar_current: intro-ecosystem
|
|
|
|
page_title: Packer and the HashiCorp Ecosystem - Introduction
|
|
|
|
description: |-
|
|
|
|
Learn how Packer fits in with the rest of the HashiCorp ecosystem of tools
|
|
|
|
---
|
2015-04-20 18:55:16 -04:00
|
|
|
|
|
|
|
# Packer and the HashiCorp Ecosystem
|
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
HashiCorp is the creator of the open source projects Vagrant, Packer, Terraform,
|
|
|
|
Serf, and Consul, and the commercial product Atlas. Packer is just one piece of
|
|
|
|
the ecosystem HashiCorp has built to make application delivery a versioned,
|
|
|
|
auditable, repeatable, and collaborative process. To learn more about our
|
|
|
|
beliefs on the qualities of the modern datacenter and responsible application
|
|
|
|
delivery, read [The Atlas Mindset: Version Control for
|
2016-01-15 16:41:29 -05:00
|
|
|
Infrastructure](https://www.hashicorp.com/blog/atlas-mindset.html?utm_source=packer&utm_campaign=HashicorpEcosystem).
|
2015-04-20 18:55:16 -04:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
If you are using Packer to build machine images and deployable artifacts, it's
|
|
|
|
likely that you need a solution for deploying those artifacts. Terraform is our
|
|
|
|
tool for creating, combining, and modifying infrastructure.
|
2015-04-20 18:55:16 -04:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
Below are summaries of HashiCorp's open source projects and a graphic showing
|
|
|
|
how Atlas connects them to create a full application delivery workflow.
|
2015-04-20 18:55:16 -04:00
|
|
|
|
|
|
|
# HashiCorp Ecosystem
|
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
![Atlas Workflow](docs/atlas-workflow.png)
|
2015-04-20 18:55:16 -04:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
[Atlas](https://atlas.hashicorp.com/?utm_source=packer&utm_campaign=HashicorpEcosystem)
|
|
|
|
is HashiCorp's only commercial product. It unites Packer, Terraform, and Consul
|
|
|
|
to make application delivery a versioned, auditable, repeatable, and
|
|
|
|
collaborative process.
|
|
|
|
|
2016-01-14 15:33:00 -05:00
|
|
|
[Packer](https://www.packer.io/?utm_source=packer&utm_campaign=HashicorpEcosystem)
|
2015-07-22 22:31:00 -04:00
|
|
|
is a HashiCorp tool for creating machine images and deployable artifacts such as
|
|
|
|
AMIs, OpenStack images, Docker containers, etc.
|
|
|
|
|
2016-01-14 15:33:00 -05:00
|
|
|
[Terraform](https://www.terraform.io/?utm_source=packer&utm_campaign=HashicorpEcosystem)
|
2015-07-22 22:31:00 -04:00
|
|
|
is a HashiCorp tool for creating, combining, and modifying infrastructure. In
|
|
|
|
the Atlas workflow Terraform reads from the artifact registry and provisions
|
|
|
|
infrastructure.
|
|
|
|
|
2016-01-14 15:33:00 -05:00
|
|
|
[Consul](https://www.consul.io/?utm_source=packer&utm_campaign=HashicorpEcosystem)
|
2015-07-22 22:31:00 -04:00
|
|
|
is a HashiCorp tool for service discovery, service registry, and health checks.
|
|
|
|
In the Atlas workflow Consul is configured at the Packer build stage and
|
|
|
|
identifies the service(s) contained in each artifact. Since Consul is configured
|
|
|
|
at the build phase with Packer, when the artifact is deployed with Terraform, it
|
|
|
|
is fully configured with dependencies and service discovery pre-baked. This
|
|
|
|
greatly reduces the risk of an unhealthy node in production due to configuration
|
|
|
|
failure at runtime.
|
|
|
|
|
2016-08-08 12:45:23 -04:00
|
|
|
[Serf](https://www.serf.io/?utm_source=packer&utm_campaign=HashicorpEcosystem) is
|
2015-07-22 22:31:00 -04:00
|
|
|
a HashiCorp tool for cluster membership and failure detection. Consul uses
|
|
|
|
Serf's gossip protocol as the foundation for service discovery.
|
|
|
|
|
|
|
|
[Vagrant](https://www.vagrantup.com/?utm_source=packer&utm_campaign=HashicorpEcosystem)
|
|
|
|
is a HashiCorp tool for managing development environments that mirror
|
|
|
|
production. Vagrant environments reduce the friction of developing a project and
|
|
|
|
reduce the risk of unexpected behavior appearing after deployment. Vagrant boxes
|
|
|
|
can be built in parallel with production artifacts with Packer to maintain
|
|
|
|
parity between development and production.
|