Hi all,
I have some doubts on how to implement some standard application on the cloud.. The following are more general questions on how cloud computing is useful and how to use all its features.
First of all I started to analyze how to implement a scalable webserver cluster (let's say a LAMP architecture).
Suppose we have some kind of load balancer, that distributes the traffic on a pool of apache webservers running php scripts and a shared SQL database on a separate machine. What happens if I add one extra webserver machine? (like in the autoscaling feature of amazon)
Of course I need to tell to the load balancer that there is a new machine, and I need to update the machine with all the necessary php scripts, html pages images, etc... How can I do this step? (of course if the website logic is very static I can boundle all the webserver data on the ephemeral image...), but this solution obligates me to re-bundle the image every time there is a minor change in the web data.
However I think that this type of content will be update often... so where should I store all this data?
And then, what kind of operations will do the new vm to get this data? is it necessary to use some external program? How can I update the contents of the already running webserver VMs?
Googling I've found some different solutions based on S3 storage or on EBS storage (using snapshots), however I can't figure out which solution is the best (or the most used in practical cases)...
As a practical example, which solutions fist best with a webserver cluster that handles an e-commerce webapp, with lots of customers, but also with lots of updates on the websites (new products, homepage updates, etc...) ?
Thank you
Luca