Imagine this scenario:You've created a multiplayer game app for a mobile platform such as Android. You successfully set it up with one server, you figured out how to do that. It works quite well.To your surprise, the game TAKES OFF. Server demands explode. You need to scale, but you have hardly any experience with running a single server, let alone running multiple servers in tandem.What do you do? Is there a service (Heroku-style) to help with such a thing? Anything? Or do you need to hire someone with a certain skill set and the necessary experience?
How can a developer working alone respond to a spike in server demands?
server;app
1. On app levelRunning an app on multiple servers isn't terribly hard. There are techniques which are difficult to understand and implement, but there are also some basic techniques any one can use.Learn those basic techniques. If it's not enough, then yes, you'll have to find a freelancer or to hire a developer.2. On infrastructure levelRunning servers yourself (read at home) is very difficult. Most of the small companies which believe they have their data center are doing it wrong. Their data centers are not secure, badly managed, not protected against problems with power, etc.Many developers, including myself, have a PC at home which runs day and night. We call them servers. They are not, but it doesn't matter, since it's funny to say: I have a server at home.Other people are using hosting companies, which most often don't include any scalability. If you're intended to use a fixed number of machines forever, you're lucky. If your app starts to be very popular, issues arise.Cloud as a technical term, i.e. something like Windows Azure, not *cloud as a marketing buzzword, like iCloud, helps you to solve that. You can easily scale the infrastructure from one to hundreds of servers in a few minutes, then to scale down again if needed.