La virtualisation consiste à faire fonctionner sur un seul ordinateur plusieurs systèmes d'exploitation comme s'ils fonctionnaient sur des ordinateurs distincts. On appelle serveur privé virtuel (Virtual Private Server ou VPS) ou encore environnement virtuel (Virtual Environment ou VE) ces ordinateurs virtuels.
Il peut sembler a priori étrange de simuler plusieurs machines sur une seule : un système d'exploitation étant en principe conçu pour utiliser au mieux un matériel qui est entièrement sous son contrôle. Pour cette raison, il semble à première vue que cette solution conduise à des inefficiences auxquelles s'ajoute le fait que le processus de virtualisation lui-même va consommer des ressources.
Ce n'est pas tout à fait correct. D'une part, on évite une grande partie de ces inefficiences juste en disposant de disques différents pour chaque système lorsque c'est possible, et d'autre part les coûts de la mémoire permettent à chacun de ces systèmes de rester résident, et parfois même avec de larges sections de code partagées. Par ailleurs le microcode des mainframes comme des microprocesseurs inclut de plus en plus de fonctionnalités rendant la virtualisation plus efficace.
Enfin, il est courant pour une entreprise de disposer d'une quinzaine de serveurs fonctionnant à 15% de leur capacité, celle-ci n'étant là que pour faire face à tout moment aux pointes de charge sporadiques. Un serveur chargé à 15% ne consomme pas beaucoup moins d'énergie qu'un serveur chargé à 90%, et regrouper 4 serveurs sur une même machine peut donc s'avérer rentable si leurs pointes de charge ne coïncident pas systématiquement, même si 30% de la charge machine est représentée par la virtualisation elle-même.
Enfin, la virtualisation des serveurs permet une bien plus grande modularité dans la répartition des charges et la reconfiguration des serveurs en cas d'évolution ou de défaillance momentanée (plan de secours, etc.).
Les intérêts sont :
Chaque outil de virtualisation met en œuvre une ou plusieurs de ces notions :