Live data from Hacker News

A $1k AWS mistake

geocod.io

271–280 of 281 posts

Re: A $1k AWS mistake

#271
post #270

Earlier quoted context omitted.

Except it isn’t nearly as fast as it claims [0]. And in real-world tests, I have never found it to beat RDS. You can get an insane amount of performance out of a well-tuned MySQL or Postgres instance, especially if you’ve designed your schema to exploit your RDBMS’ strengths (e.g. taking advantage of InnoDB’s clustering index to minimize page fetches for N:M relationships). And if you really need high performance, yo…

Well the article you linked to....confirms that Aurora is faster than MySQL on equivalent hardware, especially for write-heavy workloads, just that the “5× faster” claim only holds under very specific benchmark conditions. Also from the link...when MySQL is properly tuned, the performance gap narrows substantially but is still 1,5x to 3x for the workloads tested in the article something I would call massive.

The benchmarks were just that - synthetic benchmarks. I’ve ran actual production workloads against both, and Aurora never won. IFF you have an incredibly write-heavy workload, and you have few to no secondary indices, then Aurora might win; I’d also suggest you reconsider your RDBMS choice.

Most workloads are somewhere between 90:10 to 98:2 reads:writes, and most tables have at least one (if not more) secondary indices.

You’re of course welcome to disagree, but speaking as a DBRE who has used both MySQL and Postgres, RDS and Aurora in production, I’m telling you that Aurora does not win on performance.

Re: A $1k AWS mistake

#272

Earlier quoted context omitted.

I am 100% not willing to put that much effort into it. Actually I am not willing to spend that much time reading "cloud" provider docs and best practices. What I care about is hosting services and getting the mission done. I value predictable and reasonable costs much more than "flexibility". In general whatever host I have ever used typically have "cloud" offerings too. So real services go to dedicated hosts, experi…

> Actually I am not willing to spend that much time reading "cloud" provider docs and best practices. It doesn't take that much time just intentional reading to learn something new. Do you not read any docs? > I value predictable and reasonable costs much more than "flexibility". The point is that these aren't mutually exclusive. > So real services go to dedicated hosts And when it becomes overloaded, needs upgrading…

> It doesn't take that much time just intentional reading to learn something new. Do you not read any docs?

There is a tradeoff, between the time it takes to read the docs and the time it would take to achieve what you want to do with another tool which you are either familiar with or is simpler. A very important factor for that balance is how reusable and how reapplicable the knowledge you will gain will be. I am perfectly happy reading docs for PostgreSQL, Varnish, nginx and many other things if it will help me achieve my goal. But when it comes to cloud providers I am not willing to spend a minute reading how to vendor lock my stack on their platform. If there is a standalone service I might want to use like SQS or SES sure, but most other things are a hard pass, I would rather have a dedicated host.

> The point is that these aren't mutually exclusive.

