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.
Thus a free no-nonsense static site host. Yay!
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.
In the cloud usually means to me something like EC2 or Rackspace...etc.
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.
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 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.
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.Both have free options and can host everything you need.
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.
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.
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)
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.
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.
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.
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.
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.
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.