HOME RUMORS & NEWS TWITTER VIDEOS MLB SCORES SUPPORT BUY IPHONE APP
Mar
29

The technology behind PRO Rumors

By Allan

I have a lot of appreciation for companies like Facebook, Twitter, Amazon and Yardbarker (to name a few).  Not only do they come out with awesome products that are beautifully designed, but they can scale it out for millions of users per day.  PRO Rumors is not quite at that level (yet), but we’re learning what it takes to incrementally support a large user base.

There’s a few things that you should keep in mind when you visit us at www.prorumors.com.  The website is coded in Ruby which is an object-oriented programming language on top of a Rails framework.  Ruby is similar to the more popular Java language.  Ruby on Rails allows us to rapidly deploy new codes several times a day, so that’s why you may see a new feature or a change come up quickly.  Programming gives us the flexibility to add cool widgets such as the stats and contract pages that you see throughout the website.

All of our data is hosted on MySQL database server.  I debated long and hard about using MySQL as opposed to PostgresSQL or the whole NoSQL movement.  I chose MySQL because I was familiar with it, and it allowed me to get to market as quick as possible.  I’ll eventually have to revisit this idea in the near future as we grow.

Our data sits on several CentOS Linux servers with Rackspace.  I’ve been really happy with Rackspace.  Awesome customer support and they built design into an industry that traditionally did not consider user-interface.

Our iPhone app (which is coded in Objective-C) uses the same MySQL database via an web-based API that we created.  So as we grow in both the website and the mobile market, we’re starting to realize that we need to scale.  The first fix was to add memcached which alleviated some of the pain and served up pages a lot quicker.  The next thing we needed to decide was to either scale vertically or horizontally.  The quick fix is to scale vertically or add more resources to our servers.  At some point we’re going to need to scale horizontally by adding more servers (which takes more planning and effort) in addition to optimizing our code.

There are other pieces of technology that we use such as Nginx web server, Mongrel clusters, jQuery, Subversion, etc., but I’ll save those for another day.

So if you see a hiccup here and there, keep in mind that we’re growing and we’re working hard to fix it.  Let me know if you like the posts such as this one describing the behind scenes work of PRO Rumors, and I’ll write more about it in our blog. If you have any questions, please feel free to email at allan@prorumors.com – I promise to write you back.

Allan

Categories : PRO Rumors, blog