Ask HN: Hosting personal site on a VPS, or in the cloud?

34 points by elmarschraml ↗ HN
I'm a software developer currently in the process of setting up a new personal site. The goals are 1) Google insurance (somebody who searches for my name should find some good, real info about me) 2) A place to put content I'd like to share (personal programing projects, slides of talks, language reference sheets etc) 3) A place to point people to so they can see what kind of guy I am before meeting me (both personal - blog, pictures etc and professional - resume)

I was planning to get VPS hosting, and run everything myself (Apache, MySQL, Wordpress, Gallery, Svn-Server, Trac etc). But in the process, I realized that almost everything I need is available as a cloud service: Blog on wordpress.com, photo gallery in flickr, code hosting on github, slides on slideshare and so on.

It's 2010, is it still a good idea to run your own webserver for a site like this?

Main advantage of cloud hosting: A lot less work, leaves more time to create content.

Main advantage of my own server: You gain experience on the admin side, too. And you're fully independant if a cloud service is shut down.

What are your thoughts on this?

Also, if you run, or know of, good examples of such a site, I'd be thankful for a link to it.

41 comments

[ 4.8 ms ] story [ 88.3 ms ] thread
So much for a personal site?

If you really wanna ship it (the site) then even shared hosting is enough.

But if you want to dive into something bigger for sake of it and you like more control then go VPS.

This really is more of a personal choice then technical decision - since you don't need either Cloud or VPS. Shared hosting is enough for personal site (unless you are Paul Graham, of course)

I wouldn't run my own VPS because then you have to worry about security and patching. If getting sysadmin type experience isn't high priority, go fully hosted.
The major problem with 'in the cloud' assuming you mean something like EC2 or Rackspace Cloud is performance.

Many of those types of hosts use a similar setup for file-systems (Amazon might not, but not sure): GFS. Now, GFS has suffered from problems, and even huge, expensive hosts like EY got hit with it. In fact, the last time I worked with cloud hosting (I much prefer my own box) load times for static images could take up to 200 ms due to the design of GFS.

