Ask HN: How can I scale up quickly? Thinking about trying EC2.
Traffic to my facebook app is growing at an insane rate and I need some suggestions on how to scale. I'm probably not going to even be able to keep it running by the day's end, as it's hosted from my already overloaded dedicated server. I need to either move it to its own box or a cloud service like ec2.
Something like ec2 seems like the way to go, but my server admin skills are terrible. Is there a good front end management UI for ec2 or another hosting service that is comparable in cost that is fully managed? I don't mind going with something a bit more expensive now if that means I can get everything switched over and running within 24 hours.
22 comments
[ 3.2 ms ] story [ 59.6 ms ] threadScaling is a very big field, and it's going to be hard for us to provide any useful advice without more information. What's your facebook application? What does it do? Where are you currently hosted? In what way is your dedicated server overloaded (CPU time, RAM, bandwidth, disk...)?
I definitely need to move the app to the cloud or its own server. In a few days the app could easily be getting 50 requests a second. It's fairly light, in that there is no database interaction (there will probably be a DB soon, but it will only be 1 or 2 simple queries per page load). It's really just a simple html page and a JS file which I'll be moving to S3.
Perhaps the code is also making a bunch of Facebook API calls that are slow to return. That might explain why it doesn't perform well even though it isn't talking to a local database.
How long has the app been growing? If you grow too fast FB will delete it without warning.
My strategy for adopting the new api was to move the userbase from an existing app to a new one. Fb deleted the new app in the middle of the migration.
Also, I'd go with http://www.linode.com, seems to be a cheaper, easier to admin, alternative to EC2.
Start "top". Is MySQL using a lot of CPU? If so, get a second dedicated server at the same data center and put your MySQL on that. Next, look at the MySQL top queries and figure out what you can cache out of the equation with memcache.
Cloud solutions would be too expensive for your scenario.
I used to develop facebook applications with one that reached 1 million users a day. I needed 5 servers to handle the load. It would cost me three times if I had used cloud solutions.
In Europe, you can use giga-international.com for cheap powerful servers with responsive customer service.
Then use memcache if needed.