The last 72 hours have been a wild ride leading up to the launch of my new site, Hyperpublic.com. I'd say that I got about 3 hours of sleep last night, 0 hours on Sunday, and maybe I was lucky to get 4 hours on Saturday. Pushing the site live this morning gave me all the adrenaline I needed to carry through the day however, as watching the users, tweets, and data pour into our hyperlocal object database kept me from falling asleep on my keyboard. A great writeup from Techcrunch and The Observer provided an extra boost of momentum.
We got quite a bit of traffic, and thanks to Heroku
, the instant deployment and scalability Ruby application hosting service, we were able to handle all of the activity without a problem. The last thing you want to worry about on launch day is keeping the site up, and instead you want to be supporting your users and getting their feedback. After a few months of building and a momentous sprint at the end to get launched, I was very excited as we were nearing COB here on the east coast and traffic was starting to level off indicating that I would be okay to finally get some rest.
But that was not to be, as anyone who's ever launched a web product before knows, anything that can go wrong, will go wrong (ATCGWWGW). The site went down around 5pm with a few hundred active users on it.
There was no evidence, no error, no log message to indicate what the problem was. I tried everything I could think of to get it back up with no success. That's when we reached out to the aforementioned Heroku to see if they could help diagnose the issue.
I filed a ticket with support hoping to hear back. Sure enough a few minutes later I got an email response. After a quick exchange we were on IM. A few minutes later my contact had the database team looking into the issue while he worked with me to help diagnose it at the application level. After about half an hour we found out that the database drive failed and needed to be switched out. They made the change, and within minutes Hyperpublic was back online.
Anyone reading this may first react that this was Heroku's fault in the first place. Sure it was horrible that my app was down for an hour on launch day, and I would have preferred that there was no problem with our database. But as mentioned before, ATCGWWGW, and I'm damn glad that I had Heroku at my back helping to diagnose and fix the issue, as opposed to having to go it alone with my own server or unsupported hosting.
Instant, personal, realtime, friendly, and free support more than makes up for the occasional glitch in service, even if it occurs on a launch day. Once again, thank you Heroku.