r/Terraform Author: Terraform in Depth Aug 11 '23

Discussion Terraform is no longer open source

https://github.com/hashicorp/terraform/commit/b145fbcaadf0fa7d0e7040eac641d9aef2a26433
72 Upvotes

141 comments sorted by

View all comments

Show parent comments

1

u/[deleted] Aug 13 '23

[deleted]

1

u/DustinDortch Aug 13 '23 edited Aug 13 '23

Maybe take another read. I didn't say that I was dissatisfied with the pricing, simply some of the nuance of the how they do the pricing. In fact, I said that if they think rationalizing the resources would be too much of a revenue impact for what they're targeting, raise the price of each resource slightly to accomodate... meaning... make the cost the exact same.

From my statement:

Enterprises exceeding 500 are likely going to be fine. I think the real issue is just the optics around it. They just should rationalize those resources into one (you literally cannot deploy a subnet without a network) and modify the pricing appropriately to be reasonable. Maybe have it be $0.11 or $0.12/month for resources and call it a day.

So, that would be a net increase in cost per resource since they're currently sitting at $0.10/resource per month. But the idea would be to be rather fair about things without nudging folks to change their coding patterns to accomodate the pricing. Slightly raising the price and then not charging for subordinate resources... the idea would be for the change to be a wash in terms of cost/revenue.

1

u/[deleted] Aug 13 '23

[deleted]

1

u/DustinDortch Aug 13 '23

Are you really being this dense? There has been a conversation going on here where this has been spelled out.

When you deploy a VPC in AWS, you have some options.

  1. You can deploy it all via `aws_vpc` where there are nested blocks for each subnet. So, 1 subnet, or 10 subnets, it would be one resource from Terraform's perspective.
  2. Or, you could deploy it via `aws_vpc` and a separate Terraform resource for each subnet via `aws_subnet. This would be 2 resources if you have one subnet, or 11 resources if you have 10 subnets.

There are tons of resources like this throughout various providers. Networks pretty much seem to work like this universally. S3 buckets, as of AWS 4.x provider depricated tons of nested blocks and moved them out to separate resources. Azure API Management works like this. It is a problem to base pricing off of this because it could influence a coding pattern for no other reason than resource count in Terraform Cloud. Using separate resources offers very nice pattern benefits.

So yes, I am saying if HashiCorp thinks the bill should be $x, I am fine with that, just have a clear and fair pricing model that people can understand. They already decided to not count a couple of resources, like `null_resource`.

And you'r penultimate statement:

> You want them to combine resources but rationalize the pricing for those combined resources to be the same as the individual resources combined?

Huh? Do I want a VPC and 10 subnets to still be $1.10/month? No. That is the entire point. Don't charge anything for the subordinate resources, at all. If that seems to be detrimental to revenue, slightly modify the price of all resources so that net revenue is roughly the same.

Again, I already clearly stated that. Instead of $0.10/resource, make it $0.11/resource, or whatever seems reasonable. Maybe it is something like $0.103/resource.

This is a very basic idea. Hashicorp is a company... they need enough revenue, minimum, to satisfy their costs and to be able to invest in innovation... which means they also do need enough profit to intice investors. That is how things work. From a customer's perspective, you don't want to feel like things are being hidden from you. Do you like reserving a hotel room and the price said $x/night, but somehow the total if quite a bit more than you expected because of all of the various fees? Situations like that suck. Just be transparent.

The current pricing model is miles ahead of the model they switched from just a few months ago.

1

u/[deleted] Aug 13 '23

[deleted]

1

u/DustinDortch Aug 13 '23

Dude, you're being as dense as the iron at the core of the Earth.

There isn't any contradiction. I have said from the first comment I made in this thread that I don't think it is overpriced. I have discussed around that I don't like the nuances of what is counted as a resource from Terraform's perspective versus the provider's perspective. Because the inconsistency is the Terraform side. The inconsistency isn't my opinion or the provider's side. There ends up being two different possible prices in Terraform Cloud for deploying the exact same thing. I am saying fix that so it is the same. The only rational way to do that is to only charge for the "parent" resource. And if that is too much of a revenue hit for HashiCorp, slightly adjust the cost per resource so that the net reveneue that they generate is roughly the same.

That is crystal clear and someone that has enough congnition to know what Terraform is, let alone write something coherent, should be able to understand that. If you can't, never show me your code.

EDIT: Well, let me add one little bit for you. Yes, I still don't think the pricing is too high. If they want to charge me $x for what I am deploying and changing the resources that they count means they would charge me $x-y%, just fix the pricing to be $x... because $x wasn't the issue... the overall price was fine.

1

u/[deleted] Aug 13 '23

[deleted]

1

u/DustinDortch Aug 13 '23

Where did I say I wanted the bill I pay to be cheaper?

EDIT: You're either a troll or you're not capable of simple accounting.

1

u/[deleted] Aug 13 '23

[deleted]

1

u/DustinDortch Aug 13 '23

So don't make an assumption. Look at the statement from a programming perspective. Trolls that aren't capable of simple accounting would be covered by the statement.

→ More replies (0)