StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. DevOps
  3. Build Automation
  4. Infrastructure Build Tools
  5. Packer vs Stacker 1

Packer vs Stacker 1

OverviewComparisonAlternatives

Overview

Packer
Packer
Stacks573
Followers566
Votes41
Stacker 1
Stacker 1
Stacks0
Followers1
Votes0
GitHub Stars709
Forks166

Packer vs Stacker 1: What are the differences?

Introduction

Packer and Stacker are both tools used for building machine images or containers automatically. However, there are key differences between these two tools that set them apart.

  1. Build Process Approach: Packer follows a virtual machine (VM)-centric approach, where it creates a VM and provisions it with necessary software, then creates an image from it. On the other hand, Stacker utilizes container technology, where it builds a container image by layering the necessary software components, resulting in a more lightweight and faster build process.

  2. Build Artifact: Packer generates various artifacts as output, such as Amazon Machine Images (AMI), VirtualBox images, or Docker containers. It supports multiple platforms and offers flexibility for different deployment scenarios. Stacker, on the other hand, primarily focuses on building Docker container images, making it more specialized for containerized environments.

  3. Configuration Language: Packer uses HashiCorp Configuration Language (HCL) for defining its build configurations. HCL provides a concise and expressive syntax with support for variables, templates, and conditionals. Stacker, on the other hand, allows the use of YAML or JSON as the configuration language, providing a more familiar and flexible approach for defining and managing stack files.

  4. Orchestration Capability: Packer mainly focuses on building images through the integration of various builders, provisioners, and post-processors. It does not provide robust orchestration capabilities for managing multiple build stages or dependencies. In contrast, Stacker provides advanced orchestration features, allowing the definition of complex workflows and dependencies between different stack files, making it suitable for more complex and interconnected infrastructure deployments.

  5. Community and Ecosystem: Packer has a larger community following and a more mature ecosystem. It has extensive documentation, active community support, and a wide range of plugins available for integrating with different infrastructures and services. Stacker, being a relatively newer tool, has a smaller community but is gaining traction as containerization becomes more popular.

  6. Continued Development: Packer has been actively developed and maintained by HashiCorp for many years, with regular updates and bug fixes. It is widely used in production environments and has a strong commitment to backward compatibility. Stacker, being a newer tool, is still evolving and may have a more rapid pace of development, introducing new features and improvements more frequently.

In summary, Packer and Stacker differ in their build process approach, supported artifacts, configuration language, orchestration capabilities, community, and development focus. While Packer offers more flexibility and broader platform support, Stacker specializes in building Docker containers with a focus on orchestration and simplicity.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

Packer
Packer
Stacker 1
Stacker 1

Packer automates the creation of any type of machine image. It embraces modern configuration management by encouraging you to use automated scripts to install and configure the software within your Packer-made images.

stacker is a tool and library used to create & update multiple CloudFormation stacks. stacker Blueprints are written in troposphere, though the purpose of most templates is to keep them as generic as possible and then use configuration to modify them.

Super fast infrastructure deployment. Packer images allow you to launch completely provisioned and configured machines in seconds, rather than several minutes or hours.;Multi-provider portability. Because Packer creates identical images for multiple platforms, you can run production in AWS, staging/QA in a private cloud like OpenStack, and development in desktop virtualization solutions such as VMware or VirtualBox.;Improved stability. Packer installs and configures all the software for a machine at the time the image is built. If there are bugs in these scripts, they'll be caught early, rather than several minutes after a machine is launched.;Greater testability. After a machine image is built, that machine image can be quickly launched and smoke tested to verify that things appear to be working. If they are, you can be confident that any other machines launched from that image will function properly.
Easily Create/Update/Destroy many stacks in parallel (though with an understanding of cross-stack dependencies);Makes it easy to manage large environments in a single config, while still allowing you to break each part of the environment up into its own completely separate stack.;Manages dependencies between stacks, only launching one after all the stacks it depends on are finished.;Only updates stacks that have changed and that have not been explicitly locked or disabled.;Easily pass Outputs from one stack in as Variables on another (which also automatically provides an implicit dependency);Use Environments to manage slightly different configuration in different environments.;Use Lookups to allow dynamic fetching or altering of data used in Variables.;A diff command for diffing your config against what is running in a live CloudFormation environment.;A small library of pre-shared Blueprints can be found at the stacker_blueprints repo, making things like setting up a VPC easy.
Statistics
GitHub Stars
-
GitHub Stars
709
GitHub Forks
-
GitHub Forks
166
Stacks
573
Stacks
0
Followers
566
Followers
1
Votes
41
Votes
0
Pros & Cons
Pros
  • 27
    Cross platform builds
  • 8
    Vm creation automation
  • 4
    Bake in security
  • 1
    Good documentation
  • 1
    Easy to use
