New here but I post on StackOverflow pretty often.
I am a paying customer of linode. On that account I have one 2GB server which hosts a web application. This single server currently acts as a web (apache2), database, email, and nodejs server.
I'm planning on releasing my web application to 20,000 targeted users next week. All is well in saying this, but there's one problem that's bothering me. That problem being that the web application may completely fail as it does some pretty heavy file handling operations on the back-end. Of course I know that not ALL 20,000 users will be signing up to my application in an instant, but it may potentially get 20,000 hits. I want my server to support this high amount of traffic, so this is why I'm preparing for it's launch.
How should I add further linodes to support potential increases in traffic to my website?
A) Just buy a bigger linode to expand my website. Double the power means that the server can handle twice as many users, right? Of course I understand that there are limitations with this too as linode don't offer linodes with unlimited hardware resources. This wouldn't involve buying any additional private IP addresses either, would it?
B) Buy the node balancing package from linode to expand my website? Does this mean I have to clone my current disk image and distribute it to all new linodes I buy? If this is the case, how do I handle newly uploaded user files? Should I have a linode especially for this too? Also: Is there a limit as to how many linodes I can buy and 'attach' to the node balancer and does each need an additional private IP address? How about pushing new code changes to the website? How would I deal with this if all source files were on different servers? How about SSL? would my current certificate continue to work across all servers?
Is there anything else I need to consider?
Apologies for all of these questions but I need a thorough idea of how all of this stuff works. I've done a few hours of pre reading on the topic already, but some of the things above have confused me a bit.