vCPU: O que é CPU virtual?
Um vCPU é o equivalente virtual de um CPU físico, e figura como componente essencial da computação em nuvem. As vantagens de unidades de computação virtuais incluem melhor escalabilidade, razão pela qual desempenham papel importante na hospedagem em nuvem, por exemplo.
O que é vCPU?
Virtual Central Processing Unit (vCPU) é a variante virtual de uma CPU física. Em outras palavras, vCPUs são unidades de processamento central de máquinas virtuais (VMs) e de ambientes de nuvem. Processadores atuais, com vários núcleos, podem ser transformados não somente em uma única vCPU, mas também servir de base para várias unidades de processamento virtuais. Contudo, vale destacar que o número de vCPUs possíveis não está vinculado ao número de núcleos ou de threads. Ele é descoberto, na verdade, utilizando um cálculo:
(threads x núcleos) x CPU física = número de vCPUs correspondentes
Tecnicamente, vCPUs são implementações de software com padrões físicos, sendo, por isso, percebidas como núcleos de processadores reais por sistemas operacionais. Cada máquina virtual requer ao menos uma vCPU para funcionar. No entanto, dependendo do cenário e da necessidade, várias unidades de processamento virtuais podem ser definidas, para executarem cargas de trabalho mais intensas.
Quer saber mais sobre o assunto? Entenda o que é Virtualização e virtualização do servidor, e explore diferentes possibilidades da computação virtual.
Quais são as vantagens da vCPU?
CPUs virtuais têm algumas vantagens fundamentais em comparação com CPUs físicas. Entre as mais importantes estão:
- Maior escalabilidade
- Maior eficiência
- Maior flexibilidade
- Custos mais baixos
O ponto mais forte da virtualização como um todo é sua excelente escalabilidade de recursos de hardware. vCPUs usadas por uma máquina virtual podem, por exemplo, originar-se de vários hosts físicos diferentes, o que facilita o dimensionamento do desempenho do processador à medida que a carga de trabalho aumenta.
Já quando vCPUs não são mais necessárias, elas podem, simplesmente, passar a ser utilizadas por outras VMs. A possibilidade é extremamente interessante para provedores de ambientes de hospedagem, pois permite que infraestruturas sejam divididas entre clientes de maneira dinâmica e particularmente eficiente. Usuários beneficiam-se ao poderem ajustar vCPUs às suas demandas, de forma flexível. Como não há uma configuração de hardware fixa, é mais fácil adquirir mais ou menos potência de processador em servidores em nuvem ou em VPS.
Eficiência e escalabilidade tornam vCPUs vantajosas em termos de custos: um único sistema de hospedagem pode processar sistemas operacionais e softwares diferentes, ao mesmo tempo. Isso quer dizer que seu poder de computação é otimizado. Em muitos casos, economiza-se até com hardwares adicionais.
Entenda melhor as diferenças entre processadores físicos e processadores virtuais acessando nosso artigo CPU vs. vCPU.
Em que situações vCPUs são utilizadas?
vCPUs são essenciais para a computação em nuvem. Sempre que hardwares ou softwares são disponibilizados em nuvem, unidades de computação virtual são usadas. Isso ocorre, por exemplo, no contexto de armazenamento em nuvem, servidor de hospedagem e ao utilizar computadores em nuvem, como o Windows 365.
A quantidade de vCPUs necessária a cada projeto depende da carga de trabalho: em muitos cenários, um ou dois processadores virtuais são suficientes. Para cargas de trabalho mais exigentes com requisitos maiores, como no caso de servidores de banco de dados, e-mails ou jogos, mais vCPUs serão necessárias, assim como é necessário maior poder de processamento físico.
Plataformas de contêineres como o Docker são outra tecnologia de virtualização baseada em vCPU. Ao contrário do que ocorre com máquinas virtuais, nenhum sistema totalmente funcional é virtualizado neste caso, apenas aplicativos individuais.
Como dimensionar uma vCPU?
Para gozar das vantagens de ambientes virtualizados de forma otimizada, o grande desafio é entender o número de vCPUs necessário a uma aplicação, sem que haja desperdício da capacidade computacional. Caso você se depare com a difícil tarefa de dimensionar uma vCPU para seu projeto, oriente-se pelos requisitos que seriam exigidos por hardwares físicos. Por exemplo, se um software (juntamente do sistema operacional) exigir oito núcleos físicos, atribua oito vCPUs ao ambiente virtual.
Se requisitos aumentarem posteriormente, devido à execução de aplicações em paralelo ou à evolução da complexidade do seu projeto, basta que você aumente o número de vCPUs. Da mesma forma, caso requisitos diminuam você pode reduzir a capacidade de computação atribuída.
Para cargas de trabalho pesadas, com uso intensivo da capacidade computacional, é fundamental que vCPUs sejam atribuídas a CPUs físicas diferentes. Por exemplo, se você estiver utilizando um hardware com uma CPU dual-core (2 núcleos físicos e 4 núcleos lógicos), deverá dividir os quatro núcleos lógicos da seguinte forma, para não prejudicar o desempenho:
- Atribua os núcleos lógicos 0 e 2 à primeira máquina virtual. Este é o primeiro núcleo da CPU física de dois núcleos. Recursos por ele disponibilizados devem ser suficientes para aguentar a carga de trabalho.
- Enquanto isso, use os núcleos lógico 1 e 3, ou seja, o segundo núcleo da CPU dual-core física, para uma segunda máquina virtual, com cargas de trabalho menos exigentes. Ele seria ideal, por exemplo, para um servidor DNS.
Deseja aprofundar seu conhecimento sobre processadores e CPUs? Dê uma olhada nos artigos a seguir: