Live data from Hacker News

Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue

github.com

151–160 of 172 posts

Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue

#151

Earlier quoted context omitted.

Same, locals are in my head like consts. You define it and it stays that way. A shortcut for a repeated value. Data resources are you requesting a dynamic value of your environment. Variables are dynamic values that a user can change.

That’s only the case if you spend all day rerunning deployments. If your task is more frequently to transition the cluster config from A -> B then the distinction blurs and you go from a 10:1 delta ratio of the different classes of state to maybe 3:2, at which point it feels like splitting hairs. Especially if the locals vary between prod and pre-prod, and worse if dev sandboxes end up with per-user instances, which…

We have multiple separate environments per application. For environment specific inputs we use variables.

The distinction is very clear in our team. Locals are used as const (like an application name), variables are for more dynamic user/environment inputs and data is to fetch dynamic information from other resources.

Zero problems. If a local becomes more environment specific a quick refactor fixes that. You can also have locals that use variable or data values if necessary.

One big win we also have is that we stopped using modules except for one big main module. We noticed from previous projects that as soon as we implemented modules everything became a big problem. Modules that are version pinned still required a lot of maintenance to upgrade. Modules that weren't version pinned caused more destruction than we planned. Modules outputs and inputs caused a lot of cycle problems,... Modules always seem too deep or too shallow.

Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue

#152

Earlier quoted context omitted.

Pretty easy to add runtime validation at the edges with Zod https://github.com/colinhacks/zod Great thing is that the zod schema also doubles as your typescript type so you don't have to write a duplicate/shadow TS type definition.

That doesn't make Typescript as a language "strongly typed".

[deleted]

Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue

#153
post #148

Earlier quoted context omitted.

What's your definition of real cloud? And can you name a real cloud that charges a half-reasonable price for bandwidth? I consider $10/TB to be half-reasonable.

Ideally one that doesn't have these kinds of issues: https://news.ycombinator.com/item?id=6983097

That was more than ten years ago, I don't think that tells us about current quality.

Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue

#154

Pulumi is really a royal piece of shit. Why the f*ck am I writing code to do "deployment". In C# --> new Dictionary when dealing with a values.yaml for instance. The whole need to figure out when and when not to use Apply. Give me Terraform (as much as I hate it) any day.

> Give me Terraform (as much as I hate it) any day.

Just use CloudFormation. Easy to write, declarative, vars (Parameters and Output exports). Trick is not to pile everything in one Stack. Use several.

Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue

#155
post #154

Pulumi is really a royal piece of shit. Why the f*ck am I writing code to do "deployment". In C# --> new Dictionary when dealing with a values.yaml for instance. The whole need to figure out when and when not to use Apply. Give me Terraform (as much as I hate it) any day.

> Give me Terraform (as much as I hate it) any day. Just use CloudFormation. Easy to write, declarative, vars (Parameters and Output exports). Trick is not to pile everything in one Stack. Use several.

CDK is much better to express this. Why cfn?

Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue

#156
post #45

Earlier quoted context omitted.

The biggest hurdle is when you want to refactor your stacks, and you pretty well just can't, without risk of deleting everything

> you pretty well just can't, without risk of deleting everything This is one hyper annoying area. It is possible to get around it, but it's ugly, drop to L1 and override logical id: let vpc = new ec2.Vpc(this, 'vpc', { natGateways: 1 }) let cfnVpc = vpc.node.defaultChild as ec2.CfnVPC cfnVpc.overrideLogicalId('MainVpc') You have to do this literally for every resource that's refactored. For us, we run 2 stacks. One…

+1 CDK refactoring is annoying and ugly

in my experience you'd need to read the CDK source code to find the offending node and call `overrideLogicalId`

there is a library to do it in nicer way: https://github.com/mbonig/cdk-logical-id-mapper

however it does not work in every case

Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue

#157
post #154

Earlier quoted context omitted.

> Give me Terraform (as much as I hate it) any day. Just use CloudFormation. Easy to write, declarative, vars (Parameters and Output exports). Trick is not to pile everything in one Stack. Use several.

CDK is much better to express this. Why cfn?

Less lines, easier to read, declarative (cdk is interactive, less predictable).

And it generates shitty CFN, we can do better ourselves :)

Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue

#159
post #148

Earlier quoted context omitted.

Ideally one that doesn't have these kinds of issues: https://news.ycombinator.com/item?id=6983097

That was more than ten years ago, I don't think that tells us about current quality.

While yes, it was more than ten years ago, we can see that such stupidity is woven into their DNA as a company.

TL;DR: where a cloud provider hosts customers for which there are real-world consequences for data leakage, not a single customer can be at-risk for data leakage. It's a different line of thinking, almost "a different world", to those who have this line of thinking vs those who do.

"The thing about reputations is you only have one".

By contrast even more than ten years before that, AWS was publishing whitepapers about how all contents of RAM to be used by a VM are initialized before a VM is provisioned, and other efforts to proactively scrub customer data.

I worked at a niche cloud provider a bit over ten years ago. We used Intel QAT for client-side encryption for our network attached pools of SSD. We were able to offer all-SSD at low cost and without security blindspots by crypto key rotation implemented by compartmentalized teams and also physical infrastructure compartmentalization patterns. Which, about half a decade later we found we were second only to AWS and almost second (but ahead of in other ways) to some smaller cloud-style hosting provider.

Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue

#160
post #159

Earlier quoted context omitted.

That was more than ten years ago, I don't think that tells us about current quality.

While yes, it was more than ten years ago, we can see that such stupidity is woven into their DNA as a company. TL;DR: where a cloud provider hosts customers for which there are real-world consequences for data leakage, not a single customer can be at-risk for data leakage. It's a different line of thinking, almost "a different world", to those who have this line of thinking vs those who do. "The thing about reputati…

> While yes, it was more than ten years ago, we can see that such stupidity is woven into their DNA as a company.

I don't know if it really meets that bar, but I won't argue about that right now. I'm just going to ask again for your definition of "real cloud" and whether you can suggest some that don't price gouge bandwidth (and aren't oracle, I would not consider them worthy of trust either).

Post reply on HN