You probably won’t notice this, but my website has been completely revitalized. On the outside, nothing has changed, but on the inside my site is faster, cleaner, and flexible enough to do whatever my heart desires. The secret? I’ve dumped GoDaddy and moved all of my web properties to Linode.
It’s about time.
I have never been very impressed or even happy with the offerings of GoDaddy, but when I was looking to get a domain registered and site hosted several years ago, only one name came to mind, and that was GoDaddy. Advertising works, folks. After the initial high, and intense feelings of self-importance at having my own website, I soon began to realize that I much preferred the experience that I had developing PHP applications on our servers at work than I did with GoDaddy’s offering.
GoDaddy hosting is kind of like having a time share on a car that somebody else owns. And you’re time-sharing this car with about 40 people.In addition to the awful gauntlet of sales pitches involved in any interaction with them, I had spotty uptime and performance, no direct access to databases, and a very limited server configuration, which often meant I would hit impassable barriers when trying to use a feature of PHP which required a module that wasn’t blessed by GoDaddy’s systems administrators. So for the past several months, I’ve been looking at a variety of alternatives ranging from enterprise-level dedicated servers to running the website out of my own home. I eventually settled upon Linode, which is a great, Linux-only VPS hosting provider with offerings for everyone from the casual developer to the viral upstart. V-P-what? Let me explain…
Shared hosting, which is what you’re probably getting with GoDaddy (although they offer other kinds of hosting), is kind of like having a time share on a car that somebody else owns. And you’re time-sharing this car with about 40 people. Now, the owner of the car is very organized and he makes sure that everybody gets their fair share of time with the car, but occasionally you want to drive to New York and somebody else wants to drive to California at the same time, so you compromise and go to Ohio together, or something like that. The owner of the car also takes care of all the routine maintenance, so you never have to worry about changing the oil or breaking down on the side of the road, but the car’s owner won’t let you tweak the car or replace the muffler or add a spoiler or any of the fun stuff. Yawn.
Dedicated hosting is like having a choice between 2 or 3 cars and leasing one of them. It’s yours to use whenever you want, and you can tweak it however much you want. You also have a really good friend at the local auto shop, and he takes care of all the maintenance for you at a fair price. You can get a lot more done with a car that’s all your own, but you’re technically just borrowing it with the rights to use it at your will. To have even more flexibility and choice in cars, we need to climb to the next level of the hosting ladder.
Colocated hosting (“Colo”) is kind of like buying your own car in cash and then renting the garage space from somebody else. As far as flexibility goes, this is really as good as it gets. You can buy the fastest car money can buy or a compact budget car, and you’re responsible for everything that happens to it. The guy with the garage makes sure that there’s a good roof over your car, but if you crash it, you fix it. Now in reality, they don’t sell Colo “garages” for just 1 car—the smallest is a garage for 20 cars. Since most people couldn’t dream of owning 20 cars, colocated hosting is usually only used by large companies with complex needs.
Virtual Private Server hosting (VPS) is halfway between shared hosting and dedicated hosting. It’s also a little tougher to fit into the car analogy, but we’ll give it a shot. With VPS hosting, through the magic of computer virtualization, you appear to have your own dedicated system that you can configure to your liking. It’s not quite as powerful as an entire car, but it’s yours. So VPS hosting is kind of like owning a Vespa. It seats one, but gets you from A to B. Vespas are also pretty cheap, so if your needs grow over time, it’s not out of the question to buy a few more Vespas for some multitasking.
I decided to go the VPS route, since this website is a hobby, and not something I really want to pour dollars into. There are a number of VPS providers out there from the behemoth Amazon Web Services to tiny one-man shops like prgmr.com, but I landed on Linode for a number of reasons, primarily: cost, availability, and growth potential.
Pricing with most VPS hosting providers is based on the amount of RAM that is reserved for your specific virtual server. Linode’s cheapest package is a virtual machine with 512MB of RAM. Compared to the laptops and desktops that we buy in stores today, this seems downright ancient, but you have to remember that we’re talking about low-footprint Linux systems that are meant to run just fine on systems like this. My virtual server does 2 things: serves web pages, and runs a tiny database as a backend. 512MB is plenty. As I write this, my server is only utilizing 35% of its available RAM, so I’ve got room to grow.
Availability is critical when hosting a web site. Having a site that people can’t get to is pretty much useless! The risk of using one of the really little guys is that they lack the ability to support even minor outages, so you’re at risk for a lot of downtime. Granted, even the big guys like Amazon have had some high-profile outages, but a good track record for responding to outages is just as important as preventing them in the first place. Linode has distributed their datacenters across the world (there’s even one right here in Dallas) to avoid having an outage that takes down all of their services. From one control panel, I could choose to have redundant servers in multiple locations so that if there’s an outage at the Dallas data center, my server in Atlanta still works. Linode also provides managed load-balancing and backup services.
The biggest unknown when evaluating a hosting provider is figuring out how much room you have to grow. This can be especially difficult, because you may not always know how much you even want to grow. My advice on this one is to “plan big” and imagine that within the next 5 years, you’ll be doing 5 times more than you’re doing right now. I can do this with Linode, because I have the ability to create and destroy new virtual servers at my will. I could create a testing server for a few months while I need one, and then get rid of it when I’m done. I could create a powerhouse application server that supports a separate high-bandwidth web server that’s all connected to a separate high-capacity database server. Linode is one of the few VPS providers I’ve found that offers this much communication between separate virtual servers. All of this communication happens on their very fast private network, so it’s kind of like having your own private data center, with some help from the professionals.
Only time will tell what crazy fun stuff I can do with nearly unlimited access to some fast servers! What would you do if you ran your own server?