5 ms·
That’s awesome. It’s a powerful idea to abstract cloud resource provisioning. Makes multi cloud much simpler.
by davidjnelson 8y ago
That’s awesome. It’s a powerful idea to abstract cloud resource provisioning. Makes multi cloud much simpler.
- scarface74 8y agoNot really. The provisioners for Terraform are all specific to the cloud provider. If you changed providers you still have to change all of your templates.
- latchkey 8y agoThis is very true, but it is fairly easy (in that you have to figure out the DSL bits) to abstract it out (into a module) so that your resource (not provisioner) is just calling a script to setup the box specific to the cloud provider. I started with Ansible and quickly realized it was the Apache Ant of devops. I was programming in yaml, which is really convoluted... =( I moved onto Terraform and in less than a page of fairly simple DSL, I can spin any number of instances up in the cloud across availability zones, attach storage, setup the box, add the IP -> DNS mapping in cloudflare. Part of what makes this work really well is they have the concept of storing state between runs as part of the core framework, which is something Ansible is missing, without using an external service. It isn't perfect, but I'm super impressed with what Hashicorp has done.
- xyzzy123 8y agoYeah so tf and cloudformation are kind of the big options in the aws space. They’re both good tools. But I like tf over cf because I have additional control. The import functionality is super useful in real life, as is “state hacking”. Yeah so technically it’s an antipattern but when you are down and dirty cloud engineering it is very useful to be able to edit the tf state (by comparison you have no access to the internals of cf) to avoid destroying/migrating databases or other precious resources where it turns out you judged the proper point of ownership wrong. This is not really the reason one is “supposed” to like one tool over another but there it is. Refactoring infrastructure as code is kind of a dark art, and IMHO tf has a way better story for that. SUPER hard to sell though because the problems are not obvious at all. The main reason is that it exposes state as a first-class concept and although big chunks of that are presented as “internals you should not mess around with” it is a pretty big win in terms of day-to-day engineering (and of course usually you shouldn’t...). What I do wish is that HashiCorp would finally make using third party providers suck less. They seem super sold on a “registry” and bunch of stuff which solves HC level problems while I would be happy with a URL and a trust relationship...
- scarface74 8y agoYeah so tf and cloudformation are kind of the big options in the aws space. They’re both good tools. But I like tf over cf because I have additional control. I love Consul+Nomad for job scheduling for on prem deployments. Especially since you can use regular executables and not just Docker containers. But for AWS, it’s CloudFormation all of the way. Not necessarily because it’s better, but if something weird happens that I can’t figure out, I have an easy button - the business support level of AWS.
- whalesalad 8y agoTerraform is the best you can get right now but it’s still so incredibly painful to use. Every team I’ve ever been a part of is ultimately building a custom framework on top of terraform to spit out .tf files. It’s so frustrating.
- mitchellh 8y agoI wish our HashiConf videos were up but they won't be up for another week or so. But the major theme for our Terraform announcements was "listening & reacting." We've been spending a lot of time with users/customers and listening to their feedback and we wanted to show that we're committed to that. Without going into the whole thing, a couple highlights are Terraform 0.12 and our commitment to collaboration for everyone. Both linked below. Hopefully these help a lot but we're definitely trying to make it easier to use across the board! Terraform 0.12: https://www.hashicorp.com/blog/terraform-0-1-2-preview https://www.hashicorp.com/blog/terraform-0-1-2-preview It is in alpha right now (we've shipped 2 alpha releases over 2 weeks) and we're burning down bugs to get that out as quickly as possible. Terraform Collaboration for Everyone: https://www.hashicorp.com/blog/terraform-collaboration-for-everyone https://www.hashicorp.com/blog/terraform-collaboration-for-e...
- raziel2p 8y agoWhere do you go to find this feedback? Anywhere in particular or just reading all over the internet?
- technofiend 8y agoThey hired a TerraForm customer named Kristin Laemmert away from Nike and she gave an in depth talk on new language features in HCL such as for loops. She demonstrated a ton of before and after code snippets that included hacks she had to make in HCL to get things to work. She was pretty clear at least some of the work was in-flight before she started at Hashi so it seems they're using community input as well.
- rswail 8y ago
- zulrah 8y agoExcept the fact that multi cloud doesnt work and I don't think it will. It adds too much complexity also costs are the big issue too since clouds price data transfer out quite heavily