Following is the situation, I want to know whether what I want is possible in cloud computing and is it the best way for me:
1) My main site has a Database with tables with millions of rows, and entries are added almost every second.
2) I will setup a mysql mirror, so there will be a backup database always in sync with the main one.
3) There are few tens of thousands of images- growing. So say total size of images few tens of gigabytes. I will be keeping the image data also in sync on the backup server.
4) There can be short periods where traffic can go 100X the average traffic.
5) I will be using memcache heavily - most database and even frequently used disk files/images will be in RAM.
I want that the main site runs on a dedicated server. The backup server is say an Amazon EC2 instance. Now note that since it is live backup, I need to run a small instance continuously. I want that when I anticipate high traffic, I should be able to run a large instance on the cloud and transfer the traffic there. The main point is - I do not want to spend time in "loading" the database on the large instance, as it typically can take few minutes or even hours (experience). So is it possible to just scale the memory/CPU on demand, and not having to load the database or sync up the filesystem?
I want to setup my backup scripts etc just ONCE.