If you’re like me, you have a number of personal projects and applications that you host somewhere. For example, I host:
- my own SMTP and IMAP servers
- DNS servers
- a web-based RSS reader
- a Jenkins instance
- various WordPress blogs
- etc.
Hosting those projects by myself allows me to learn how those services work, gives me more control over my data, and helps some non-profit entities I work with. I wanted to control the money I spend each month in hosting services, and I ended up choosing a dedicated server at Hetzner and a VPS at LeaseWeb.
I came across a Reddit thread Anyone use AWS for personal stuff? where people are discussing how much does it cost to host an application in AWS. Since I’m writing a book on hosting web applications I couldn’t keep myself from giving my advice on whether AWS is right or not for the use cases listed in the Reddit thread.
a personal Ghost blog with the database on RDS and the static files on S3 (link) – monthly cost $15 + the upfront reservation cost + the S3 cost and the bandwidth cost
- automating backups is quite easy, the only worthwhile part seems to be the elastic beanstalk fault tolerance – excluding this factor, I would rather pay $10 each month to DigitalOcean or Vultr to host the same blog and get probably better performance
a bunch of dumb personal sites (link) on a single EC2 micro instance + CloudFront for $20 per month
- one single EC2 instance doesn’t give any of the cloud benefits, I would move to a DigitalOcean or Vultr VM for $10 per month and maybe keep CloudFront for the static files if the performance gain is significant
a few low traffic static sites out of S3 for about 3 cents a month (link)
- this is a good use of S3, there isn’t another solution that cheap and with the same performance – just watch out for the bandwidth costs if the sites get popular
back up some stuff on S3 and Glacier for $1 a month (link)
- good use of cheap resources and variable pricing to pay only for what’s actually used
a minecraft server for $15 a month (link)
- this is something that should have gone on Digital Ocean or Vultr or OVH again, and it would have been $5-$10 without thinking for a single moment about complexity like spot instances or turning it off when not in use
Teamspeak and Mumble server on EC2 instance (link)
- a single EC2 instance rarely makes sense, and I would really like to know with which server the price comparison was done
InfoSec News on a micro/small EC2 instance (link)
- this poster has identified the major pain point of AWS: pricing is not transparent nor predictable, and many essential services (like bandwidth) are sold at a premium compared to the competition
Should I use AWS for my personal projects?
The use cases that make sense are:
- static sites on S3
- backing up stuff on Glacier
- features not available anywhere else
- learning how the various AWS services work
The last one is important: if you’re trying to get hired at a company that relies on AWS for its hosting needs, being able to show some experience with the features and the many subtleties of the AWS services can make a difference. However, if all you want to do is learn general server administration my advice is to rent a VPS or a dedicated server and not worry about the additional complexity of a cloud environment.
Do you want to know how to perform this kind of analysis? Do you need to choose where to host your app and you’re overwhelmed with informations and choice? Check out my book where I teach you how to choose the best solution for your own unique needs.