Amazon Web Services offers AWS Config, a service that provides monitoring and assessment of AWS resource configurations to support compliance auditing, change management and troubleshooting, with resource histories and comparison of historical configurations against planned configurations.
N/A
HashiCorp Terraform
Score 8.5 out of 10
N/A
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
Pricing
AWS Config
HashiCorp Terraform
Editions & Modules
No answers on this topic
Open Source
$0
Team & Governance
$20/user
per user/per month
Enterprise
Contact sales team
Offerings
Pricing Offerings
AWS Config
HashiCorp Terraform
Free Trial
No
No
Free/Freemium Version
No
Yes
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
With AWS Config, you are charged based on the number of configuration items recorded, the number of active AWS Config rule evaluations and the number of conformance pack evaluations in your account. A configuration item is a record of the configuration state of a resource in your AWS account. An AWS Config rule evaluation is a compliance state evaluation of a resource by an AWS Config rule in your AWS account, and a conformance pack evaluation is the evaluation of a resource by an AWS Config rule within the conformance pack.
—
More Pricing Information
Community Pulse
AWS Config
HashiCorp Terraform
Features
AWS Config
HashiCorp Terraform
Configuration Management
Comparison of Configuration Management features of Product A and Product B
To keep track of changes and to answer many compliance issues this is a life-saver. AWS does a good job providing tools like this. Any AWS workload should be monitored with AWS Config. It even is great for troubleshooting and seeing who changed what at what time.
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.
Vendor lock-in, no easy migration path for example if you want to move some workloads to Azure, you'd not be able to lift and shift.
Only at an AWS resource perspective - cannot do desired state configuration at an OS level (which makes sense but be good if you could even as a separate feature within AWS Config).
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.
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 performance has never been an issue for us, the dashboard gives us real-time monitoring and the alert sends us the notification within less than a minute of it happening, this applies to all of the monitored resources on AWS. However we can't (or probably haven't figured out how to) integrate with any other third party services, so we can't really evaluate how it integrates with other services
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.
Despite the comparison it is not really apples to apples, the main purpose of the service is quite similar which is to monitor your application or services. In terms of AWS services, AWS Config provides more options to monitor and log your service on the infrastructure level which is very useful on that level and overall will give you more information about what is currently happening. Meanwhile PaperTrail is more suited to monitor and log your service and could only give you information on the application level.
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.
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."