A method of spawning a computing environment from a computing system that includes a plurality of resources, a plurality of system rules, a system state, and a plurality of templates, the method comprising:
- in response to a user request for the computing environment, a controller setting up the computing environment using one or more management connections between the controller and the computing environment, wherein the setting up step comprises:
- the controller selecting environment rules for the computing environment;
- the controller using the system rules, the selected environment rules, and the templates to find resources for the computing environment from among the resources;
- the controller allocating the found resources to the computing environment;
- the controller configuring networking resources with respect to the computing environment to manage connections between the computing environment and other components of the computing system;
- the controller updating the system state based on allocating and configuring;
- and
- the controller setting up and enabling integration and interoperability of the allocated resources of the computing environment to deploy the computing environment;
- the controller selectively disabling at least one of the one or more management connections to the computing environment to secure the computing environment and the controller from each other;
- and
- making the deployed and secured computing environment available to the one or more users.