Live data from Hacker News

Terraform 0.15 General Availability

hashicorp.com

201–210 of 239 posts

Re: Terraform 0.15 General Availability

#201
post #64

Earlier quoted context omitted.

How do they differ?

So regular CDK is basically a program-driven CFN generator. Pulumi has a similar model where you build a resource graph at runtime BUT it's also got the execution engine built-in to the tool. What this means in practice is that you can create resources (like a kube cluster) and then use them as providers (e.g provision state tracked resources with kube api) all in the same operation. You can also (in your infracode o…

I don't think I 100% understand.

Could you elaborate a bit more?

Let's say I have an app with API Gateway, Lambda, and DynamoDB.

I would provision them with one of those tools CDK or Pulumi.

How would these tools differ in their provisioning steps?

Re: Terraform 0.15 General Availability

#202
post #169

Earlier quoted context omitted.

When using Terraform you should think of your IaC as the plans to build or rebuild your infrastructure, not an extension. I built mine in a way where I can destroy all the infrastructure in a plan and then reapply. You don't have to worry about rollbacks when you can just rebuild everything without affecting your end service.

What parent meant is that in CF if it encounters an error, by default will roll back to state before the update. TF will just leave it broken.

It isn't left broken per say, in fact you should be able to version the state and rollback to the previous state and have it remove whatever new resources were created when you re-apply.

I just take another approach which is if something doesn't work, then I'm able to quickly blow it away and re-deploy without affecting the end service by having the apply only target specific environments.

Re: Terraform 0.15 General Availability

#203
post #150

Earlier quoted context omitted.

It's a philosophy not a title https://www.visualscript.com/devops/devops-is-not-a-title-it...

But that still does not align with the use of the word practitioner, it's usually a formal profession with licensing such as medicine or law.

That's just one way to use it. Practitioners practice something. For example you can find https://en.wikipedia.org/wiki/Martial_arts using "practitioner" for people training martial arts. There are practitioners of religion, techniques, etc.

Re: Terraform 0.15 General Availability

#204
post #153

So much hate ITT for such a great tool. Terraform is definitely not perfect but it's still one of my favorite tools, solely because of the amount of efficiency gained from learning it. Yes HCL is not perfect, but it is definitely adequate for a lot of applications. IMO, Hashicorp makes some of the most well thought out tools and I am grateful of their attitude towards open source.

I’ve preferred cloud formation for many years. the amount of time I spend debugging problems related to TF is infuriating. at least with aws.

Re: Terraform 0.15 General Availability

#205
post #84

Earlier quoted context omitted.

Can second that. Pulumi with Typescript is just absolutely awesome.

It's probably good when you are already using Typescripts in other parts of your day job. While I like the idea of using a real programming language in place of a declarative DSL you trade in the awkward parts of the latter with the idiosyncrasies of async programming and promises.

I specifically chose Typescript for my IAC because of the outstanding static typing among all scripting languages.

Re: Terraform 0.15 General Availability

#206

Earlier quoted context omitted.

If you like CDK, then i highly recommend pulumi

I tried Pulumi with Python and kept running into show stopper bugs.

I'm currently about to switch to pulumi/python (we're a python show).

What showstoppers did you run into? Any insight welcome if that prevents me from hitting a wall I've not seen yet :)

Re: Terraform 0.15 General Availability

#207
post #95

Earlier quoted context omitted.

> use whatever the cloud you are using has built it (cloudformation, deployment manager, etc). Not applicable if you're deploying infra across cloud (we do that across a dozen cloud providers!). Without terraform, it'll bring us tears. > Or about when it just loses tracks of resources. Never had this in years of using terraform. These should be qualified with how often they occur. > Terraform does not automatically r…

nah. i’ve heard the cross-cloud argument multiple times and it does not hold any water. i wish we lives in a world where we could do cloud agnostic stuff but the reality is that you have your aws terraform files, your gcp terraform files and so on. Cloudformation? Like the tool that bring you from state A to state B or if it cannot rolls back to state A? Yeah. It’s an abomination for a tool to leave infra in a consis…

> nah. i’ve heard the cross-cloud argument multiple times and it does not hold any water.

You misunderstood. I'm talking a single terraform project provisioning resources across different providers.

We have AWS resources referencing stuff in Cloudflare and the other way, and Cloudflare referencing stuff in a k8s cluster running on-site. Add some some GCP LBs referencing a whole bunch of endpoints across 6 providers. They're all under a single TF project and a single tf apply makes changes across all of them.

Re: Terraform 0.15 General Availability

#208

Earlier quoted context omitted.

nah. i’ve heard the cross-cloud argument multiple times and it does not hold any water. i wish we lives in a world where we could do cloud agnostic stuff but the reality is that you have your aws terraform files, your gcp terraform files and so on. Cloudformation? Like the tool that bring you from state A to state B or if it cannot rolls back to state A? Yeah. It’s an abomination for a tool to leave infra in a consis…

>nah. i’ve heard the cross-cloud argument multiple times and it does not hold any water. This, I use terraform every day at my work and I really like it compared to cloudformation but I never understood the cross-cloud advertisement. If I deploy, say, RDS cluster and Kinesis streams with terraform, how on earth is it cross platform?

See my other comment. It's not about a single resource working across providers, but the ability to reference resources across providers and linking them together. Think Cloudflare pointing to AWS endpoints.

Re: Terraform 0.15 General Availability

#209
post #94

Earlier quoted context omitted.

I love your comment,"YOLO-ing" gave me a laugh, and a laugh at myself in some previously stressful/complex deployment periods. Terraform was not a friend there. That said, I've worked on/with a team enabling some fairly advanced & streamlined capabilities across all three clouds because of Terraform. The abstraction matters, and ability to model scaled platform components and architectures as singular units is import…

is the open source community great? Look at the open bugs. Some of them are old enough to go to school. For extra lolz try killing the terraform process of pulling the network cable. Hilarity ensures and you’re gonna have a bad time recovering what it was doing. I would not recommend Terraform period.

So purposely breaking state means it breaks, gotcha.

Re: Terraform 0.15 General Availability

#210

Earlier quoted context omitted.

here is a hint for you: you can tell cloudformation to nuke everything in case it fails.

How would you do that with `sam deploy` https://docs.aws.amazon.com/serverless-application-model/lat...

sam uses cloudformation under the hood. so you can invoke cloudformation directly or demand this is added here: https://github.com/aws/aws-sam-cli/issues/2191
Post reply on HN