Earlier quoted context omitted.
Ah yes my favourite thing to have to do, rolling my own deploys and rollbacks. It’s stuff like this that’s just a thousand papercuts that dissuades me from using these “simpler” tools. By the time you’ve rebuilt by hand what you need, you’ve just created a worse version of the “more complex” solution. I get it if your workload is so simple ir low requirement that zero-downtime deploys, rollbacks, health/liveness, aut…
Sure but Kumal getting all those features means it strays close to Kubernetes in complexity and it quickly because "Why not Kubernetes? At least that is massive popular with a ton of support."
Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue
51–60 of 172 posts
Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue
#52Earlier quoted context omitted.
The biggest hurdle I've encountered is cross-stack resource sharing, especially in case of bidirectional dependencies like KMS keys and IAM roles.
The biggest hurdle is when you want to refactor your stacks, and 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 that basically cannot/should-not be deleted/refactored. VPC, RDS, critical S3 buckets - i.e. critical data.
The 2nd stack runs the software and all those resources can be destroyed, moved whatever w/o any data loss.
Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue
#53Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue
#54Is this an Ad?
Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue
#55Pulumi 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.
As much as I like it, I find C# to be too inflexible of a language for infrastructure code. I tried with Pulumi for a while but moved to TypeScript as it works so much better. Structural typing makes your life a lot easier.
I find that with some handwringing, C# can be forced to do almost anything. between extension methods, dispatch proxies and reflection you can pummel it into basically any shape.
Having to write a little boilerplate to make it happen can be a drag though. I do sometimes wish C# had something from a blank project that let me operate with as much reckless abandon as Object.assign does in js land.
Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue
#56Pulumi 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 Terraform sure is a quirky little DSL ain’t it? It’s so weirdly verbose. But at the same time I can create some azure function app, setup my GitHub build pipeline, get auth0 happy and in theory hook up parts of stripe all in one system. All those random diverse API’s plumbed together and somehow it manages to work. But boy howdy is that language weird.
Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue
#57Pulumi 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.
Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue
#58It’s only “insane costs” if you don’t know what you’re doing.
Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue
#59Controversial opinion here: just use CDK. Learn cloud formation for advanced stuff. It’s really not that hard and pays dividends
Re: Forget CDK and AWS's insane costs. Pulumi and DigitalOcean to the rescue
#60Pulumi 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 Terraform sure is a quirky little DSL ain’t it? It’s so weirdly verbose. But at the same time I can create some azure function app, setup my GitHub build pipeline, get auth0 happy and in theory hook up parts of stripe all in one system. All those random diverse API’s plumbed together and somehow it manages to work. But boy howdy is that language weird.
But yeah, at $previous_job, Terraform enabled some really fantastic cross-SaaS integrations. Stuff like standing up a whole stack on AWS and creating a statuspage.io page and configuring Pingdom all at once. Perfect for customers who wanted their own instance of an application in an isolated fashion.
We also built an auto-approver for Terraform plans based on fingerprinting "known-good" (safe to execute) plans, but that's a story for a different day.