Let's say we're starting a project which is meant to be served all around the world
How am I supposed to distribute the database and server load, and increase (optimize) the service for large audience?
I know about reverse proxy, load balance, using DNS for subdomains to target multiple IPs which can serve the same content.
I'm currently interested, if there is any easy way how to distribute my whole database and service (which is single VM for now) to distribute the load.
Some of ideas/questions I got
- If I do need to start VPS in each region and then merge data in background
- If I can do this with single server and only using CDN's to deliver static resources
- If there is any platform, where the I can separate the M-V-C layers, so each will be running on separate server, or can be optimized, distributed separately
- If I can host my application on some cloud service, which will handle the increasing load and distributing the service alone. IaaS provider needed ?
I don't think this is easy to be answered, so the best way to answer will be probably, to point me to some white-papers which are related to this topic.