What is Stacker 1?
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.
Stacker 1 is a tool in the Infrastructure Build Tools category of a tech stack.
Stacker 1 is an open source tool with 674 GitHub stars and 159 GitHub forks. Here’s a link to Stacker 1's open source repository on GitHub
Stacker 1's Features
- 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.
Stacker 1 Alternatives & Comparisons
What are some alternatives to Stacker 1?
See all alternatives
With Terraform, you describe your complete infrastructure as code, even as it spans multiple service providers. Your servers may come from AWS, your DNS may come from CloudFlare, and your database may come from Heroku. Terraform will build all these resources across all these providers in parallel.
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.
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.
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.
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.