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. | Metamon is a Vagrantfile combined with a set of Ansible Playbooks which can be used to quickly start a new Django project. Although Metamon is easily extensible by adding new Ansible roles, it is a better fit for people who use Django + Gunicorn + Nginx + PostgreSQL. | Google Cloud Deployment Manager allows you to specify all the resources needed for your application in a declarative format using yaml. |
Infrastructure as Code: Infrastructure is described using a high-level configuration syntax. This allows a blueprint of your datacenter to be versioned and treated as you would any other code. Additionally, infrastructure can be shared and re-used.;Execution Plans: Terraform has a "planning" step where it generates an execution plan. The execution plan shows what Terraform will do when you call apply. This lets you avoid any surprises when Terraform manipulates infrastructure.;Resource Graph: Terraform builds a graph of all your resources, and parallelizes the creation and modification of any non-dependent resources. Because of this, Terraform builds infrastructure as efficiently as possible, and operators get insight into dependencies in their infrastructure.;Change Automation: Complex changesets can be applied to your infrastructure with minimal human interaction. With the previously mentioned execution plan and resource graph, you know exactly what Terraform will change and in what order, avoiding many possible human errors | Create an Ubuntu 14.04 machine.;Set-up basic Operating system dependencies.;Set-up a Virtualenv and automatically install dependencies.;Set-up Supervisor, PostgreSQL 9.3, Gunicorn and Nginx.;Start a new Django project if it's needed.;Automatically activate a virtualenv and cd to the project's directory when logging in during development.;Use separate requirements files for faster deploys.;Separate settings file for unit testing with coverage and customized settings to make testing faster. | - |
Statistics | ||
GitHub Stars 47.0K | GitHub Stars 337 | GitHub Stars - |
GitHub Forks 10.1K | GitHub Forks 15 | GitHub Forks - |
Stacks 18.9K | Stacks 0 | Stacks 26 |
Followers 14.7K | Followers 3 | Followers 113 |
Votes 344 | Votes 0 | Votes 5 |
Pros & Cons | ||
Pros
Cons
| No community feedback yet | Pros
Cons
|
Integrations | ||

Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. Ansible’s goals are foremost those of simplicity and maximum ease of use.

Chef enables you to manage and scale cloud infrastructure with no downtime or interruptions. Freely move applications and configurations from one cloud to another. Chef is integrated with all major cloud providers including Amazon EC2, VMWare, IBM Smartcloud, Rackspace, OpenStack, Windows Azure, HP Cloud, Google Compute Engine, Joyent Cloud and others.

Capistrano is a remote server automation tool. It supports the scripting and execution of arbitrary tasks, and includes a set of sane-default deployment workflows.

Puppet is an automated administrative engine for your Linux, Unix, and Windows systems and performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.

Salt is a new approach to infrastructure management. Easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with them in seconds. Salt delivers a dynamic communication bus for infrastructures that can be used for orchestration, remote execution, configuration management and much more.

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.

Fabric is a Python (2.5-2.7) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks. It provides a basic suite of operations for executing local or remote shell commands (normally or via sudo) and uploading/downloading files, as well as auxiliary functionality such as prompting the running user for input, or aborting execution.

Start from templates for common technologies like Ruby, Node.JS, PHP, and Java, or build your own using Chef recipes to install software packages and perform any task that you can script. AWS OpsWorks can scale your application using automatic load-based or time-based scaling and maintain the health of your application by detecting failed instances and replacing them. You have full control of deployments and automation of each component

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.

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