Web Apps: To Host or Not to Host?

Should you start your new blog on Posterous, WordPress.com, or on your own hosting account with a self-hosted WordPress install? Should you use Typekit or Google Fonts to add fancy new fonts to your site, or should you get a web font from Font Squirrel and host it on your server? These are the decisions webapp users have to make daily. The cloud has given us a multitude of ways to access apps from anywhere, and it seems like there’s a new Software as a Service coming out every day.

To host or not to host. That is the question. Let’s dive in and see if we can answer it for ourselves: is it better to self-host your own webapps or use hosted webapps as a service?

What’s the Big Difference?

First, what are we talking about? What’s the big difference between hosted webapps and self-hosted webapps. Here, we’ll define hosted webapps as:

Webapps that are Software as a Service where you use the app while hosted on the company’s own hosting and cannot tweak the basic core parts of the app.

On the other hand, self-hosted webapps are:

Webapps that you run on your own server or hosting account and can tweak the core app to your liking, but you are the one responsible to make sure the app stays running.

With these definitions, Gmail is a hosted webapp. It’s Software as a Service from Google, and while you can change your theme and settings, you cannot change the basic way Gmail works or run it on your own server. On the other hand, Exchange Web Access is usually a self-hosted webapp for many companies. They run it on their own server, can change the basic way the app runs, but are also responsible to keep it online.

Hosted Webapps: Taking the Easy Road

Hosted webapps let you outsource running programs to companies that are dedicated to running your apps smoothly. Google has massive server farm that run Google Search, Google Apps, and many more services we’ve all grown to rely on. Most web developers have used Google Analytics, Google Webmaster tools, and Google Fonts to improve their websites, and our editor and I discussed this very post via Gmail and Google Docs. Hosted webapps are the mainstay of Web 2.0, and most of us rely on many of them daily.

While Google’s apps are free, not all hosted apps are free. 37signals charges for their apps, and Typekit costs if your site has significant traffic. So why do most of us choose hosted services? Because hosted apps are much more convenient. You don’t have to worry about installing the latest updates on Basecamp. If Twitter’s down, it’s up to the Twitter team to get it back up; you don’t have to go scramble and see why the site isn’t working.

Google Apps: The hosted webapps most of us use daily

Self-Hosted Webapps: Tweaker’s Paradise

On the other side of the spectrum are self-hosted webapps. Most CMS apps are self-hosed: WordPress, Drupal, Joomla, and more. With self-hosted webapps, you’re installing them on your own server and managing them yourself. This is great for power users, as you can tweak the apps to work like you want. If you have a blog on the hosted WordPress.com service, you’re pinned in and can only use the tools provided by Automattic. If you host your own WordPress blog with the self-hosted WordPress.org app, you can change anything you want, add themes that entirely change your site, or write a new plugin to turn WordPress into anything you want.

The downside is, you’re responsible for all of your self-hosted apps’ maintenance. You have to install updates, backup your data, make sure they’re secure, and more. It’s a risk many of us are willing to take to get more control of our webapps, but you must consider the extra time and resources it can take to maintain self-hosted apps. The good thing is, many self-hosted webapps are free, and the for-pay ones usually only cost a one-time fee unlike hosted webapps. Plus, you own your own data, so the service can’t just shut down without you knowing.

WordPress offers the best of both hosted and self-hosted services

Taking the Middle Road

Now, is it really self-hosting your apps if you’re running them on a managed server? After all, isn’t hosting from DreamHost or Amazon S3 a service, essentially a hosted webapp? To a certain degree, it is. By using a hosting service, you’re outsourcing the maintenance of the main server itself; you don’t have to dust out the server’s fans, or install the latest version of Apache. It gives you the middle road: the most critical stuff is maintained for you, while the stuff you enjoy tweaking is left for you to handle. In the end, it’s a matter of choice. You can use hosted services for everything, host all of your own stuff, or host your own apps on managed hosting.

Are webapps on a hosting account still self-hosted?

Localhost Webapps?

You can even take this even farther and host your own webapps on your PC. Microsoft’s made it easy to install many popular webapps, including WordPress, MediaWiki, and more, in only a couple quick steps. Even by hand on a Mac or Linux computer, though, it only takes minutes to get MySQL, PHP, Ruby on Rails, and more running on your computer so you can run all of the “cloud” services you want on your local machine. While this takes the “cloud” part out of webapps, it’s a great way to use webapps just like a normal program that works whether or not your ISP is doing their job.

Plus, you can even deploy local apps after testing, or sync them to other computers. This works especially good with simple webapps like TiddlyWiki; just put it in Dropbox and you’ve got a personal wiki ready to use wherever you need. Who said you need Evernote to keep your notes with you?

The Windows Web Platform Installer makes installing webapps locally simple

Conclusion

So, is there just one system you should choose and stick to? Should you use hosted services for everything, or host everything yourself? No! The greatest thing about webapps is how flexible web technologies are. You can run them locally on your computer, host them on a dedicated server, VPS, or share hosting account, or just pay a fee to another firm to keep up with everything for you. Plus, there are some apps that are self-hosted only, such as Mint Analytics, while others are only hosted services, like Gmail.

Instead of being tied in with one type of webapp, there’s room for all to flourish. I personally enjoy the ability to tweak my own site, so I have it self-hosted on my Dreamhost shared hosting account. But, I don’t want to deal with my email on my own, so I use Google Apps for all of my email, calendar, and contacts needs. With other webapps I use, I take a similar approach. If I want more power or want to customize more, then self-hosted works better; otherwise, hosted services are often much simpler.

There’s no perfect answer, and you’re always best to choose what’s best for yourself or your business. So, what type of webapps do you prefer? Do you try to always use roll-your-own solution, or would you rather have someone else manage your services so you don’t have to worry about it? We’d love to hear your insight in the comments!