So I am working on a virtualisation whitepaper and presentation. There is an interesting definition on wikipedia which I am not sure I agree with and also a useful overview at http://www.kernelthread.com/publications/virtualization . So my definition of Virtualisation is:
Virtualisation is abstraction mechanism which provides the concept of mapping logical types to physical implementations. There can be three types of mapping:
1. One logical type mapped to one physical implementation (file systems etc) to provide a layer of abstraction. I call this Abstraction and its main advantage is that it enables flexibility and reuse.
2. Multiple logical types mapped to one physical implementation (VM’s) to provide reuse of hardware. I call this Segmentation (of the physical implementation) and its main advantages are the ability to support multiple levels of software and to consolidate hardware.
3. One logical type mapped to multiple physical implementations (SAN’s, Grid) to provide clustering. I call this Aggregation (of the physical implementations) and its main advantage is to enable scalability and availability.
The final type of mapping is multiple logical types mapped to multiple physical types which is sort of Grid when there are multiple different applications being deployed to multiple hardware platforms.
Interestingly all these are static placements rather than dynamic allocation, which brings up the topic of provisioning