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

  • Pulumi is really a royal piece of shit. Why the f*ck am I writing code to do "deployment". In C# --> new Dictionary<string, object> 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.

  • For anyone deliberating between Pulumi and CDK let me recommend what I consider the best of both worlds: CDKTF, Hashicorp’s answer to Pulimi (my quote not theirs).

    It’s got everything you want:

    - strong type system (TS),

    - full expressive power of a real programming language (TS),

    - can use every existing terraform provider directly,

    - compiles to actual Terraform so you can always use that as an escape hatch to debug any problems or interface with any other tools,

    - official backing of Hashicorp so it’s a safe bet

    It’s a super power for infra. If you have strong software dev skills and you want to leverage the entire TF ecosystem without the pain of Terraform the language, CDKTF is for you.

    (No affiliation)

    https://developer.hashicorp.com/terraform/cdktf

  • I wish CDK was fully baked enough to actually use. It's still missing coverage for some AWS services (sometimes you have to do things in cloudformation, which sucks) and integrating existing infra doesn't work consistently. Oh and it creates cloudformation stacks behind the scenes and makes for troubleshooting hell.

  • Kubernetes no thanks. Terraform + Kamal [1] on Digital Ocean is the way I deploy/run apps now.

    [1] https://kamal-deploy.org/

  • Pulumi genAI-based documentation is trashed. I've moved to terraform and i was able to achieve much better results in shorter time thanks to higher documentation level for terraform.

  • Hi everyone,

    We've gone through a lot of pain to get this blueprint working since our AWS costs were getting out of hand but we didn't want to part ways with CDK.

    We've now got the same stack structure going with Pulumi and Digital ocean, having the same ease of development with at least 60% cost reduction.

  • I don’t think Digital Ocean is all that much better for pricing, but using Pulumi over CDK is a pure win as far as I’m concerned.

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

  • Controversial opinion here: just use CDK. Learn cloud formation for advanced stuff. It’s really not that hard and pays dividends

  • Hetzner has been our "expensive AWS cloud costs" saviour

    We've also started switching our custom Docker compose + SSL GitHub Action deployments to use Kamal [1] to take advantage of its nicer remote monitoring features

    [1] https://kamal-deploy.org

  • One thing about managing EKS with Pulumi, Terraform, etc. if you deploy things like Istio that makes changes to infrastructure. Do a Terraform destroy - no luck, you are hunting down maybe some security groups or other assets Istio generated that TF doesn't know about. Good times.

  • This title text is nowhere on the linked page. Please get rid of the editorialization. DO is not that much cheaper for a baseline instance.

  • Pulumi is very neat with straight AWS, too. I suspect this is the primary use case.

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

  • My DO K8S cluster ist bugging me every couple of months to do an upgrade. I am always scared to just run it but moving shit over to a new cluster instead is so much work that I simply gamble on it. AWS ECS is worth over penny

  • It’s only “insane costs” if you don’t know what you’re doing.

  • EKS has become a clusterf*ck to manage and provision. This looks very useful. Bare metal k8s, even running on EC2, might be another option.

  • I personally love terraform. It's easy to use and actually it's rigid framework allow to make less mistakes/way more readable than pulumi

  • You can also simplify Kubernetes to just Kamal and things become instantly easier...

  • Anyone use Garnix? https://garnix.io/

  • Is this an Ad?

  • I strongly recommend sst.dev

  • [dead]

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