They are really not, cloud providers charge incredibly high rates for both bandwidth and computational resources so there goes the reasonable part. The usage based pricing they use is typically not capped so you are always a misconfiguration away from incurring many times your monthly costs on bandwidth charges (see a similar case from azure https://news.ycombinator.com/item?id=30054739). To add insult to injury you usually get inferior performance.

> And when it becomes overloaded, needs upgrading, or requires other maintenance? There's a problem I've completely left behind.

You have replaced these problems with having to deal with the cloud providers. It costs time to deal with their impenetrable pricing, processes and abstractions. Do yourself a favor and track how much time you spend dealing with their tools and how much time and effort you spend trying to optimize costs.

Upgrades and maintenance are not really solved, depending on the products you use. If you are using EC2 you still need to do upgrades and maintenance exactly like you would with bare metal. Now if you are using a serverless approach you might be clear of that too, but in general docker helps a lot with removing a lot of the pain of using bare metal.

Overloading is typically easily solved by over provisioning and yeah if you have very spiky usage patterns it might make sense to use a cloud provider. If your typical load can be dealt by 1 Hetzner node but you need 20 nodes 2% of the time you might be better off using a cloud provider. Modern hardware though has a lot of capability and while you don't have an "entire datacenter" to fall back on like you would with AWS a few bare metal nodes can handle a very large volume of requests depending on your use case.

Re: A $1k AWS mistake

#273
post #265

Earlier quoted context omitted.

> Writing a blog about this basic mistake, and presenting as advice shows a strong lack of self awareness. You realize they didn’t ask you to read their article right? They didn’t put it on your fridge or in your sandwich. Policing who writes what honest personal experience on the Internet is not a job that needs doing. But if you do feel the need to police, don’t critique the writer, but HN for letting interested re…

They are doing Enterprise sales and were founded in 2014...These type of technical blogs are normally written to demonstrate the company internal expertise, demonstrate skills of the engineering team to motive hiring etc... Does this inspire confidence?

Do I trust this person to be transparent? Yes!

Do I trust in their ability to hit a bump and be motivated to learn and communicate, without ass covering, blame deflection or stubborn denial? Yes!

Are you more confident of people without those traits?

—-

Critique the dishonest, the manipulative, the deceptive, and the dangerously self-unaware.

Better to respond to normal people making their way forward by offering your own insight, if you actually have any that they didn’t just learn for themselves.

Or by respectfully leaving them to continue.

People who punch down are not good people to work with. They don’t inspire my confidence. Do they inspire yours?

—-

Read all the useful discussions here. Do you imagine all these people saw less that you, to see something constructive? Or more?

Re: A $1k AWS mistake

#274
post #178

Earlier quoted context omitted.

Let people take the risk - somethings in production are less important than others.

They have all the primitives. I think it's just that people are looking for a less raw version than AWS. In fact, perhaps many of these users should be using some platform that is on AWS, or if they're just playing around with an EC2 they're probably better off with Digital Ocean or something. AWS is less like your garage door and more like the components to build an industrial-grade blast-furnace - which has access…

> they're probably better off with Digital Ocean or something.

I run my home-dev stuff on Digital ocean and had to write my own cronjob which polls for usage cost and kills everything if I exceed X.

No better than AWS in terms of "don't financially ruin me if i'm targeted by a DDOS"

Re: A $1k AWS mistake

#275
post #71

Earlier quoted context omitted.

What does a hard cap look like for EBS volumes? Or S3? RDS? Do you just delete when the limit is hit?

2 caps: 1 for things that are charged for existing (e.g. S3 storage, RDS, EBS, EC2 instances) and 1 for things that are charged when you use them (e.g. bandwidth, lambda, S3 requests). Fail to create new things (e.g. S3 uploads) when the first cap is met.

Does that mean fail to create rds backups? And that AWS needs to keep your EC2 instance and RDS instance running while you decide if you really want to pay the bill?

Re: A $1k AWS mistake

#277
post #178

Earlier quoted context omitted.

Let people take the risk - somethings in production are less important than others.

They have all the primitives. I think it's just that people are looking for a less raw version than AWS. In fact, perhaps many of these users should be using some platform that is on AWS, or if they're just playing around with an EC2 they're probably better off with Digital Ocean or something. AWS is less like your garage door and more like the components to build an industrial-grade blast-furnace - which has access…

Better yet, publish your own application specific notifications in step 2 since (I believe) billing alerts are delayed. Effectively, build an app specific sidecar that monitors the app and shuts it down if things get out of control.

Re: A $1k AWS mistake

#278

Earlier quoted context omitted.

The $15 plan notably does not come with DDoS protection though.

the pricing page says it comes with "Always-on DDoS Protection" but not "Advanced DDoS Protection" I have no idea what these terms mean in practice

[deleted]

Re: A $1k AWS mistake

#279

Earlier quoted context omitted.

https://aws.amazon.com/cloudfront/pricing/ says that the $15-per-month plan comes with 50TB of "data transfer" Does "data transfer" not mean CDN bandwidth here? Otherwise, that price seems two orders of magnitude less than I would expect

With AWS, there's always a catch. In this case, it's for 10M requests. In other words, you pay $15 for 10M requests of up to 5MB each. [edit: looks like there's no overages but they may force you to flip to the next tier and seems like they will throttle you https://docs.aws.amazon.com/AmazonCloudFront/latest/Develope... .]

You get visibility into your usage, and you're seeing if you're exceeding the usage. They recommend to use plans if your typical traffic is 'only' up to 50TB per month. Occasional spikes are fine from what I understand.

Re: A $1k AWS mistake

#280

Earlier quoted context omitted.

https://aws.amazon.com/cloudfront/pricing/ says that the $15-per-month plan comes with 50TB of "data transfer" Does "data transfer" not mean CDN bandwidth here? Otherwise, that price seems two orders of magnitude less than I would expect

The $15 plan notably does not come with DDoS protection though.

This is not true. Even the Free plan has DDoS protection. L3/L4 (TCP SYN floods, UDP reflection attacks and similar) filtering is built-in and always-on, by default. CloudFront terminates TLS, and only forwards valid HTTP(S) requests to cache / origin.

The "Always-on DDoS Protection" on L7 is protection against massive requests spikes, built natively into CloudFront. Detection and mitigation of these attacks happens inline.

The "Advanced DDoS Protection" on L7 is adjustable, score-based DDoS protection configurable on AWS WAF (https://aws.amazon.com/blogs/networking-and-content-delivery...). Detection and mitigation of these attacks happens within seconds.

Post reply on HN