Sunday, January 23, 2011

How to host a scalable social networking app

I am in the middle of developing a social networking application for a very select user niche which could scale to a few million users. Right now I have always hosted applications on RackSpace Cloud and I have no issues with them at all - always been a really good service and never had any downtime.

My question is though does anyone think that cloud computing is not the way to host scalable web apps? Or can anyone with experience of this recommend a better solution.

I have always shunned trying to run big servers from my own facilities as I think it seems silly to go to the expense of bringing in big alternative power supplies and all the other necessary precautions when other companies already do this. I looked at managed hosting services but this proved to be a bit too expensive for us at the start and the scalability of it wasnt good enough - it would take a day or two to get a new server provisioned. Therefore I ended up on a cloud platform.

If anyone has any recommendations or advice it would be greatly appreciated.

  • It sounds to me very much like you've answered your own question. You don't want to buy in big servers, set up a robust network infrastructure, multi homed, split power feeds. Effectively you'd be building your own datacenter.

    If your business model allows you to use cloud computing, and the provider's SLA matches your business needs and model, then by all means use a cloud host. It sounds like you're doing the right things.

    However, if you had to guarantee security of your user's data, or ensure that it stayed within the EU for data protection reasons, then a public cloud might not be for you. There's never a be-all and end-all solution for these things, because it depends greatly on what works for your business.

    Taking a small network, and growing it to be a robust and resilient network is a very complicated, yet satisfying task. You'd need to consider failure on all levels and work very hard to eliminate all single points of failure. This may not prove to be a worthwhile investment for your business.

    Sit down with your dev lead, your finance guys, your systems admin team and work out what the application and business needs are. Figure out the client requirements, the legal requirements and then make a list of hard requirements that the hosting service must meet. Then you can pick a solution better based on your facts, than anything generic that we can suggest with little to no knowledge of your specific problems.

    Maybe then come back and tell us what you did ;)

0 comments:

Post a Comment