No community feedback yet
Integrations
Amazon EC2
Amazon EC2
DigitalOcean
DigitalOcean
Docker
Docker
Google Compute Engine
Google Compute Engine
OpenStack
OpenStack
VirtualBox
VirtualBox
No integrations available

What are some alternatives to Packer, Stacker 1?

AWS CloudFormation

AWS CloudFormation

You can use AWS CloudFormation’s sample templates or create your own templates to describe the AWS resources, and any associated dependencies or runtime parameters, required to run your application. You don’t need to figure out the order in which AWS services need to be provisioned or the subtleties of how to make those dependencies work.

Scalr

Scalr

Scalr is a remote state & operations backend for Terraform with access controls, policy as code, and many quality of life features.

Pulumi

Pulumi

Pulumi is a cloud development platform that makes creating cloud programs easy and productive. Skip the YAML and just write code. Pulumi is multi-language, multi-cloud and fully extensible in both its engine and ecosystem of packages.

Azure Resource Manager

Azure Resource Manager

It is the deployment and management service for Azure. It provides a management layer that enables you to create, update, and delete resources in your Azure subscription. You use management features, like access control, locks, and tags, to secure and organize your resources after deployment.

Habitat

Habitat

Habitat is a new approach to automation that focuses on the application instead of the infrastructure it runs on. With Habitat, the apps you build, deploy, and manage behave consistently in any runtime — metal, VMs, containers, and PaaS. You'll spend less time on the environment and more time building features.

Google Cloud Deployment Manager

Google Cloud Deployment Manager

Google Cloud Deployment Manager allows you to specify all the resources needed for your application in a declarative format using yaml.

AWS Cloud Development Kit

AWS Cloud Development Kit

It is an open source software development framework to model and provision your cloud application resources using familiar programming languages. It uses the familiarity and expressive power of programming languages for modeling your applications. It provides you with high-level components that preconfigure cloud resources with proven defaults, so you can build cloud applications without needing to be an expert.

Yocto

Yocto

It is an open source collaboration project that helps developers create custom Linux-based systems regardless of the hardware architecture. It provides a flexible set of tools and a space where embedded developers worldwide can share technologies, software stacks, configurations, and best practices that can be used to create tailored Linux images for embedded and IOT devices, or anywhere a customized Linux OS is needed.

GeoEngineer

GeoEngineer

GeoEngineer uses Terraform to plan and execute changes, so the DSL to describe resources is similar to Terraform's. GeoEngineer's DSL also provides programming and object oriented features like inheritance, abstraction, branching and looping.

Atlas

Atlas

Atlas is one foundation to manage and provide visibility to your servers, containers, VMs, configuration management, service discovery, and additional operations services.

Related Comparisons

GitHub
Bitbucket

Bitbucket vs GitHub vs GitLab

GitHub
Bitbucket

AWS CodeCommit vs Bitbucket vs GitHub

Kubernetes
Rancher

Docker Swarm vs Kubernetes vs Rancher

gulp
Grunt

Grunt vs Webpack vs gulp

Graphite
Kibana

Grafana vs Graphite vs Kibana