My suggestion is either go shared (If you don't want to learn sysadmin tasks) or if you do, go with a good VPS host, or get a dedicated box.

By cloud I think OP means just linking or CNAME-ing out to multiple fully hosted services.
Yes, exactly, thanks for clarifying. Just wanted to be fully buzzword-compliant, I guess...
Ah, indeed.

In the cloud usually means to me something like EC2 or Rackspace...etc.

Github pages has worked great for me. It's free, you don't really have to worry about anything, and it's all Git.
Github also seem to have removed the requirement to be a paid user to serve up your username.github.com repo via your own domain name.

Thus a free no-nonsense static site host. Yay!

I'd go for a simple static site (on a VPS) containing a brief introduction -- a main profile if you will -- and then let your actions on other services (github, bitbucket, facebook, twitter, flickr, tumblr, posterous etc) describe you.

You'd remove all the must-dos and still be able to learn a lot by administrating your own server. You can, for example, simplify deployment of your static site (fabric, capistrano, git-hooks etc), tweak performance (try different web servers, different settings and benchmark), increase security (keep up-to-date with best practices, patch software), set up ssh tunnels, a backup server, a closed version control repository and a lot more.

Second this. I'm doing the same thing. Static site using StaticMatic on a VPS (Slicehost). My profile page links to Github, Twitter, posterous, etc.

I learned a lot setting up and administering my own Linux server (I have a Windows background), and use it to play around with various setups / tools.

If you're running a static site, then you can host it on S3 for much cheaper than the $5 / mo you're probably paying for your VPS. All you have to do is create a CNAME www.yourdomain.com that points to bucketname.s3.amazonaws.com, then upload your site to the bucket. Make sure to set the ACLs on the objects such that they are publicly accessible, and also upload the files with the correct mime types.

For a 50MB site that transfers 5GB of data per month, you'll pay $0.61 / mo. Not too shabby, and if the site is just your resume and a few static pages you'll use much less.

I like this idea a lot. Can you recommend a service to take care of e-mail forwarding?
I always end up using my private server as a second development sandbox, so, if it were me, I'd pick something that's different from the stacks you have elsewhere.

Of the servers I have that aren't attached to any actual projects, I have one Solaris box, two Ubuntu Linodes, Github, an EC2 Micro with Ubuntu and a Fedora Slicehost. Oh, and a couple apps on AppEngine.

I rarely have to look far for an environment to 'test things out on' quickly without having to stand up a whole new VM or anything crazy.

That's just me though, and I don't know of anybody else that does it this way, so I wouldn't call it optimal.

The point though, was that if you've never played with the quirks of setting up something to run on EC2, do that. It's fun knowledge to have. Never coded against AppEngine? Do that. It's worth learning. Stick something up on Heroku if you want. Build a blog there.

If you know python, go Google AppEngine. If you know Ruby, go Heroku.

Both have free options and can host everything you need.

I use Ruby on Google AppEngine. I was running out of resources on Heroku (free plan). It's good and has some community support. It does start up slow, so you have to be prepared to run a cron to hit once a minute or so. http://code.google.com/p/appengine-jruby/

That being said, I wouldn't go overboard creating your own blog engine (which is what I did initially) you can just end up dumping countless hours into a site lacks features and data that's difficult to migrate. I agree with the sentiments of one static page with links to a word press blog, Twitter, Facebook, Github, etc.

I was running out of resources on Heroku

This is something I'm concerned about. I like a whole lot about Heroku, but the upgrade path is strange and seems illogical. Could use some insight here.

The jump from 1 dyno (free) to 2 dynos ($36/mo) seems excessive. What seems even worse is that the database options are: 5M (free), 20G ($15/mo, reasonable), and then the next step up is 2T at a whopping $200/mo. Where's the in-between? I can imagine running out of space with 20G, but I would reasonably expect a next step that costs maybe $30/mo -- measured growth! $200/mo could easily be too much too soon and would probably force me to go elsewhere.

I've been thinking about going to the next HUG (Heroku User Group) meeting just to try and talk to them about this. Heroku would be the perfect place to grow a startup from the micro stage all the way up to the big time, except for the roadblocks in the growth path.

Heroku is killing it in RoR today, but I also noticed their rates jump up real fast.

The reason is, they're on the forefront in this area, and really don't have any legit competition yet. They make it so, so easy to get going, and people rave about this constantly.

I'm a WebFaction guy, they hit just the right point for me, with regard to price vs. features vs. a technically competitive/modern configuration.

I haven't started moving into cloud services yet, because I just have a natural aversion to "leasing" as opposed to owning, though I realize a hired host isn't much different.

I just see all the cloud services nickle-and-diming you to death - the meter is always running, all the time, in small ways and large. A flat monthly fee is plenty enough for me to worry about.

With Heroku, they've obscured so many of the sub-components behind cute, fabricated names... I don't want to have to worry about contracting enough cycles, or workers, or R2D2's, or time, or speed.

Though I realize this does work well for some users, I'm not that kind of user.

I've done both, and I would strongly recommend putting your personal stuff in the cloud. It is one of the most frustrating things in the world when you can't work on any of your actual paying work, because you have to spend the entire day getting your personal site back online after an unexpected spike crashed it.

The only caveat is to absolutely make sure that wherever you host your site, you can set your own URL. That is the only way to ensure maximum flexibility so that you can later self-host or move all your info (and google juice) to another cloud service. If you build all your reputation on mysite.posterous.com, then so help you.

EDIT: I'm not picking on Posterous, just saying if you're going to put your blog there or anywhere, use your own domain! If you don't, you cannot undo that later after you've built a reputation and tons of backlinks pointing to their domain.

  > and tons of backlinks pointing to their domain.
That's going to be a problem anyways, since whatever system you choose will probably not use the same URL scheme. You'll either need to break those backlinks or spend the time to write a compatibility layer.
True, but if you own your domain, it's possible. If you don't, you're stuck. For example, if you wanted to switch to WordPress, there are plugins that allow you to easily redirect old URL schemes to new ones.
I'm a huge fan of WebFaction.com for hosting. I host my personal stuff and sites I'm tinkering with on there, it's shared hosting but acts like a VPS (gives you application memory), and they also have a bunch of 1-click installers for Wordpress/Rails/Django etc.

For a personal site I'd probably do something static with your blog hosted on posterous - but wordpress w/ wp-supercache plugin works pretty well. Grab a theme off of ThemeForest (or one of the 80 million other theme sites) and tweak it a bit.

I think everyone should have some basic server admin experience, but having to update a personal server can be a hassle. I login to my hosting control panel probably 3-4 times a year, max. It's just a convenience thing, they patch it and make sure my site stays up.

If you go with App Engine, check out Django-cms and Vosao, two ready-made CMSs designed for it. Might save you some time building your site.
If you're a software developer I'd argue that it's better to sharpen your skills by having your own vps with your own stuff. Amazon has a free tier promotion thing as you probably already know, so that's a good bet. Also, Prgrmr [http://prgmr.com/xen/] is really good and freaking cheap.
I'm currently setting up an EC2 instance to serve up my personal site using this free tier. I just need to figure out how all of this domain level stuff works.
I've been wondering the same thing. I already manage a high traffic site and its enough work having to worry about 1 site, I don't want to spend time in another one. I wish there was a fully customizable and cheap WordPress hosting somewhere that took care of all the security updates. Wordpress.com does not let you create CNAMEs unfortunately. Any suggestions?
I've got a $20/month VPS at RootBSD, and I snagged a $5/month Linux VPS that was promoted here a few weeks ago (VPS Tree). I love 'em both, as I'm an admin by trade and I love the total control I get. Not that I have a site to really speak of, since I'm kinda stuck in that deer-in-the-headlights phase of someone with a cool idea but can't seem to muster the creative juices to make anything not look like a mid-90s Geocities page.

If you want cheap, I (as a former costomer) recommend you check out NearlyFreeSpeech.net, as they give you some control (a shell). The service is pretty good and the owner is pretty damned sharp. You deposit a pool of money and they drain from it depending on the resources you consume. It's tiered in such a way that it's often a good deal for many sizes of sites.

Two small things. First, Cloud Hosting != cloud service. Last, at $5 or $10 a month, it's a pretty good deal to rent a VPS and learn a couple of things along the way.
A friend of mine has a combination of cloud/hosted setup for his personal site, and I'm leaning towards setting up something similar. Why not set up a landing page on a cheap server (a la NearlyFreeSpeech) and use that to link to your presence in the cloud?
You didn't mention email, but if you have your own server one nice thing you can do is run something like fetchmail on it to grab your mail from all your other email accounts, where you can apply a uniform set of spam and sorting filters, and serve it up via IMAP over SSL, and if you like also via a web interface.
I'd recommend checking out Drupal Gardens by Acquia: http://www.drupalgardens.com/

It's hosted Drupal, similar to Wordpress.com but you can point your own domain at it for free, and you can do custom CSS for free. It's completely free for the ad-supported version and very reasonable after that. It has most of the blog/gallery/social media/videos, etc stuff that anyone could want.

The biggest feature is the ability to export your whole site, database dump and and all if you want to host it yourself, or add other modules that they don't provide.

Don't do either.

What you want for this is control-panel hosting. I used Dreamhost, but there are hundred of other options.

The thing you are looking for is a simple control panel to let you install & upgrade software.

From your list Dreamhost has the following as one-click installs: Wordpress, Gallery, Subversion, Trac (also MediaWiki & plenty of other things).

It has MySQLAdmin (or whatever the MySQL admin thing is called)

For things that aren't on control panel you get (non-root) shell access, so you can install most PHP, Python, Ruby & Perl applications.

I have a number of VPS's, and I work on AppEngine applications, and I wouldn't use either for my personal site. Getting Wordpress auto-security updates is worth it in itself.

I recently set up my personal web page at www.prgmr.com. For $8/month for 256mb/6gb, I have no problem paying that much. It's been a great experience, trying to get everything set up and running the way I want it. I couldn't be happier with it. I really enjoy running my own site, and getting to choose when and what gets upgraded.

You can always integrate external services as needed anyway. I use google apps for mail. I wanted to use Google App Engine for another project, but being restricted to Python 2.5 was a bit of a deal breaker for me, so for now I'm just testing it on a sub-directory on my personal site. When I'm ready to launch it on it's own domain, I will simply get another VPS and push the site over to it.