Uma arquitetura de virtualização é um modelo conceitual especificando a disposição e inter-relações dos componentes particulares envolvidos na entrega de uma versão virtual -- ao invés de física -- de algo, como um sistema operacional (SO), um servidor, um dispositivo de armazenamento ou recursos de rede.
A imagem abaixo ilustra a diferença entre a arquitetura de computação tradicional e uma arquitetura de virtualização.
A virtualização é comumente baseada em hipervisores. O hypervisor isola sistemas operacionais e aplicativos do hardware do computador subjacente para que o máquina host possa executar múltiplos máquinas virtuais (VM) como convidados que compartilham os recursos físicos de computação do sistema, tais como processador ciclos, espaço de memória, largura de banda de rede e assim por diante.
Hervisores de tipo 1, às vezes chamados de bare metal hypervisors, rodam diretamente sobre o hardware do sistema host. Os hipervisores bare-metal oferecem alta disponibilidade e gerenciamento de recursos. Seu acesso direto ao hardware do sistema permite melhor desempenho, escalabilidade e estabilidade. Exemplos de hipervisores tipo 1 incluem Microsoft Hyper-V, Citrix XenServer e VMware ESXi.
Um hipervisor tipo 2, também conhecido como hipervisor hospedado, é instalado em cima do sistema operacional hospedeiro, em vez de sentar diretamente em cima do hardware, como o hipervisor tipo 1 faz. Cada sistema operacional convidado ou VM roda acima do hypervisor. A conveniência de um SO anfitrião conhecido pode facilitar a configuração do sistema e as tarefas de gerenciamento. No entanto, a adição de uma camada de SO anfitrião pode potencialmente limitar o desempenho e expor possíveis falhas de segurança do SO. Exemplos de hypervisors tipo 2 incluem VMware Workstation, Virtual PC e Oracle VM VirtualBox.
>p>A principal alternativa à virtualização baseada em hypervisor é a contentorização. A virtualização do sistema operacional, por exemplo, é a baseada em container método de virtualização do kernel. A virtualização do SO é semelhante à partição. Nesta arquitetura, um sistema operacional é adaptado para funcionar como sistemas múltiplos e discretos, tornando possível implementar e executar aplicações distribuídas sem lançar um VM inteiro para cada um. em vez disso, vários sistemas isolados, chamados containers, são executados em um único host de controle e todos acessam um único kernel.