Why We’re Not Leaving The Cloud

Mars Camp, Wadi Rum, Jordan

You’re A Rich Girl, And You’ve Gone Too Far
‘Cause You Know It Don’t Matter Anyway
You Can Rely On The Old Man’s Money
You Can Rely On The Old Man’s Money
Rich Girl, Hall & Oates

David Heinemeier Hansson recently posted about Basecamp’s decision to leave Amazon AWS and move to self-hosting their own servers, Why We’re Leaving The Cloud. It’s a good post and you should check it out. Basecamp is spending over half a million dollars a year just on database and search hosting.

Renting computers is (mostly) a bad deal for medium-sized companies like ours with stable growth. The savings promised in reduced complexity never materialized. So we’re making our plans to leave.

David Heinemeier Hansson

David frames the question of hosting as a choice between two extremes. One the one hand, you buy and run your own servers. On the other hand, you use a full service cloud provider, like AWS, including their managed services, like RDS. But that’s a false dichotomy. There are plenty of options in the middle, both in terms of providers and in terms of how you utilize them. By going this middle path, you can get many of the advantages of the Cloud without incurring the added expense.

Not Just The Big Guys

When people think of the cloud, Amazon AWS immediately comes to mind. There’s also Microsoft’s Azure and Google Cloud. But there are other options as well, such as Rackspace, Digital Ocean, and Linode. At Groups.io, we have used Linode for over 8 years to great success. The reason that we use Linode instead of AWS is price. They cost less than Amazon or Microsoft or Google.

Typically these companies don’t offer as many services as the big guys. Linode is just now starting to offer a managed database service, for example. But that’s fine for us because we run our own database. And that brings up my second point. By managing our own database, we again save money. Basecamp is currently using Amazon’s expensive managed database offering. When they switch to their own servers, they will need to manage their own database anyways. So there’s no advantage to moving to their own servers over how we’re using the cloud.

But even with managed services, we come out ahead with Linode. We currently use Amazon S3 for a lot of our storage. But Linode recently started offering a compatible service that will allow us to cut our storage bill in half. So we will be moving to that soon.

Sure, But Renting Still Costs More Over Time

Yes, regardless of where you host, renting machines will cost more over time vs owning and hosting your own machines. It’s worth it for us, because even though, like Basecamp, we are a company with stable growth, it’s still important for us to be able to bring up new machines quickly and/or for short periods of time. Let me give you a recent example.

We use Postgres for our database, in a three machine cluster configuration. We needed to upgrade from the older version we were using to the latest version. For us, the best way to do that upgrade was to bring up three new database machines, copy the database over, test it, switch the site to the new cluster, and then retire the old cluster. With Linode, we were able to bring up three beefy new machines quickly and just as quickly retire the three old machines. If we were self hosting, we would have to purchase those new machines, at considerable expense. We would have ended up with three large machines sitting idle after the upgrade.

The Pain Of Owning Your Own Servers

I’ve had to run to the datacenter at 3AM to fix a broken machine. I’ve had to deal with datacenter (lack of) cooling issues causing hard drives to prematurely fail (thankfully SSDs moot this). I’ve had to deal with flaky server BIOSes. I’ve had to deal with running out of rack space in a datacenter that’s full. I’ve had to deal with negotiating co-location and bandwidth contracts. I am more than happy to pay more to never have to deal with any of that again. I do not consider hardware to be one of our core competencies, nor do I want it to be.

Decentralize All The Things

One final point that David makes is that many services are hosted on Amazon, and that is not a good thing:

It strikes me as downright tragic that this decentralized wonder of the world is now largely operating on computers owned by a handful of mega corporations. If one of the primary AWS regions go down, seemingly half the internet is offline along with it. This is not what DARPA designed!

I completely agree with David on this. And I like to think that we’re doing our part.

Groups.io is the best tool to get a bunch of people organized and sharing knowledge. Start a free trial group today.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s