Like many people in tech, I run my own online server. I’m a bit old fashioned though – instead of paying a provider for my own Virtual Private Server (or VPS), I run a Xen server off my home Internet connection.
Although upgraded over time, my server is nearing three years old. It houses five HDDs, and a bunch of fans to keep it cool. The noise isn’t too bad, however it drives up my apartment temperature noticeably in summer.
At the time of purchase, VPS was simply too expensive for personal use. Plus the management tools just weren’t what they are today. I don’t need scalability (multi-server) for my purposes, and in many ways having a VPS (especially the cheaper options) would have provided less flexibility over what my own server could offer.
Of course, that was then, and things have changed. Amazon now offers a micro instance with 613MB of RAM at no cost for a year (for new customers only), and $0.02 per hour (~$14.60/month) thereafter. If you’re not eligible for Amazon’s free VPS, RackSpace has an even lower barrier to entry at $0.015 per hour (~$10.95/month), albeit with only 256Mb of RAM.
A downside of the VPS options mentioned, is that the amount of RAM cannot easily be increased without increasing the price of these instances considerably. 256Mb of RAM for the RackSpace option is enough for a few basic tasks, but is a limitation if you aren’t careful. To put this figure into perspective, many newer phones these days have 1Gb of RAM. Increasing the RackSpace VPS instance size to one that uses 512Mb of RAM, also doubling the storage, doubles the price too. For the money ($262.80), you could easily get a Netbook with 1Gb of RAM and more storage – and presumably a similar level of CPU power.
Having said this, both Amazon and RackSpace continue to drop prices at an astonishing rate. It won’t be long before VPS solutions are the cheapest barrier to entry for personal consumer servers. Factor in electricity costs and the cheap non-redundant not-super-reliable Internet connection my apartment has, slow uplink included, and my crystal ball says jumping to a VPS solution may well be in my near future – and perhaps yours as well.
Now we have established just how affordable running your own online server is, the question is what you would want one for? Here I present five suggestions that almost everyone can appreciate:
Information Access and Collaboration On the Go
If you’re like me, you might have found yourself in this situation; you go out, end up unexpectedly doing a bit of shopping, and finally realize you left your shopping list at home.
You could have written your shopping list on your phone initially, but let’s face it – that’s not always practical. Sometimes your spouse or flatmate might want to update the list. You might also want to type/update your list on a real keyboard for efficiency, but not have synced your phone. In either case, you’ll find yourself all out of luck.
However, by running your own personal, private wiki, you can access it any time – on a spare computer at a store, on your phone, or anything else. You can even cross off purchases as you go, so your spouse won’t purchase the same things again if they happens to go out at the same time.
You could use Google Docs or similar for this purpose, but not everyone wants to trust Google with their documents. Not everyone cares to have a Google Account. If you run your own wiki server, you control your data.
On that note, the same could be said for syncing browser bookmarks and other information. Firefox Sync for example allows you to sync bookmarks with your own server.
Heard of Google Music? Simply, it is a service that uploads your music collection to Google’s servers for streaming it back to your computers and devices later. Put even more simply? Storage exclusively for your personal music collection.
I can understand the need for such a service. I often find myself out and about wanting to listen to a particular album only to discover I don’t have it with me. If only I could access my music collection remotely somehow?
Google’s service is only available to US residents at present (which excludes myself), but that doesn’t matter. If running a personal server (VPS or otherwise), you can already grant yourself this functionality.
It doesn’t have to stop with music either – potentially you could use it to stream your own videos (as opposed to relying on YouTube), run your own Gitorious server to share code (or to host a SparkleShare folder to mimic Dropbox functionality), or even provide instant access to your photos and ebook collection. Again, there are plenty of Software as a Service (SaaS) solutions that can do the same thing with varying degrees of success, but running your own VPS puts you in control of your data – not somebody else – and provides you maximum flexibility.
Communication & Social networking
I have a confession to make. I don’t have a MySpace or Facebook account. If I want to blog, I blog on my own server – on my terms, and without fear of being banned, blocked or having my blog deleted. Unless my personal blog suddenly becomes far more successful than ever anticipated or expected, my home Internet connection or a VPS instance is more than enough to host my content on a basic WordPress install.
When I inevitably start using a VPS, with a far more reliable Internet connection, I would also use it to host my e-mail too – probably with Dovecot for IMAP access and SquirrelMail for web access – or possibly investigate ScalableOGo if calendar and address-book syncing/sharing is desirable.
There’s no reason to stop at blogging and e-mail; you could run your own XMPP server for instant messaging, your own StatusNet server for micro-blogging should you grow tired of the Twitter Fail Whale, or host your own Flicker-style photo/image collections. The possibilities are endless.
Learn PHP for free!
Make the leap into server-side programming with a comprehensive cover of PHP & MySQL.
RRP $11.95 Yours absolutely free
When I get a bit of spare time (which is not that often), I’m known for enjoying a game of Killing Floor. It’s a team-based FPS zombie-shooter, similar to Left 4 Dead, though it’s been around for a lot longer as a UT2004 mod.
This game supports dedicated servers and there’s nothing worse than connecting to a server someone is hosting, and running into connection problems. Unfortunately, this is not a rare occurrence and can be extremely frustrating – it’s generally caused by people hosting their own server on their unreliable home Internet connection.
While I love the ability to host dedicated servers, it can make for a frustrating experience when not managed properly. There have been times when I haven’t been able to find a close server, so just host a server myself. One unfortunate effect of doing this is that lots of people join, and by the time I finish a few games and want to leave, I have to kick everybody off – which makes me feel bad.
It would be nicer if I could just leave the server running until it was no longer in use and then have it terminate. At the same time I don’t want to leave my gaming computer running when I’m not using it. It’s very noisy, and uses a lot of electricity.
Here’s a thought – what if I used a VPS to host my game? If I already use a VPS for my low-traffic blog, it wouldn’t matter if it gets left running. The only downside with a VPS, is that I would get some latency (whereas if hosted locally, it would be non-existent), though ideally I would run a VPS nearby geographically to minimize this.
As I am in Melbourne, that may rule out AWS for me – Singapore is the closest region Amazon has, but new regions are being added all the time and AWS isn’t the only VPS provider available. However, I imagine running a VPS for game server hosting will be a practical option for many soon, if people aren’t already regularly doing this in other parts of the world.
Here’s a wild idea – how about running an entire desktop on a VPS via FreeNX? I already have a Xen DomU instance dedicated for this purpose which I fire up as needed, and have had one for almost as long as I’ve had my Xen server. It may sound crazy, but it’s extremely useful!
One of the best uses I have found for this is website and web-browser testing. Sometimes, people in our office will complain that a certain server isn’t working. Is it our local infrastructure, such as an office proxy server or firewall? Is it our ISP? It’s extremely convenient to remotely connect to a FreeNX instance running outside of our office via a different ISP and have a look.
Another practical use might be for people who run Windows on a netbook (or OS X on a MacBook Air), but want instant access to a GNU/Linux desktop without running a local virtual machine. FreeNX fits the bill. It’s also handy when working on a computer you don’t own which doesn’t have the software you want installed – just keep an NX client installer on a USB key along with your keys, which you can plug in and run. In this way, you always have your up-do-date desktop with all your software, customizations and settings at your fingertips without leaving a trace of them on the machine you are physically sitting in front of.
There are also occasions when you might want to run graphical applications for extended periods of time, and having a FreeNX session you can just run in detached mode is extremely helpful. For example, my wife isn’t a fan of the command-line, but loves to download things on BitTorrent. Instead of SSHing into a Xen DomU on our server on the CLI, it is far easier for her to connect via FreeNX and run a graphical BitTorrent client. When she wakes up the next morning, she logs in from her desktop with her graphical NX client, and can usually see the downloads have completed.
Of course this last usage example works better when running a VM instance on local hardware as opposed to in AWS or RackSpace Cloud Hosting if the file needs to later be copied locally, however it could still be useful in situations where there the file size of the download is considerable but there are not many seeders/peers to download from.
To The Future
The suggestions I have listed here are a mix of practical and fun ideas, which could appeal to anyone with an interest in technology, privacy or control of their data. You do not need to have a job as a web developer or a mathematician with a need to crunch lots of data to find VPS offerings interesting or appealing – you just need a little imagination.
Looking long term, I personally like the idea of the Internet returning to its roots – becoming decentralized again. I like the idea that technology can now more easily be used to empower the individual – and not just the mega-corporation. Technologies like Diaspora, Bitcoin, StatusNet, Tor and BitTorrent are a great step forward to reaching such a goal, but everyone will need to have their own server to do their own computing on for this idea to be completely successful.
I don’t think a large physical server like I currently run in my apartment is the future. Possibly the Freedombox Foundation will play a part in paving the way to simplify running personal server software for the masses, but a lot of people don’t want to or can’t run dedicated hardware 24×7. As such, I predict VPS will be the future for a great many people – perhaps even yours.
Adam Bolte is SitePoint's systems administrator and free software activist. He has been running various GNU/Linux distributions as his desktop of choice since 1998, and has a tendency to install the Linux kernel onto any device he owns.
Your First Year in Code
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers
Jump Start Git, 2nd Edition