We're evaluating AWS Elastic Beanstalk (http://aws.amazon.com/elasticbeanstalk/).
We have 2 services: a frontend web app and a backend worker. They share a lot of code and we develop them in sync.
We also want to have a staging server, a dev server, a prod server, and so on.
In Elastic Beanstalk, should we create Applications named "staging", "dev", "prod", each of which contains a "webapp" Environment and a "worker" Environment?
Or should we create Applications named "webapp" and "worker", each of which contains "staging", "dev", and "prod" environments?
I would love to know how other people have structured their system, as well as the reasoning behind the decision.