Self provisioning

Developers can create and delete systems on demand, with group allocation and quotas as needed to avoid overcommiting resources. These self-provisioned systems are identical with documented exceptions for network configuration, authentication, etc. All services should be developed using SSL for proper testing. This requires a self-service system to issue certificates, so applications can be developed and tested using the same configuration used in production.

Cloud based environments, be they private or public based, fulfill most if not all of these requirements. To learn more about the cloud as a platform we recommend O'Reilly's field guide located at The Cloud Is the Default Platform