IBM Terraform (formerly Hashicorp Terraform) is a cloud infrastructure automation tool used to create, change, and improve production infrastructure, and it allows infrastructure to be expressed as code. It is available Open Source, and via Cloud and Self-Hosted editions.
$0
Perforce Puppet
Score 8.5 out of 10
N/A
Puppet Enteprise is an IT automation and configuration management solution that enables users to manage and automate infrastructure and complex workflows. The vendor states Puppet Enterprise combines both model‑based and task-based capabilities in a way that enables organizations to scale their multi-cloud infrastructure as their automation footprint grows, with more flexibility from both agent-based and agentless capabilities.
AWS CDK is like a cloud-specific alternative to Terraform. As its name suggests, it's from AWS & only works with AWS, a job it does excellently. If your cloud provider is not AWS, then you really only have Terraform to choose. If you are on AWS, it boils down to which one you …
IBM Terraform is better as the providers just work. Ansible is still finicky with their community modules for cloud, especially for Azure. We do not need to build execution environment containers like Ansible. Using statefil for drift analysis is also helpful to review changes …
Dbt was fine, but you end up with an extremely bloated repo/project. Often where all of the models are the same, named similarly, and generally just doesn't adhere to the concept of DRY coding. In Terraform we're able to template a lot of this work and dynamically generate …
HashiCorp Terraform is much better than Cloud Formation. For one, the language is just easier to use, but more importantly, the provider ecosystem is much better in HashiCorp Terraform than in Cloud Formation.
I'm beginning to look at Pulumi. In my opinion, it looks like it would be a good replacement for HashiCorp Terraform, and it has the advantage of configuration via scripting, rather than via HCL, which is HashiCorp Terraform configuration markup language. In my opinion, the …
We have used Vagrant to develop our application in a virtual box environment and prepare it to be packed with Packer. The image created from these two tools will be deployed by Terraform.
We are using Consul for service discovery and as a job locking so we don't have two jobs or …
CloudFormation is only for AWS so if you're trying to deploy to another cloud provider then Terraform is your product. Terraform has lots of public support so you can find answers to questions by Googling. CloudFormation is easy to view the resources/services that are …
Terraform is a large step ahead of the previous generation of infrastructure-as-code providers. I'd never go back to, e.g. Puppet or Chef, Ansible, etc. That said I think that Pulumi has a good chance of displaying it, in no small part because the Terraform language itself …
AWS CloudFormation is better if you just want to stick with AWS because it's integration with AWS is better, provides auto-rollback in case of failures, and has GUI to manage and view the stacks built. Terraform is better when we want to stay cloud-agnostic. Terraform is better …
I can't find these applications listed, but other IaC tools I have used include: AWS CloudFormation, Azure Resource Manager Templates, and GCP Cloud Deployment Templates. For a comparable tool, I have the most experience with CloudFormation.
Chef and Terraform are not apples to apples because Chef is more focused on config management, whereas Terraform is more focused on provisioning. However, I can say that where they do overlap in configuration management is that Terraform is the preferred tool because it has an …
Terraform is the solid leader in the space. It allows you to do more then just provisioning within a pre-existing servers. It is more extensible and has more providers available than it competitors. It is also open source and more adopted by the community then some of the other …
Terraform is open source and has strong community support. It is cloud-agnostic versus competing products like AWS cloud formation, hence has a distinct advantage. The scripts once set up are easy for developers to administer during development, hence during production …
- Terraform syntax is much easier to read and learn than Cloud Formation.
- Terraform already supports AWS as well as several other cloud providers.
- Terraform is backed by a great and supportive open-source community.
Terraform shares the methodology of creating configuration files for your infrastructure with tools like CloudFormation. However, Terraform is cloud-agnostic unlike CloudFormation which is AWS specific. Terraform can be used to maintain AWS and OpenStack clusters …
CloudFormation is the lingua franca of AWS. You certainly can't go wrong using it, but I like the syntax and open-source nature of Terraform. That's mostly a personal preference. I have not tried any other non-Amazon tools for provisioning AWS. And, of course, the AWS tools …
As I mentioned before Ansible is a great tool. There is no question about it. It has very simple syntax (YAML), is very easy to learn, and is scalable as well. But the only thing that ansible lacked at that time was the actual agent that have to go into each server. Ansible …
Puppet was selected before I joined the team, had it been my choice I would have much rather went with Chef as it has the ability to do things that Puppet has not yet added to their system such a the ability to quickly query what host currently are allowing puppet to maintain …
I have not used any other Configuration Management System since cfengine back in about 2007 so I have little current input on alternatives to Puppet having never used them, though Chef seems to have gained some traction as has Ansible.
We have used SaltStack by proxy of utilizing Ceph since it uses SaltStack to automate configuration changes to it's cluster. I found it easy to use however extremely limiting when it comes to scale as its not a proper language with a central data store like Hiera. We plan to …
HPSA is a licensed product and incurs significant upfront investment costs due to COTS licensing. Puppet Data Center Automation has a significantly lower upfront investment and product documentation is more readily available. Chef is a very similar offering, however, at the …
Puppet has a very wide user base with many organizations tht support it as well as conferences and events. Puppet DSL is based in Ruby while the server is now in Clojure providing ease of configuration with the power of scale. Puppet is a great entry point into the world of …
8 because it's currently best-in-class and is completely essential to use in contrast to not expressing your infrastructure as code. That said, new contenders are nipping at its heels, and I expect stronger tools to emerge in the coming years. Hopefully the Terraform team is able to keep pace.
Most of the major issues that people had with the language have been addressed in Puppet 4 which primarily pertain to the limitations of the language and its ability to scale. It would be nice to allow for full ruby support as an unsupported option though so developers are able to reference their own data sources dynamically.
The errors generated by the plan and preview commands are pretty cryptic, it can be hard for newcomers to the scripting language to understand how to address problems.
Access controls around workspaces is limited which makes it harder to secure reduce the scope of teams ability.
Analytics around user usage, applies and plans would be helpful for managemenet.
The complexity can get a little overwhelming in a more collaborative deployment methodology across multiple platforms and data centers.
Some external changes to Puppet like the new Puppet 4 architecture can cause considerable time consuming migration efforts especially if you have a lot of legacy classes and configuration that do not conform readily to the new design.
The syntax itself is pretty straightforward. The documentation is well-maintained & easy to follow. Most cloud providers, even smaller ones, maintain official provider libraries, making discovery & learning a breeze. Some, like GCP, even provide high-level libraries on top of their own more primitive provider, making building complex infra much more manageable. The language itself is cloud-agnostic, so you can literally manage resources from multiple providers in a single Terraform repo.
Terraform's performance is quite amazing when it comes to deployment of resources in AWS. Of course, the deployment times depend on various parameters like the number of resources to deploy and different regions to deploy. Terraform cannot control that. The only minor drawback probably shows up when a terraform job is terminated mid way. Then in many cases, time-consuming manual cleanup is required.
Terraform is community driven but does offer support for it's Enterprise product. When contacting the team at HashiCorp we have always gotten resolution to our issues. They have been very responsive in returning our calls and answering our questions as they come up. We are currently using the open source model.
Puppet has top class support. You can simply mail them with their query and they will respond to your query in a timely manner. We do have enterprise license for puppet. Also there is a vibrant community for puppet out there. So even if you dont purchase a premium support option you can simply google your queries and get answers
dbt was fine, but you end up with an extremely bloated repo/project. Often where all of the models are the same, named similarly, and generally just doesn't adhere to the concept of DRY coding. In Terraform we're able to template a lot of this work and dynamically generate assets based on variables instead.
Puppet was selected before I joined the team, had it been my choice I would have much rather went with Chef as it has the ability to do things that Puppet has not yet added to their system such a the ability to quickly query what host currently are allowing puppet to maintain their files or the ability to run remote commands without having to include it in a manifest like Chef does with the knife command. Salt allows you to do similar things to the knife command that is included with Chef, and also allows you to transfer files quickly to multiple host at once with a short simple command.
Using code, we are able to build and deploy cloud resources faster and more consistently than producing the same resources in the console manually.
For applications that share architectures, we can reuse code to expedite development. We can also do the same with modules that are shared across the organization.
By defining all of our resources as code, we can deploy complete environments with "batteries included." For example, we can use code that spins up servers in a cloud provider and at the same time, creates monitors with in our monitoring provider. Likewise, when the servers are decommissioned, the monitors are decommed along with them. In the past, the creation and decom of the monitors would have been a disjointed, manual step. With Terraform we get it all with one "terraform apply."
With all the DevOps and automation that we have going on, we save a ton of time on the configuration of the server. It's safe to say that configuring servers via console or via UI is a thing of the past.
We try to get all the things done by using a centralized repo (GitHub). Puppet is one tool that actually gets the actual work done.
The small amount that we spent on purchasing premium Puppet is completely justified because of the time and effort that this tool actually helps us save.