What is our primary use case?
We deliver the platform as a service to businesses. For example, one request for a particular subscription could be in the business domain or non-business domain, whatever it may be, based on the demand, we deliver the customized subscription to them. For each service, we have different constraints. What needs to be delivered in the VNet of Azure, and what needs to be done externally.
What is most valuable?
The ARM template is very easy to work with, which is a big help to us. At the end of the day, there are a lot of tools that we explore like FollowMe and other solutions, which come in handy.
What needs improvement?
I personally say it's already simplified. I don't see many areas for improvement because Terraform employs a lot of skilled engineers that put their time and energy into providing a fantastic enterprise-level tool like this. There is not much more to simplify. There are already quite notable features in Terraform and we've already been provided with updates and other features. In short, there are many things which are already in place, so I don't think that we need anything more from Terraform.
For how long have I used the solution?
I have been using this solution for over six months.
What do I think about the stability of the solution?
Personally, I haven't really experienced any significant instability issues with Terraform. Once or twice I've noticed log issues, but apart from that, I haven't really experienced any problems. Keep in mind, this is the first platform that we are building using Terraform, so we have yet to come across the version with the initial data. In the future, I may face heat and pressure when I'm doing that, but I am not really sure because I have not done the hands-on work of it.
How are customer service and technical support?
Technical support is offered by HashiCorp, but we can't call HashiCorp for technical support because we don't currently use the enterprise version. Our products are community-driven and the community support is great.
How was the initial setup?
Considering we started from scratch, the initial setup was pretty straightforward. We didn't have any challenges. We started our platform build from scratch using Terraform.
What about the implementation team?
For maintenance-related issues, we use GitHub to find the solution to any problems we encounter; we simply log an issue and follow-up with them.
What other advice do I have?
Provided your environment requires Terraform and/or you have skilled engineers who can perform the required maintenance, I would definitely recommend this solution. Terraform is not justified for use just anywhere; you need to have an experienced team to limit any issues. You need to have a certain level of training to consume the services in their DevOps Toolbox and then use them properly. I definitely support and recommend Terraform, but what you get out of it depends on the business environment as well as the team members' knowledge in Terraform.
On a scale from one to ten, I would give this solution a rating of seven; strictly because I was uncomfortable using the ARM template earlier. After another six months, I am sure I will give it a rating of 10, but at this point in time in my experience, I say seven, but not because of the tool itself.
Which deployment model are you using for this solution?
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?