I am a new comer to everything that's 'the cloud.'
I'll be creating a website/platform which will have around 15,000,000 believed monthly site visitors following the newbie of production.
I am presuming the site may have 5 page sights per customer, and 100kb of information transfer per page.
I have approached several cloud website hosts, however they let me know that I have to have 'hardware needs.'
Since I am rather unaware about this stuff, Let me know:
Do you know the factors that should be examined to be able to determine
- The number of servers are needed
- VPUs / server needed
- RAM / server needed
- Total storage / server needed
Large thanks ahead of time!
Data given wont help much in identifying what amounts you would like. But according to my experience I'll try that will help you in analysis.
15,000,000 per month means 700K visits each day (presuming approximately 30-35% visits are by repeat site visitors).
700Kx5=3.5million page sights each day. Presuming 14 hrs of active period, typical for single timezeone sites. Its 70reqs/sec.
With this particular large userbase couple of factor you surely require is a higher performance DB server, with one slave. Config of those DB server
1. Memory to ensure that whole active data + indexes matches memory (No changing/thrashing should happen). This you have to calculate according to what you should be storing for user as well as for how lengthy. 2. Apply certain reliable storage like RAID10 (greater read/write bandwith). 3. Take enough storage, observe that its elastic enough. (like AWS EBS).
Make frontend application server lightweight and flat scalable. Place them behind a loadbalancer (use software loadbalancer like nginx or HAproxy). You need to have the ability to put as much as put forth your ultimate goal.
loadbalacer and frontend take 4CPU, 4-8GB RAM servers.
Just how much each frontend may take have to be examined utilizing a load testing method and realistic test data.
Reduce strain on database/persistent utilizing a inmemory/+persistent caches like memcached/membase/redis etc. Have a servers with 8GB and increase the while you feel need.
I haven't talked about about DB partitioning. Do this only if you want from it. Don't over invest at start.
With 15M customers per month, this setup ought to be enough,
however everything is dependent you 1. memory footprint, 2. quantity of active data
I attempted to reply to whenever possible. Comments on points you disagree or wanna discuss more.