Organic (growth) is good

At MyBuzz we’ve been fighting a “slow” fire for the last couple days. Every time our crawl kicks off, our website becomes very slow, because they’re hosted on the same box. Fortunately, since we’re still in beta and don’t have a ton of customers, this wasn’t a big deal and people were understanding. This highlights a big advantage of organic growth – we never have to fight flash fires, so we don’t have to cut corners.

The problem turned out to be a spike in memory usage. We have a Rails site that kicks off a rake crawl process. As our customer base grew, we began to see a steady pattern of failures, because crawls started to overlap and the combined memory usage maxed out our server. There are two ways to fix this:

  1. Throw more hardware at the problem
  2. Re-architect the system

On the surface, option 1 seems attractive. We don’t have to write any code, and a server twice as big costs $50 more a month. Option 2 requires a significant amount of dev time. It ended up taking a couple days. Surely, a couple days is worth more than $50?

Without solving the root of the problem, it’ll come back again as we continue growing – when it’ll matter more, with more customers who’ll expect a non-beta product to be up and running. Knowing that, we took the time and made the crawler run on Amazon’s Elastic Compute Cloud (EC2), which means we’ll be able to scale out infinitely. This comes at a cost savings as well. EC2 costs $0.1 / hour. Because the crawler doesn’t run constantly, we’re paying for about 10 hours a day, which translates to $30 a month. And it’s a more powerful server!

We could have saved the rewrite for a later time. Now that I think about it, we already passed on it once and doubled our memory :) . So this post isn’t about making good decisions. It’s about having the option to make that decision. Instead of spending time and money on acquiring customers, we’re focused on improving the product and making sure existing customers are super happy. And a good product sells it self (mostly :) ).

Advertisement

No comments yet

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

Follow

Get every new post delivered to your Inbox.