Virtualization is a way to abstract applications and their underlying componemts away from the hardware supporting them and present a logical or "virtual" view of these resources. This logical view may be strikingly different from the physical view. The goal of virtualization is usually to attain higher levels of of performance, scalability, reliability, availability, agility, or to create a unified security and management domain. This virtual view is constructed using excess resources such as; processing power, memory, storage, and bandwidth.