A system for managing virtual resources, comprising: a provisioning module operable to receive a request to act on a virtual resource, automatically generate instructions to implement the request and dynamically monitor the virtual resource; a plurality of agents each associated with a physical host or a plurality of physical hosts each comprising one or more virtual resources and each associated with one of the plurality of agents, at least one of the agents being logically connected to the provisioning module and operable to receive the instructions, act on the virtual resource in response to the request and dynamically provide a status of the virtual resource; characterised in that the system further comprises: a lifecycle workflow engine logically connected to the provisioning module and operable to generate and instantiate a lifecycle workflow of the respective virtual resource based on the request received by the provisioning module, wherein the lifecycle workflow is a single instance of a workflow which exists during a lifecycle of the respective virtual resource, wherein the lifecycle workflow defines respective timings for provisioning, expiring, tombstoning, and disposing the respective virtual resource, and wherein the lifecycle workflow further comprises instructions for the respective agent to act on the respective virtual resource for provisioning, expiring, tombstoning, and disposing the respective virtual resource. a provisioning module operable to receive a request to act on a virtual resource, automatically generate instructions to implement the request and dynamically monitor the virtual resource; a plurality of agents each associated with a physical host or a plurality of physical hosts each comprising one or more virtual resources and each associated with one of the plurality of agents, at least one of the agents being logically connected to the provisioning module and operable to receive the instructions, act on the virtual resource in response to the request and dynamically provide a status of the virtual resource; characterised in that the system further comprises: a lifecycle workflow engine logically connected to the provisioning module and operable to generate and instantiate a lifecycle workflow of the respective virtual resource based on the request received by the provisioning module, wherein the lifecycle workflow is a single instance of a workflow which exists during a lifecycle of the respective virtual resource, wherein the lifecycle workflow defines respective timings for provisioning, expiring, tombstoning, and disposing the respective virtual resource, and wherein the lifecycle workflow further comprises instructions for the respective agent to act on the respective virtual resource for provisioning, expiring, tombstoning, and disposing the respective virtual resource. a lifecycle workflow engine logically connected to the provisioning module and operable to generate and instantiate a lifecycle workflow of the respective virtual resource based on the request received by the provisioning module, wherein the lifecycle workflow is a single instance of a workflow which exists during a lifecycle of the respective virtual resource, wherein the lifecycle workflow defines respective timings for provisioning, expiring, tombstoning, and disposing the respective virtual resource, and wherein the lifecycle workflow further comprises instructions for the respective agent to act on the respective virtual resource for provisioning, expiring, tombstoning, and disposing the respective virtual resource.