Terraform from HashiCorp is a cloud infrastructure automation tool that enables users to create, change, and improve production infrastructure, and it allows infrastructure to be expressed as code. It codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned. It is available Open Source, and via Cloud and Self-Hosted editions.
$0
Progress Chef
Score 6.5 out of 10
N/A
Chef IT infrastructure automation suites were developed by Chef Software in Seattle and acquired by Progress Software in September 2020. The Chef Enterprise Automation Stack is an integrated suite of automation technologies presented as a solution for delivering change quickly, repeatedly, and securely over every application's lifecycle. The Chef Effortless Infrastructure Suit is an integrated suite of automation technologies to codify infrastructure, security, and compliance, as well as…
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 …
Chef is the more developer-oriented of the three main tools in this space. It has a steeper learning curve as a result but it allows you to do more. Puppet seems to be more geared towards automated the management of the operating system. Ansible is an excellent tool but …
We considered the three leading competitors in the field: Chef, Puppet and Ansible. Ansible is a very strong competitor and has a nice degree of flexibility in that it does not require a client install. Instead the configuration is delivered by SSH which is very simple. Puppet …
Puppet Labs and CFEngine are also open source and competes with Chef. Chef has more support from the community with templates available for large scale IT deployments. RedHat Ansible is better suited when you are already using RedHat OS and OpenShift since it comes as it comes …
Briefly looked into Puppet but ended up going with Chef because a colleague had experience with it instead. Didn't get far enough into a deployment to even really compare the two.
Vice President, Chief Architect, Development Manager and Software Engineer
Chose Progress Chef
We found that Chef was easy to use, and we liked the whole concept of recipes and cookbooks. We were using the concept of recipes and cookbooks for our SQL development, so Chef was a natural fit for our team members and environment. That whole paradigm is easy for everyone …
I've mostly explained the differences between Ansible and Chef in my previous answers. I generally prefer Chef over Ansible because the platforms we use have very convenient cookbooks.
Chef is easy to install and manage, and the learning curve is minimal, as most of the engineers are already aware of the syntax to configure services. With flexible crating recipes and cookbooks, Chef made our jobs easier, and also it integrates well with Puppet. Overall …
Chef is something we have been using for a while, so it is the natural choice when training new engineers to maintain our systems. If I was to choose a configuration management tool now, I would pick Ansible mainly because of its agentless nature and YAML cookbook language …
To be honest I believe SaltStack would provide a very similar experience to Chef and would allow us to automate much of our operational tasks in the same way, however I feel that Chef is more conducive to a mixed environment of Windows and Linux servers. This is the primary …
We believe Chef is a great tool for DevOp. It works really well with repository tools such as bitbucket and artifactory. The other products we evaluated either were too pricey or did not have the support we needed for a company that was very vanilla with automation. We selected …
We were evaluating Ansible as it was agent less, SSH based, simple to use and is completely based on SSH protocol. As and when the servers count increase the performance might degrade. One main disadvantage with Ansible is it is more suitable for linux based systems where SSH …
I really found that Chef to be much friendlier and innovative than Puppet. There is an opinion in the DevOps community that says that Chef is friendlier to programmers whereas Puppet is friendlier to system administrators. This might be true, as I do come from development …
Chef is good for organizations with many servers, because of the client-server approach. I guess ansible can be used for some 20-40 servers, just ssh and run the playbook. Chef is in ruby which is a really simple to learn language as opposed to competitiors.
Chef was easier to setup than Puppet. It also has better Windows support and documentation. Reading through the Chef documentation gave good examples on how to configure things for Windows environments, however Puppet was a bit lacking in that regard. Puppet has better support …
Ansible and salt stack seem to be the new cool kids on the block because they are easier to setup and manage across smaller teams. I think the use of puppet is dying down in favor for these new technologies. I would like to see chef use cases with simpler implementation.
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.
Chef is a very nice tool for establishing and maintaining a consistent configuration across a range of servers. In addition, Automate allows the continued monitoring and maintenance of servers so they don't drift from established standards. Overall, it deals very well with complex systems. Chef is slightly less applicable for a micro-services approach where the servers are replicated from a simple and known starting point.
Chef is very easy to learn. Written in ruby, Chef code is high enough level for non-ruby coders to get a general idea of what the script is doing.
Chef can be a one stop shop for writing code, testing infrastructure, and deployment of applications.
The Chef support team is very helpful in their auto manager support as well as active support in their Slack channels from development engineers & architects.
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.
One main concern with Chef is the maintainability of Chef master.
The Chef-client should be installed on every node we want to do any automation.
It is mostly Ruby and there's a learning curve. Need to understand the fundamentals of Chef very throughly to play around with attributes, templates etc etc.
The Chef-client agent needs to be run on the nodes frequently to update the details of it state to master. And also to index the nodes based on tags.
I love Terraform and I think it has done some great things for people that are working to automate their provisioning processes and also for those that are in the process of moving to the cloud or managing cloud resources. There are some quirks to HCL that take a little bit of getting used to and give picking up Terraform a little bit of a learning curve, thus the rating
The suite of tools is very powerful. The ability to create custom modules allows for unlimited potential for managing all aspects of a system. However, there is pretty significant learning curve with the toolset. It currently takes approx 3-4 months for new engineers to feel comfortable with our implementation
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.
It loads quick enough for basically all our systems. Because we have this for local dev environments, speed isn't really a big issue here. Yes, depending on the system, sometimes it does take a relatively long time, but it's not an issue for me. One thing that is annoying is that if I want to make a small change to a cookbook and re-run the Chef client, I can't just make the change in the cache and run it. I have to do the whole process of updating the server.
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.
Support for Chef is easily available for fee or through the open source community as most the issues you will face will have been addressed through the Chef developer community forums. The documentation for Chef is moderate to great and easily readable.
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.
Chef is the more developer-oriented of the three main tools in this space. It has a steeper learning curve as a result but it allows you to do more. Puppet seems to be more geared towards automated the management of the operating system. Ansible is an excellent tool but requires you to allow SSH connectivity into all of your instances.
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."