Introdução
A virtualização está no núcleo do paradigma de computação em nuvem. Ela fica sobre a infraestrutura de nuvem ou do data center. Em comparação, recursos virtuais, como CPUs virtuais, memória, discos e redes, são criados usando os recursos físicos subjacentes e atuam como proxies para eles. Semelhante à computação em nuvem introduzida na década de 1960, as datas de virtualização remontam à década de 1970.
Há 40 anos, os sistemas de computador de mainframe eram grandes e caros. Em 1970, a arquitetura IBM 370 foi anunciada para resolver as necessidades crescentes dos usuário e o alto custo de propriedade de um computador. Ela ofereceu VMs (máquinas virtuais) completas para programas diferentes em execução no mesmo hardware de computador. Ao longo do tempo, o hardware do computador ficou menos caro e os usuários começaram a migrar para computadores desktop de baixo custo. Essa migração vez a adoção da tecnologia de virtualização diminuir por um tempo.
Atualmente, a virtualização está em todos os lugares e vários projetos de pesquisa e sistemas comerciais fornecem soluções de virtualização para PCs domésticos, servidores e nuvem. Até mesmo as empresas que executam seus próprios data centers recorreram à virtualização para aumentar a utilização do servidor, diminuir os custos e adaptar-se com mais agilidade aos ambientes em constante mudança. Em 2016, O Gartner informou que a maioria das empresas virtualizou 75% de seus servidores ou mais1.
Neste módulo, você aprenderá sobre a virtualização em geral e entenderá as principais motivações por trás das máquinas virtuais. Discutiremos os dois tipos de máquinas virtuais e exploraremos uma tecnologia de virtualização alternativa conhecida como contêineres. Também descobriremos a rede virtual e algumas das tecnologias que a habilitam. As redes virtuais são tão importantes para a computação em nuvem quanto as máquinas virtuais. Sem as redes virtuais, as VMs não poderiam se comunicar e os usuários não poderiam se conectar remotamente às VMs criadas.
Objetivos de aprendizagem
- Identificar os dois tipos principais de máquinas virtuais e fornecer exemplos de cada uma
- Identificar os principais motivos pelos quais a virtualização é uma tecnologia essencial para a computação em nuvem
- Listar as principais vantagens que os contêineres têm sobre máquinas virtuais
- Entender os principais termos, como contêineres do Docker, imagens de contêiner e registros de contêiner
- Identificar algumas das maneiras como as principais plataformas de nuvem dão suporte a contêineres
- Lembre-se de considerações de design para redes de data center e descreva a necessidade de virtualização de rede para dar suporte a vários locatários
Pré-requisitos
- Entender o que é a computação em nuvem, inclusive modelos de serviço de nuvem e provedores de nuvem comuns
- Reconhecer modelos de serviço de nuvem, como IaaS, PaaS e SaaS, e saber diferenciá-los
- Entender como funciona o provisionamento de recursos da nuvem
Os leitores interessados podem consultar este livro popular sobre máquinas virtuais2 como uma referência abrangente para todos os conceitos relacionados à virtualização.
Referências
Information Week (2016). Virtualization Market Now "Mature", Gartner Finds. https://www.informationweek.com/infrastructure-as-a-service/virtualization-market-now-mature-gartner-finds/.
JE Smith and Nair (2005). "Máquinas virtuais: plataformas versáteis para sistemas e processos." Morgan Kaufmann.