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
Octopus Deploy
Score 9.0 out of 10
Mid-Size Companies (51-1,000 employees)
Australian company Octopus Deploy offers their eponymous automated deployment and release management software that integrates with the user's preferred CI server and adds deployment & ops automation capabilities. Octopus Deploy enables developers, release managers, and operations folks to bring all automation into a single place. The vendor states that by reusing configuration variables, environment definition, API keys, connection strings, permissions, service principals, and automation logic,…
$0
per month
Pricing
HashiCorp Terraform
Octopus Deploy
Editions & Modules
Open Source
$0
Team & Governance
$20/user
per user/per month
Enterprise
Contact sales team
Octopus Server - Professional
$1920
per year starting with 20 projects
Octopus Cloud - Professional
$4170
per year starting with 20 projects
Octopus Server - Enterprise
$14400
per year starting with 100 projects
Octopus Cloud - Enterprise
$23400
per year starting with 100 projects
Cloud
Free
10 users/10 projects/10 tenants/10 machines
Server
Free
10 users/10 projects/10 tenants/10 machines
Offerings
Pricing Offerings
HashiCorp Terraform
Octopus Deploy
Free Trial
No
Yes
Free/Freemium Version
Yes
Yes
Premium Consulting/Integration Services
No
Yes
Entry-level Setup Fee
No setup fee
Optional
Additional Details
—
Octopus Deploy offers a Free tier (Cloud and Server) and a 30-day free trial of the Enterprise tier. No credit card needed.
Octopus also offers a Professional tier with 8/5 support (9 am–5 pm on weekdays). The Enterprise tier provides advanced features for teams to scale, including high availability, DevOps Insights, ServiceNow & Jira Service Management integration, unlimited instances, 24/7 support & service credits, and a dedicated Customer Success Manager.
Anything that needs to be repeated en masse. Terraform is great at taking a template and have it be repeated across your estate. You can dynamically change the assets they're generating depending on certain variables. Which means though templated assets will all be similar, they're allowed to have unique properties about them. For example flattening JSON into tabular data and ensuring the flattening code is unique to the file's schema.
Octopus Deploy is a well though [the] solution to the deployment orchestration problem. It is a reliable and robust solution that is relatively simple to understand. [Its] UI is friendly and easy to use, The support and documentation [are] excellent and the product seems to fit into any organization’s process very well and with less effort than other products in this space. I actually find it a pleasure to work with [every day] and I am glad to have it as an integral part of our process.
The language itself is a bit unusual and this makes it hard for new users to get onboarded into the codebase. While it's improving with later releases, basic concepts like "map an array of options into a set of configurations" or "apply this logic if a variable is specified" are possible but unnecessarily cumbersome.
The 'Terraform Plan' operation could be substantially more sophisticated. There are many situations where a Terraform file could never work but successfully passes the 'plan' phase only to fail during the 'apply' phase.
Environment migrations could be smoother. Renaming/refactoring files is a challenge because of the need to use 'Terraform mv' commands, etc.
UI is very fluffy and padded. It looks pretty but it could benefit from a more compact, information-focused design
Deployment process options are not always laid out in an intuitive manner. Choosing which steps to exclude, which environments or targets to deploy to, etc., is not immediately clear
Lack of useful reports and metrics for tracking active deployments and historical data
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
Octopus Deploy has greatly helped us to improve our reliability and frequency of our deployments and given us the confidence to deploy much more often, with a direct benefit to customers. Cross-platform support and release to Cloud require more focus on the product side.
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.
Octopus Deploy is a software that runs very effectively, is easy to use, does not require such a high learning curve, provides the necessary tools to carry out the functions it offers, making it a very flexible software, it also allows that can be configured according to the needs of the user and provides integrations with other very advantageous tools since they are carried out in a very favorable way.
I have yet to have an opportunity to reach out directly to HashiCorp for support on Terraform. However, I have spent a great deal of time considering their documentation as I use the tool. This opinion is based solely on that. I find the Terraform documentation to have great breadth but lacking in depth in many areas. I appreciate that all of the tool's resources have an entry in the docs but often the examples are lacking. Often, the examples provided are very basic and prompt additional exploration. Also, the links in the documentation often link back to the same page where one might expect to be linked to a different source with additional information.
Octopus Deploy support has always been there for us, even when using the free tier, we get responsive hands-on help. We haven't needed to use that level of support since the documentation is clearly written, and help is readily available within the interface itself. Using Octopus Deploy is a truly joyful experience.
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 solutions that are available in the market place.
There aren't really any competitors in the land of ASP.NET. Deployment is too ad-hoc. Other tools exist that have massive downsides, like Web Deploy. Most aren't even supported anymore. You could argue that containers (Docker) are a competitor, but containers cannot be used for everything and solve a somewhat different problem. Octopus Deploy is even able to help with containers. To us, Octopus Deploy was really the only really polished solution.
we are able to deploy our infrastructure in a couple of ours in an automated and repeatable way, before this could take weeks if the work was done manually and was a lot of error prone.
having the state file, you can see a diff of what things have changed manually out side of Terraform which is a huge plus
if state file gets corrupted, it is very hard to debug or restore it without an impact or spending hours ..
writing big scale code can be very challenging and hard to be efficient so it's usable by the whole team
While not an inexpensive product, it has proven to be a good value. I don't have firm ROI numbers but our PROD deployment quality has improved, and we now measure deployment times in "person-minutes" rather than "person-hours".
Our defect rate due to missed configuration items has been significantly reduced.
Octopus has enhanced our ability to enforce SDLC separation-of-duties.