Live data from Hacker News

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

github.com

141–150 of 172 posts

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

#141
post #130

Earlier quoted context omitted.

Upserting resources is an antipattern in cloud resource management. The idiom that works best is to declare all the resources you use and own their lifecycle from cradle to grave. The problem with upserting is that if the resource already exists, its existing attributes and behavior might be incompatible with the state you're declaring. And it's impossible to devise a general solution that safely transitions an arbit…

Hmm. If you don't mind sharing, suppose (because it's what I was doing) I was trying to create personal dev, staging, and prod environments. I want the usual suspects: templated entries in route53, a load balancer, a database, some Fargate, etc. What are you meant to do here? Thank you.

If they're all meant to look alike, you'd deploy the stack (or app, in CDK parlance) into your dev, staging, and prod accounts. You'd get the same results in each.

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

#142

Earlier quoted context omitted.

What's your argument here? For example, Typescript allows lots of operations on objects that cannot be known at compile time because it relies on the user to inform it of types accurately, anything can be coerced into anything without complaint with "as", and it allows for arbitrary operations on an "any" type without complaint. I've heard it referred to it as an "optionally typed" or "gradually typed" system, which,…

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".

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

#143
post #78

Why's everyone going away from declarative? Terraform, CloudFormation, AWS Copilot etc have a lot of virtues and are programming language agnostic. Using a complex programming language (C++ of the browser world) just for this has a big switching cost. Unless you're all in on TS. And/or have already built a huge complex IaC tower of babel where programming-in-the-large virtues justify it.

Terraform isn't really declarative. It's declarative right up until the point at which it isn't, where it falls apart. I need a declarative deployment right up to the application layer, which is where terraform fails.

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

#144
post #63

Earlier quoted context omitted.

We had so much conflict with the ops team over their choice of Terraform. The three colors of variable thing is just fucking bonkers. Getting tests wrapped around it that actually did what we thought they meant was a giant pain in the ass. I won't go as far as to say we burned bridges arguing back and forth about it but they were definitely significantly singed. Config files simply don't work until they do. And if it…

Ever thought that "Ops" needs a different mindset than the devs are used to ?

And that’s why we don’t delegate that work to devs.

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

#145
post #83

Earlier quoted context omitted.

Because it works fine, and is also used in for other things like Helm Charts? https://helm.sh/docs/chart_template_guide/control_structures...

Helm charts are a horrible example of text based templating. You have YAML/JSON that k8s API wants, that is fed through helm which is fed through helmsman or whatever newer thing. There might be a layer or two of other templating around. Sometimes companies have built systems so developers/devops don't even have the ability to see what the final compiled version of the template is which is like the mother of all: "wo…

I’m not sure why nobody invented a way to dynamically update values.yaml based on what are writing in the template file. And maybe vice-versa. It would be such a time saver. Maybe someone did, but I didn’t find it yet.

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

#146
post #78

Why's everyone going away from declarative? Terraform, CloudFormation, AWS Copilot etc have a lot of virtues and are programming language agnostic. Using a complex programming language (C++ of the browser world) just for this has a big switching cost. Unless you're all in on TS. And/or have already built a huge complex IaC tower of babel where programming-in-the-large virtues justify it.

Because sometimes you just need a for loop in a way that terraform's for_each/other DSL doesn't support

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

#147
post #91
post #83

Earlier quoted context omitted.

Helm charts are a horrible example of text based templating. You have YAML/JSON that k8s API wants, that is fed through helm which is fed through helmsman or whatever newer thing. There might be a layer or two of other templating around. Sometimes companies have built systems so developers/devops don't even have the ability to see what the final compiled version of the template is which is like the mother of all: "wo…

> Helm charts are a horrible example of text based templating. Every time I see " | nindent whatever" I'm asking why the fuck the tool cannot manage indentation.

Never read anything more true in my life!

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

#148
post #36

Digital Ocean isn't really a "real" cloud. Maybe use Digital Ocean if you're hosting video game servers, but no serious business should be on it.

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

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

#149
CDK APIs in JavaScript are very nice. It's a much much developer experience than Pulumi/Terra form and even Server less Framework. In our monorepo each service is in a separate folder with a folder called /infrastructure inside with a file called Stack.js that defines all the resources needed. When starting a new service we just copy one of the last similar services that we developed. We are able to deploy a new service in hours. Services are getting better and better with accumulation of nice to have features that you wouldn't have time to add to most services.

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

#150

CDK APIs in JavaScript are very nice. It's a much much developer experience than Pulumi/Terra form and even Server less Framework. In our monorepo each service is in a separate folder with a folder called /infrastructure inside with a file called Stack.js that defines all the resources needed. When starting a new service we just copy one of the last similar services that we developed. We are able to deploy a new serv…

This doesn’t sound good to me. Would you do the same with some functional code rather than creating an external versioned library?

Terraform or CDK I would want a simple shareable thing that did the boilerplate that I called with any variables I needed to change.

Post reply on HN