Lifecycle Management for VMs

Sections in italics are optional.

Cross Project Spec - None

User Story Tracker - None

Problem description

Problem Definition

From time to time, and for a variety of reasons, VMs that are created become unused and they linger in the system consuming resources. We need a mechanism to detect they are inactive and the clean them up.

By clean-them-up, I mean snap shot any needed data, send messages to any apps as needed, log the appropriate information, then kill the VM and free up the resources.

If a lease expires, then the VM is automatically be deleted. When Deleted all resources used by that VM would be freed (cpu, memory, networks).

To address VM sprawl apply a life cycle model. When a tenant is launch a VM, they can specify the type of use case (ex development) which will assign a lease length (ex 90 days) and may have the ability to renew the lease before it expires.

This will ensure efficient and valuable use of infrastructure resources.


Elasticity is a key business driver for cloud and automating, or at least simplifying, lifecycle management and resource reclamation will provide enterprises with a cost-effective way to help maintain control over resource sprawl. A second benefit will be that clouds running at scale will operate more efficiently due to clean up older database records associated with instances.

Requirements Specification

Use Cases

  • As the sys admin I need to ensure the Hygiene of VMs in my deployment. This includes cleaning up stuff, dealing with stuck/orphans VMs to free up unused resources for other workloads to consumer.
  • As a Public Cloud operator I have to be ably to comply with Government orders/investigations. This may require that I quarantine a VM (and associated resources) or that I make a VM (and associated resources) available to investigators for digital forensics.

Usage Scenario Examples




External References


Rejected User Stories / Usage Scenarios