Sunday, December 7, 2014

hosting - Server infrastructure requirements for startup



Pardon my extreme ignorance but I am a programmer and have little experience when it comes to this. Basically I am starting a site - for the sake of discussion lets assume it is similar to serverfault or stackoverflow (although my project is completely different, it could potentially, or at least I hope, have similar hardware requirement..in terms of bandwidth, storage etc.).



I currently have a simple ($10/month) shared hosting plan providing "unlimited bandwidth and storage". For development purposes, this has worked just fine. However, my question is this (I know its rather arbitrary): how soon and at what point does a site outgrow such a hosting plan? Assuming its a blog type website (or something similar to serverfault) after how many posts or after how much traffic would a dedicated solution be absolutely necessary? I know it sounds rather clowny to be asking about running a business off of a shared plan, but as I do not have experience dealing with such scalability issues I am rather clueless. Thanks.


Answer



Your site will outgrow the shared hosting plan the moment your host notices a significant increase of load on their servers coming from your site. Usually, this involves them locking your account to preserve the performance of the other sites being hosted on the server. Shared hosting for a site that generates revenue is always a bad idea. You at least want to go with a VPS, or even a dedicated server depending on how large and fast you expect the site to grow.



In short, you need to know a few things about your web application before you can effectively choose a hosting plan for your future site:





  • Bandwidth Requirements (figure this out by calculating the average page size, multiply by the amount of expected page hits you are planning)

  • CPU Requirements (this depends on, among other things httpd configuration, number of database queries, and efficiency of the coding of the app)

  • Memory Requirements (this scales approximately equally to the CPU requirements in many cases)

  • Disk Requirements. Sometimes the trickiest of all, sometimes the easiest of all. This depends on, among other things: amount of content stored, frequency of access, database size and schema efficiency, efficiency of the app, etc)



Also, if you are planning on going with using this system to generate revenue, you will most likely want to go with a managed hosting environment (whether it is a VPS or a dedicated server). This takes the issues of maintenance almost entirely off your hands, as you will have someone working for the hosting company managing your systems at all times, keeping an eye on them, and at least putting band-aids on immediate show-stopping problems.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...