Logo E-Commerce Brasil

Technobabble: o que é virtualização?

O “Cara da TI” é um estereótipo conhecido: geralmente barbudo, ligeiramente calvo, precocemente grisalho, um pouco acima do peso, vestindo uma blusa Geek ou algo quadriculado.

Brincadeiras à parte, sabemos que tudo isso pode variar, mas existe uma característica que todo profissional de tecnologia possui: o dom de falar o “Technobabble” (que consiste no vocabulário técnico próprio da computação, cheio de palavras que não fazem sentido para os “não iniciados”).

O “Technobabble” parece algo que saiu diretamente de um episódio de Star-Trek. A diferença é que tudo neste vocabulário único existe e pode ser explicado em termos leigos, para qualquer um. O artigo de hoje vai desmistificar um termo que, apesar de não ser recente, é usado muito hoje em dia: “Virtualização”

Antes de começarmos, é importante entendermos dois conceitos de infraestrutura: “Física” e “Virtual”. A infraestrutura física é fácil de definir e pode ser encarada como todas as peças do computador que podemos de fato tocar e enxergar (Memória RAM, CPU, Disco, Placas de rede e etc). Podemos dizer então que qualquer computador que você já tenha usado é uma peça de “Infraestrutura Física”.

A parte difícil é descrever o que é conhecido como “Infraestrutura Virtual”. Contudo, uma maneira relativamente simples de entender o conceito é imaginar que uma mesma infra física pode suportar várias infras virtuais sendo executadas ao mesmo tempo.

Em termos práticos: o seu computador roda um sistema operacional (Windows, MAC OSX ou Linux) que pode ser visto como uma “camada virtual” (simulada) sendo executada em cima da camada “física”, que é o computador em si e seus recursos (CPU, Memória, Disco etc). O que muita gente não sabe é que é possível rodar mais de um sistema operacional, ao mesmo tempo, em cima o mesmo hardware (computador), e uma das maneiras de fazer isso é usando tecnologias de Virtualização.

Um computador com 4 gigabytes de memória RAM pode, por exemplo, rodar dois “Windows” ao mesmo tempo, onde cada um terá acesso a 2 gigabytes da memória (quantidade arbitrária). Cada instância do “Windows” (ou qualquer outro sistema operacional) rodará na sua própria infraestrutura virtual, que por sua vez está sendo executada em cima da infraestrutura física por baixo.

Ficou confuso? Vamos trazer isso para um exemplo sem termos técnicos.

Pense em uma mesa de escritório, destas de madeira, compridas e com vários lugares. Fisicamente, a mesa é uma só, sem divisões ou espaços separados. Neste caso, a mesa é a infraestrutura física. Agora, coloque funcionários na jogada, e cada um precisa do seu próprio espaço físico para trabalhar. Uma solução possível é dividir a mesa em cubículos, certo? Cada cubículo pode ser visto como um ambiente-virtual, que existe dentro do ambiente físico (a mesa toda).

Parece bobo, mas esse exemplo mostra algumas propriedades interessantes da virtualização. Na mesma mesa, tipos diferentes de trabalho podem estar sendo feitos (em cubículos separados). O tamanho dos cubículos pode ser diferente, alocando mais ou menos espaço dentro da mesa maior, para cada trabalho que precise ser feito. Cada cubículo ocupa uma área dentro da mesa toda, portanto cada cubículo construído drena os recursos” da mesa. E por último, cubículos podem ser remodelados, aumentados, destruídos e reconstruídos a medida que houver necessidade, de maneira muito mais fácil do que seriam estas mudanças na mesa toda, por exemplo.

Em resumo, “Virtualização” é a criação de infraestrutura virtual (ou lógica) dentro de infraestrutura física. Voltando para o mundo da computação, na prática o que acontece é que empresas compram máquinas (servidores) muito grandes e rodam vários ambientes virtuais dentro da mesma infraestrutura física.

Algumas vantagens de ambientes virtualizados: melhor uso dos recursos (menos máquinas físicas significa melhor utilização dos recursos delas, pelas máquinas virtuais) visto que servidores físicos tendem a ser subutilizados, a habilidade de executar múltiplos sistemas no mesmo hardware (versatilidade) e o custo, dado que menos máquinas maiores são mais baratas do que mais máquinas menores (proporcionalmente).

Esperamos que este artigo tenha sido útil e simples de entender. Trazer alguns conceitos de computação para pessoas fora da área é um desafio muito interessante e ficamos felizes de poder fazer isso. Nos vemos no próximo artigo! 🙂