Further questions on multi-server & development workflow


I've been reading through the documentation all weekend and believe that I have a good grasp of most of the concepts regarding using multiple servers aside from one, important, concept: which one is which?

In working towards a proper DTAP model using Aegir, Git, Drush, Make, Features, etc. (following Mig5's documented workflow on their site) it seems that this is a critical component but I've been having trouble following the documentation to adapt that model.

My questions are similar to this post (below) but that doesn't fully address some ancillary issues. - http://community.aegirproject.org/discuss/linking-existing-aegir-install...

Based on these articles I see that the slaves to not have Aegir installed on them -- they are simply configured with the necessary components for the Aegir master to control them: - http://community.aegirproject.org/node/396 - http://community.aegirproject.org/node/446

So, here's my question(s)...

  1. Does the production server have to be the master?
  2. If we're using DTAP does that mean the master is still the only Aegir instance?
  3. Per above, what's the best way for a developer to start a new project? Would that be pushed from production to the dev?
  4. Some development environments don't have public IPs. How would that work if the master is in a different environment? VPN?
  5. Am I even headed in the right direction? Should I just be considering them separate and using drush & git to sync changes?

Thanks in advance for everyone's help! Aegir is awesome!

By the way, I got Aegir up and running in EC2 with Ubuntu LTS 12.04 (no pre-built AMI) in less than 30 minutes! That's amazing!