Posts tagged technology
Posts tagged technology
This is inspired by Ravelry’s and Stack Exchange’s bullet point architecture details. We’ve seen a whole lot of growth in the last 6 months over at FictFact, and we’ve recently rebuilt a large portion of the site from the ground up which has allowed us to spread load across more (but cheaper) machines.
FictFact is a book series tracking site that is primarily built on Microsoft’s ASP.NET and SQL Server. Without the kind folks at BizSpark we probably couldn’t afford the licensing for either one of those so we thank them for their support.
Traffic
Data Center
Production Servers (Amazon EC2)
We recently moved from a large web server to several small after our code rebuild. We’ve also discovered the huge cost differences in buying Amazon reserved instances (it’s more than halved our monthly cost), so if you’re planning on running a project for at least a year and you’ve got the upfront capital I would recommend doing it. Worst case is that if you end up growing you can use those reserved instance for something else.
We do realize that we are over compensating for our traffic, we could run on two small web server instances but we run a third to run backend applications written in C#. The third web server does handle some of our traffic, but we’d love if Amazon ELB had more control on what traffic goes to who. Most likely we will move to something like HAProxy for future load balancing.
Software and Technologies Used
Development and the Future
Most of our development is done in Visual Studio 2010 (thanks again Bizspark), although obviously things like shell scripting, php and python development is usually done in Textmate. There are only two of us (out of a three person team) doing development, so that’s why the operational decision of doing everything in Amazon was decided. When the site REALLY REALLY takes off we can see how cost effective it would be to move to physical hardware at a NOC, but for the time being Amazon is working fine (knock on wood).
We are currently experimenting with queueing with ActiveMQ and Python for some of our “heavier” processes, plus we are looking into using Amazon Map Reduce for making the recommendation engine a bit smarter as well as for generating better reporting.
Although we have looked at using Amazon’s Database offerings we’ve decided to stick with more of a “go with what you know approach” as far as the database is concerned. We are looking in things like Scribe for logging which will be useful for reporting purposes.
And for those who are asking “Why not Microsoft Azure?”, it simply doesn’t offer the flexibility we are getting with Amazon. The major deterrent was it’s lack of ability to run Solr which was tremendously easy to implement and the cornerstone for a whole lot of what we do.
Questions/Comments can be made here or at FictFact’s GetSatisfaction page.