I am looking to create a HA, dynamic app environment on Amazons AWS infrastructure. (Probably along the lines of elasticbeanstalk or heroku).
At this stage I am not hugely worried about routing performance or multi-region capability. My primary short-term requirement is ease of setup and ease of ongoing maintenance and administration.
Current environments are latest version of Apache(2) on latest version of Ubuntu(12.04). Keeping to this will help with above constrants (i.e. keeping is simple)
Architecture: See this
Will this architecture work (see link above for architecture diagram)?
Is there anything fundamentally missing?
Are there simpler quick-win alternatives?
1. DNS is setup to route all requests for the domain to Elastic Load balancer(ELB)
2. The ELB routes to two(or more) instances that purely proxy the requests based on a sub-domain lookup (using mod_proxy_express).
3. One of the various groups of ELB'd app server groups will then handle the request.
1. As demand for the service grows new app groups can be added. When this happens the group will be added and the sub-domain lookup (DBM file) will be updated.
2. Individual apps are monitored. If an app exceeds certain performance limits it will be rebuilt in a new group (e.g. larger/smaller performance capability) and the sub-domain lookup file will again be updated