Ask HN: Does anyone ever migrate a large app from AWS to Heroku?

5 points by harrisreynolds ↗ HN
We have a fairly extensive platform. Two Rails web apps (UI) and three more API Rails apps all talking to a central postgres database. It is all running on AWS. My challenge though is that we don't have a dedicated DevOps resource and it is a huge challenge to get all the supporting infrastructure working well for dealing with monitoring, logging, exceptions, deployments etc. It seems like this stuff would be easier just running on Heroku and using a small handful of plugins rather than trying to manage it all ourselves with open source stuff we need to set up (Graylog, Sensu etc). I hear about people going from Heroku to AWS because of cost, but I wonder if anyone goes the other direction for ease of use?

6 comments

[ 5.6 ms ] story [ 28.0 ms ] thread
I personally haven't come across someone moving from AWS to Heroku.

Also, are you using elastic beanstalk to manage your app or just regular ec2 instances? Using beanstalk should simplify most of the tasks for you.

Disclosure: I work at Heroku.

Yes, there are people who move from AWS to Heroku. The decision to choose Heroku over AWS can be multifaceted, but usually comes down to a couple things: development experience and operations experience. Heroku strives to make the process of developing and launching an app extremely simple yet incredibly powerful. Providing a toolchain that simplifies the configuration of production-ready app execution environments enables developers to focus on what they're awesome at - developing great apps. And not having to become an expert on provisioning, scaling, and maintaining individual pieces of infrastructure can eliminate or reduce the necessity for dedicated DevOps.

Is Heroku the right choice for every app? No. However, Heroku hosts everything from small exploratory apps to sites like Upworthy and Urban Dictionary, so is likely worth your consideration. If you're interested in talking a bit more offline you can reach me at theandym at heroku dot com.

I am sure plenty of people go to Heroku from AWS and vice-versa of course. But don't underestimate the amount of work it is to switch either, you already have a working, running solution today. You maybe better off taking a week or so of time and just automating your AWS infrastructure using either OpsWorks or Ansible etc. Then deploy something like the ELK stack for the monitoring and logging to make that easier and be done with it. I am not saying any of this is trivial, but once you do it you will not have changes every day. My bet is it would take you a week or more to move, and it would probably take a week or so to automate most of your "issues" today. But at least with AWS today you know how your app is performing and acting etc.

If I was in your position, I'd probably try to automate the pain points first, then move as a last resort. Unless there are other reasons for wanting to move. But either way, just don't underestimate the work to move.

+1. We weren't on AWS, but we had co-located rack space and we moved our main rails app that has been in development for 4 years over to Heroku. It took much much much longer than anyone expected. Like we thought it was a 4 man weeks of work, turned out it was a few man months of work.

Most of the work we had to do centered around data. The rails app it self pretty much worked. We had to change a few things moving from mySQL to Postgres. We depended on a gem that apparently was only tested against mySQL and when we moved to Postgres had to scramble pretty hard to get stuff fixed. How am I going to get this legacy Domino/Lotus Notes system and AS400 to talk to this postgres database or am I going to build APIs around it, etc were harder to solve.

We moved to Heroku because we didn't have the time or skills to do devops well. Heroku has dramatically reduced the amount of time we spend around devops to the point that most months it approaches 0. We also have been using New Relic, which I don't think we would have installed without Heroku. This tool is amazing and has allowed us to respond to trends much better.

Our move to a more SOA infrastructure drove us to Heroku, and for us it was totally worth the switch. If you, or anyone, has specific questions feel free to reach out: noah@noahc.net

Before you explore Heroku much further, I would recommend doing some cost analysis and see what it would cost you versus hiring some part time or full time DevOps help.

Even if you find that it costs you twice as much to hire a DevOps person, it will be worth it. You should try to avoid the cost (and the impact to productivity) that a Heroku migration would bring if you can.