I'm looking to roll out environments for a puppet installation and wanting to get things square with version control. Before I went to implement what seemed natural in my mind I decided to do some reading, and see what others are doing.
First hit on google is this article which discusses dynamic environments.
While dynamic environments sound great for development, they don't sound safe for live systems. However the article makes the allusion that if you're using dynamic environments you'll be able to rid yourself of a 'single workflow'.
Seems to me though that you're going to have a 'static set of environments', dynamic environments or not, because in production, you'll always be using the production environment. I'd extend that argument to other important live systems, for example pre-production quality assurance boxes.
I'm also assuming for dynamic environments to work, you'd need to run something like this on an agent you plan to test on
puppet agent --environment $dev_branch
Who cares if you expose a fresh dev branch on the puppet master if an agent hasn't been told to use the new environment.
My question - are dynamic environments suitable for things like production boxes, qa boxes, and other important systems; or strictly for development?