We're arguing opinions and trying to apply logic.
Some people find lambda easier and it must be true that lambda fits certain workloads better. Some people prefer VMs or on-prem or other long-running services. I prefer both in different cases.
> The worst problem is the giant pile of cloud spaghetti you end up with and no one has any idea what connects to what and what depends on what.
Yes, it takes discipline to use the best tool for the job. "You should do X for everyting" is not the right approach, however. This argument is moot.
Right now I support:
* Lambdas for some very expensive infrequent number crunching
* Lambda-like on edge for fast response services that require low latency
* VMs for always-on services
* Computer in a closet for backups, logging, metrics, etc.
At the end of the day you still need to configure the instances for things like auto scaling, security patches, logging and so on. IAM & VPC still come into the mix when running on EC2, so you've avoided nothing.
You haven't avoided much of you replace lambdas with ec2. You do if you replace it with a rented managed server or even a colo.
> Just run a computer, it’s easier.
Statements made confidently while also being totally untrue.
> I’ve worked at big companies with smart people who burn days and weeks trying to get IAM, gateways, vpcs, firewalls and lambda to play together
Working with incompetent people is not an excuse.
Did they use the CDK or even SAM?
Both suck real bad.
Infrastrucure is hard, thankless work. Complexity blows up whatever you do.
table.grantReadWrite(lambda function)
Just as an experiment, I’ve thrown Lambda code I’ve written from scratch into ChatGPT and asked it what permissions it needed. It got it right.ChatGPT is well trained on everything AWS related. It can transform CloudFormation to idiomatically correct CDK or Terraform.
I hate to say this because it sounds like an appeal to authority. But I really want to set context. I used ChatGPT for projects while I was working at AWS ProServe and since I left. They were generic utility scripts with no proprietary business related code.
I’ve worked at big companies with smart people who burn days and weeks trying to get IAM, gateways, vpcs, firewalls and lambda to play together. Let alone the ongoing nightmare of ops/dev interaction.
Complete cloud fiction.
The worst problem is the giant pile of cloud spaghetti you end up with and no one has any idea what connects to what and what depends on what. Easier to just accumulate more and more resources which cloud companies love.
Just run a computer, it’s easier.