In a lot of examples for the Azure platform I'm seeing a lot of self-administration happening: an application will test for the presence of an external system such as a queue or database and create the necessary structures it needs to function.
This behaviour seems contrary to a more traditional application's environment being configured by an administrator or a separate setup application acting on behalf of the administrator.
So far, the biggest drawback I can observe to this is that the application would need to have some level of administrative rights over the services it is configuring and that could lead to increased vulnerability.
However, the Code-First approach in Entity Framework would also seem to suggest a practise of allowing an application to work at an administrator-level on the resources it needs to function.
Is this a paradigm I should be expecting to see more of, and are there compelling reasons to consider it as "good practice"?