Terraform is a great example:
* It's slow, and new versions often get slower.
* Apart from the most serious ones, bugs often don't get fixed for years, and GitHub issues and pull requests (both for TF itself and the biggest providers) are a swamp of thousands of issues and hundreds of PRs dating back 4+ years. Issue triage is erratic and often fails to fully read or comprehend the reported issue.
* There are some design deficiencies that seem hard to fix. For example: first-class support for providers that are configured based on other resources in the same Terraform state. This usually doesn't work correctly without hacks like `-target`. The "right way" to do this is to have separate TF states for different "layers" of your infra, which is fine and ends up pretty tidy for large infra, but nobody really talks about this (not even the TF docs), so invariably things will not be architected that way at the start and by the time the TF config has grown, refactoring it to split out the layers will be a deeply unpleasant time-suck. (The awful experience that is refactoring large TF configs being another major negative all by itself.) This fundamental issue is the root cause of hundreds of TF GitHub issues.
* The major Hashicorp-maintained (or co-maintained) providers are often massively underresourced, leading to delays before new cloud features are supported, forcing users of TF to maintain those resources outside of Terraform, which is a mess. If a user of, say, the AWS provider tries to rectify the situation by sending a PR, it will just be lost in the sea of ~3000 open issues and ~500 open PRs unless they put in significant time and effort to get attention to it.
Despite all of this, we still use Terraform heavily because it's less crap than the alternatives, but I can hardly muster the love for it that is expressed elsewhere in these comments.
Once you eliminate that with `-refresh=false` most of the time is taken building the graph. For our largest config that can take almost 5 minutes for each run, and throwing hardware at it doesn't really help; it doesn't seem to make much use of more than one core. Some TF version updates improve it, but more often the performance gets worse.
Recent relevant issues:
https://github.com/hashicorp/terraform/issues/27523 https://github.com/hashicorp/terraform/issues/26355
My prediction, HashiCorp after IPO'ing will get acquired.
I could probably find more, but many (most?) large tech companies use one or more of the Hashicorp suite. I don't think it's unfair to say that they are the standard toolset for certain roles.
Im in cloud automation 8+ years. No they are not de-facto standard. For AWS projects, I much prefer Cloudformation. App devs use venv or similar, not Vagrant.
I’d use their CI/CD if they had one, like GitLab, but looks like they don’t?
But even in the companies where I've used AWS and cloudformation we still use Hashicorp tooling. For example we use cloudformation at the current company to handle our AWS infrastructure, but the AMIs launched are generated with packer.