The Five Megabyte Web Developer

In the last couple of years I’ve witnessed a disturbing trend: developers adopting free Heroku as their only means of hosting side projects. More disturbingly, I operated this way myself for a couple of years. (Yes, freemium can be a trap for customers just like it can be a trap for businesses.)

Heroku has five megabytes for database space, which often sounds like it ought to be enough when it isn’t. Want auditing and comments? Nah, that’ll take up too much space. Its single dyno free plan serves one request at a time. The next steps up are twenty dollars a month and five cents an hour for databases and dynos, respectively. These aren’t that expensive for a major project, but for several side projects it quickly adds up.

I realized this and switched back to running a VPS, this time on Zerigo, which I pay for annually. There is no limit to the number of apps I have. Concurrent requests are supported. They can use the same databases. Database backups are free and uncomplicated. I’m also happy to be outside of the cloud oligopoly that seems to be forming.

Besides that, it’s fun! I get to try niche language platforms. Node.js was building steam long before Heroku supported it, and it still doesn’t support websockets. It’s not hard to find, with a little thinking, other interesting platforms to try. How about Racket or Factor? Or setting up your own Lucene server, or a web server that uses the git command line tool? Those can’t (easily) be run with Heroku.

I find anecdotally that most developers don’t have their own websites or non-trivial side projects. I only have the first, but I can sense that my personal website is helping me prepare to launch non-trivial side projects. I’ve done very little work to set up this server, yet despite tweeting about it and having visitors and occasional commenters, it stays up. That gives me the confidence I need to launch something bigger.

My plea to other developers (and aspiring developers) out there is to draw parallels between programming and other creative works and find out how much you could responsibly be spending for hosting side projects, and then realize that there’s no reason you shouldn’t have at least a VPS.

6 Replies to “The Five Megabyte Web Developer”

  1. Id never do freeium, but for people limited on money grab a cheap shared hosting acccount it will at least be a starting place. $40-$50ish a month for a VPS is a good chunk of change for some people.

    1. A VPS roughly equivalent to mine (with 512MB memory rather than 600MB) costs $19 a month. I think I paid under $200 last April when I bought a year of annual hosting, so that would have been less. It’s still a chunk of change, though, and I agree that shared hosting is a decent starting place.

  2. Why not just use an Amazon server? A micro-instance is around $6 a month and if you need more, it would only take an hour to get yourself onto a larger instance. We were getting 15 – 20,000 visitors a month while running Drupal. Still tweaking Wordpress, but apparently with a bit of server mods, its capable of handling 1500 requests a second.

    Side note – A 5MB database might be okay with a small wordpress, but would be destroyed if you were using Drupal or Joomla.

  3. +1. I have been happy with hosting my web site and a few side projects. I actually have been looking for other local developers to split the fees as a 512 MB VM can host about twice what I’m putting on it. Owning the stack and the devops chops that comes along with that is valuable for work in the real world as well.

  4. I don’t think it’s bad at all that people use Heroku to host their small projects. You can handle more than one concurrent request on Heroku, if you use Node. And if you’re willing to use a cloud database service like MongoLab, each of your apps can get 240MB of Mongo database for free. For my non-monetized side projects, I would much prefer to have an extra $30 each month than the flexibility of a VPS.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.