So I am about to get started deploying a complicated infrastructure as a hosting environment for several high traffic sites. I will be using ec2 for the servers and other different services from AWS. Please, take a look at my diagram and give me some advice. Diagram of AWS infrastructure
Facts about this deployment:
- Hosted on these machines will be mainly LAMP or LNMP (well the M is in the DB server) stacks.
- Planning to use GlusterFS to make sure all the nodes have the same information for the load balancer.
- Was planning to use Ubuntu for all the nodes but am comfortable with CentOS as well.
- Using spot instances at various prices for the automatic scaling.
- Eventually going to move to Chef or Puppet to manage all of this but I don't know how to use it yet.
- Going to use nginx either as a proxy or as the only webhost.
- Planning to use one small instance as the main one and a micro as the secondary node. Spots and on demands for auto-scaling.
- I do not have it pictured but I plan to use replicated EBS volumes on each node
Some questions I have:
- Any problems you see in my setup?
- What order should I run/setup the different components and software?
- Do you think the small instance is too small to start with if I'm even considering this deployment (meaning is this just too complicated and should I just bump up the server power)? Basically, I just want to always have backups of servers to handle the load and such and I figured I could just save some money with clustering.
- Any other advice?
I really appreciate all the feedback in advance.
EDIT: I just found this diagram that is similar to mine from Amazon itself (I think I modeled after something similar). AWS Diagram