I'm very new to all this - I've recently managed to launch my website on EC2. As next step, I want to learn how to scale the website. I have a general idea but wanted some input from the experts about how to go about it.
My website is based on LAMP but also has Red5 server which allows users to record messages and also used for playing them back.
Currently this is the architecture I'm planning to setup for initial scaling. Deploy four small EC2 instances for the following purposes:
Instance-1: On this instance I will run the MySql database
Instance-2: On this instance I will run the red5 server
Instance-3 & Instance-4 These 2 instances will be used to deploy the website and will have Apache running on them. They will communicate with the mysql server on Instance-1 and red5 server on Instance-2 using the internal IP address. As an when required, I will launch another instance of the same
EBS - I will have EBS of say 50 GIG where all the mysql data will be stored. Also red5 will use this EBS to store the video messages
Load-Balancer - Use the load balancer provided by Amazon to load balance Instance-3 and Instance-4
This is what I have in mind. I could be way off so please bear with me. Also I have not taken into account the case of scaling MySql server as I currently have no idea about how that will be done and whether or not it is necessary initially.
I am aware that Amazon provides auto scaling and mysql scaling as well but I dont want to get into that right now.
Your feedback is appreciated Thanks