←back to thread

461 points thunderbong | 9 comments | | HN request time: 1.129s | source | bottom
1. dkersten ◴[] No.42134266[source]
I know it’s minor in comparison, but I will never use AWS again after running up a $100 bill trying to get an app deployed to ECS. There was an error (on my side) preventing the service from starting up, but cloud waatch only had logs about 20% of the time, so I had to redeploy five times just to get some logs, make changes, redeploy five more times, etc. They charged me for every single failed deploy.

After about two days of struggling and a $100 bill, I said fuck it, deleted my account and deployed to DigitalOcean’s app platform instead, where it also failed to deploy (the error was with my app), but I had logs, every time. I fixed it in and had it running in under ten minutes, total bill was a few cents.

I swore that day that I would never again use AWS for anything when given a choice, and would never recommend it.

replies(2): >>42134378 #>>42134527 #
2. phatfish ◴[] No.42134378[source]
I've only used Azure and it looks like ECS is equivelent to Azure Container Apps. I found their consumption model to be very cheap for doing dev/test. Not sure what it is like for larger workloads.

Charing per deployment sounds crazy though.

replies(2): >>42134592 #>>42135824 #
3. te_chris ◴[] No.42134527[source]
I gave up on AWS when I realised you can’t deploy a container straight to ec2 like you can on GCP. For bigger things, yeah the support’s better, for anything small to mid GCP all day. Primitives that actually make sense to how we use containers and such these days. And Bigquery
replies(3): >>42134752 #>>42134771 #>>42135704 #
4. dkersten ◴[] No.42134592[source]
> Charging per deployment sounds crazy though.

I think technically I was just being charged for the container host machine, but while each individual deploy only lasted a minute or so, I was being charged the minimum each time. And each new deploy started a new host machine. Something like that anyway, it was a few years ago, so I don't remember the specifics.

So I can understand why, but it doesn't change that if their logging hadn't been so flaky, I should have been able to fix the issue in minutes with minimal cost, like I did on Digital Ocean. Besides, the $100 they charged me doesn't include the much more expensive two days I wasted on it.

5. PaulRobinson ◴[] No.42134752[source]
For containers, you don't want EC2, you want ECS, possibly even Fargate depending on your use case. They're different compute primitives based on your needs.

There isn't a boxed product like Bigquery, but the pieces are all there - DynamoDB, Athena, Quicksight...

6. antonhag ◴[] No.42134771[source]
For AWS the solution for container deployments (without dealing with VMs) is Fargate, which imo works reasonably well.
replies(1): >>42138068 #
7. Kindling7257 ◴[] No.42135704[source]
I'm not trying to defend AWS, they are kinda shit, but deploying containers straight to EC2s is an extremely supported feature and it is very clear how to do it in the ECS admin panel https://docs.aws.amazon.com/AmazonECS/latest/developerguide/...
8. infecto ◴[] No.42135824[source]
Yes I believe that is the equivalent to ACA. I use ECS in prod and its incredibly cheap and efficient. Like all things it requires a little legwork to make sure its the best fit. They just charge for the underlying machines not the deployment itself.
9. dkersten ◴[] No.42138068{3}[source]
I believe I was actually trying to use that. It’s been a few years so my memory is hazy, but isn’t Fargate just a special case of ECS where they handle the host machines for you?

In any case, the problem wasn’t so much ECS or Fargate, beyond the complexity of their UI and config, but rather that Cloudwatch was flaky. The problem that prevented the deployment was in my end, some issue preventing the health check from succeeding or something like that, so the container never came up healthy when deployed (it worked locally). The issue is that AWS didn’t help me figure out what the problem was and Cloudwatch didn’t show any logs about 80% of the time. I literally clicked deploy, waited for the deploy to fail, refresh Cloudwatch, saw no logs, click deploy, repeat until logs. It took about five attempts to see logs. Every single time I made a change (it wasn’t clear the error was on my end so it was quite a frustrating process).

On digital ocean, the logs were shown correctly every single time and I was able to determine the problem was on my end after a few attempts, add the required extra logging to track it down, fix it, and get a working deployment in under ten minutes.