Cloud (ok, AWS) costs — Episode #3720

It’s the usual story — you develop stuff on your laptop, deploy on AWS, the costs are de minimus, until, well, they aren’t. And when they aren’t, boy howdy, do they every shock you!
The baseline ways to reduce costs are pretty well known — make sure you’re using the right instance type, don’t use io1 by default, serve objects out of S3 instead of EC2, and keep track of your data transfer costs.
Ah, Data Transfer Costs. I really can’t emphasize this one enough y’know? There are so many ways that this can nail you
  • • Running multi-AZ RDS? You realize that you’re paying data transfer costs across AZs, right?
  • • Heck, any multi-AZ deployment will result in data transfer costs. And yes, that means your fault-tolerant setup
  • • Serving any static assets out of EC2? Like, oh, videos that you forgot to move over to S3 or a CDN? Oh Noes!
  • • Using a public IP, or Elastic IP? Whoops, now you’re paying for the incoming traffic too!
  • • Heck, any traffic to a public IP, even from other instances in the same AZ, is costing you money.
I could go on, but I trust I’ve made my point, that there are many many ways in which Data Transfer Costs can end up biting you in the butt. In my experience, about the only way to keep on top of this is to, well, keep on top of it. Scrutinize your bill every month, and pay attention to when the numbers start shooting up. If you’re lucky you’ll catch it before chaos occurs.
(If you’re very lucky, you’ll be able to manage/change your architecture too!)
And yeah, if you can afford it, use something like Cloudability or CloudCheckr to track your costs. The ability to set up alerts has saved my behind more than once!

Comments

Popular posts from this blog

Cannonball Tree!

Erlang, Binaries, and Garbage Collection (Sigh)

Visualizing Prime Numbers