Moving from Heroku to Linode
Heroku is pretty great service. It takes all of the complexity of web infrastructure and reduces it down to a pretty simple interface. Deploying your app is as simple as pushing to a git repository and you don’t have to worry about provisioning users or databases or anything to do with the actual server. I am a firm believer that Heroku is a great choice for many people and that everyone from beginners to large companies can, and should use Heroku for their hosting. For me though, I think I am ready to break up with Heroku.
Its not you, its me (barf)
Nothing bad happened between me and Heroku. It would almost be easier if there was some catastrophic failure that pushed me from the platform. But we just want different things, Heroku and I. And I am not a fan of the people they have been hanging out with.
In 2010, Salesforce bought Heroku for $212 million in cash and the more I get to know Salesforce, the more I don’t really want their hands in my soup. And while its probably fine now, I don’t want to be forced to move and then scramble to figure out how to migrate my entire infrastructure. I want to get out of this relationship before it turns sour.
Also, this gives me a chance to expand my skill set and gives me more independence as a developer and less reliance on closed systems etc.
So as of right now, I am going to be hosting all green field projects on Not-Heroku. On a new project at my Job-y Job, we couldn’t use Heroku since we needed a static IP, and out client barely wanted to pay us for the work, let alone pay for a Heroku Enterprise account (thanks Salesforce for that one) so I took the chance to go through the process of setting up a production Rails environment on a VPS. I went through the entire process four time all told. The first two being a total screw up that resulted in deleting the entire server and starting over. The third time was the charm, and the last run though was to get the process really squared away and to document my process, which I will know pass on to you.
I think there are going to be roughly three parts to this series. This is Part One, the context and introduction. Part Two will be setting up the Virtual Private Server and all the standard prep work. Part Three will be setting up and deploying Rails. My hope is that this will be the comprehensive series of articles that I would have wanted three weeks ago when I was figuring all this out. Hopefully it will be of some use. And if all goes according to plan, by the time this series is finished, this blog won’t be hosted on Heroku anymore.