Uma Introdução ao Hospedagem em Nuvem

Introdução

A hospedagem na nuvem é um método de usar servidores virtuais online que podem ser criados, modificados e destruídos sob demanda. Os servidores na nuvem são alocados recursos como núcleos de CPU e memória pelo físico em que estão hospedados e podem ser configurados com qualquer sistema operacional e software acompanhante. A hospedagem na nuvem pode ser usada para hospedar sites, distribuir aplicativos baseados na web ou outros serviços.

Neste guia, abordaremos alguns dos conceitos básicos envolvidos na hospedagem na nuvem, incluindo como funciona a virtualização, os componentes em um ambiente virtual e comparações com outros métodos de hospedagem comuns.

O que é “a Nuvem”?

“A Nuvem” é um termo comum que se refere a servidores acessíveis pela internet que estão disponíveis para uso público, seja por meio de locação paga ou como parte de um serviço de software ou plataforma. Um serviço baseado em nuvem pode assumir muitas formas, incluindo hospedagem na web, hospedagem e compartilhamento de arquivos e distribuição de software. “A Nuvem” também pode se referir à computação em nuvem, ou seja, espalhar transparentemente uma tarefa por vários servidores. Em vez de executar um processo complexo em uma única máquina poderosa, a computação em nuvem distribui a tarefa por muitos nós menores.

Como funciona a virtualização

Os ambientes de hospedagem em nuvem são divididos em duas partes principais: os servidores virtuais nos quais aplicativos e sites podem ser hospedados e os hosts físicos que gerenciam os servidores virtuais. A virtualização torna possível a hospedagem em nuvem: a relação entre o host e o servidor virtual fornece flexibilidade e escalabilidade que não estão disponíveis por outros métodos de hospedagem.

Servidores Virtuais

A forma mais comum de hospedagem em nuvem hoje em dia é o uso de um servidor virtual privado, ou VPS. Um VPS é um servidor virtual que age como um computador real com seu próprio sistema operacional. Embora os servidores virtuais compartilhem recursos que lhes são alocados pelo host, eles são totalmente isolados na prática, então as operações em um VPS não afetarão os outros.

Os servidores virtuais são implantados e gerenciados pelo hipervisor de um host físico. Cada servidor virtual tem um sistema operacional instalado pelo hipervisor, que está disponível para o usuário. Para fins práticos, um servidor virtual é idêntico em uso a um servidor físico dedicado, embora um servidor virtual precise compartilhar recursos de hardware físico com outros servidores no mesmo host.

Anfitriões

Os recursos são alocados para um servidor virtual pelo servidor físico em que está hospedado. Esse anfitrião usa uma camada de software chamada hipervisor para implantar, gerenciar e conceder recursos aos servidores virtuais que estão sob seu controle. O termo “hipervisor” também é frequentemente usado para se referir aos anfitriões físicos nos quais os hipervisores (e seus servidores virtuais) estão instalados.

O anfitrião é responsável por alocar memória, núcleos de CPU e uma conexão de rede para um servidor virtual quando este é lançado. Uma função contínua do hipervisor é agendar processos entre os núcleos de CPU virtuais e os físicos, uma vez que vários servidores virtuais podem estar utilizando os mesmos núcleos físicos. Os hipervisores diferem entre si nos detalhes do agendamento de processos e compartilhamento de recursos.

Hipervisores

Existem alguns hipervisores comuns disponíveis para anfitriões em nuvem hoje. Esses diferentes métodos de virtualização têm algumas diferenças-chave, mas todos eles fornecem as ferramentas que um anfitrião precisa para implantar, manter, mover e destruir servidores virtuais conforme necessário.

KVM, abreviação de “Kernel-Based Virtual Machine”, é uma infraestrutura de virtualização incorporada ao kernel do Linux. Quando ativado, este módulo do kernel transforma a máquina Linux em um hipervisor, permitindo que ela comece a hospedar servidores virtuais. Este método contrasta com o funcionamento usual de outros hipervisores, já que o KVM não precisa criar ou emular componentes do kernel que são usados para hospedagem virtual.

Xen é um dos hipervisores mais comuns. Ao contrário do KVM, o Xen usa seu próprio microkernel, que fornece as ferramentas necessárias para suportar servidores virtuais sem modificar o kernel do host. Xen suporta dois métodos distintos de virtualização: paravirtualização, que evita a necessidade de emular hardware, mas requer modificações especiais feitas no sistema operacional dos servidores virtuais, e virtualização assistida por hardware (ou HVM), que utiliza recursos de hardware especiais para emular eficientemente um servidor virtual, permitindo que eles usem sistemas operacionais não modificados. HVM se tornou comum em CPUs de consumo por volta de 2006, permitindo que a maioria dos desktops e laptops alcance desempenho semelhante ao executar máquinas virtuais ou contêineres baseados em microkernel (por exemplo, através do Docker).

ESXi é um hipervisor de nível empresarial oferecido pela VMware. O ESXi é único porque não requer que o host tenha um sistema operacional subjacente. Isso é referido como um hipervisor “tipo 1” e é extremamente eficiente devido à falta de um “intermediário” entre o hardware e os servidores virtuais. Com hipervisores do tipo 1 como o ESXi, nenhum sistema operacional precisa ser carregado no host porque o próprio hipervisor age como o sistema operacional.

Hyper-V é um dos métodos mais populares de virtualização de servidores Windows e está disponível como um serviço do sistema no Windows Server. Isso torna o Hyper-V uma escolha comum para desenvolvedores que trabalham dentro de um ambiente de software Windows. O Hyper-V está incluído em versões modernas do Windows e também está disponível como um servidor autônomo sem uma instalação existente do Windows Server. O WSL2, o Subsistema do Windows para Linux, é implementado através do Hyper-V.

Por que Hospedagem na Nuvem?

As características oferecidas pela virtualização se adequam bem a um ambiente de hospedagem na nuvem. Servidores virtuais podem ser configurados com uma ampla gama de alocações de recursos de hardware e frequentemente podem ter recursos adicionados ou removidos conforme as necessidades mudam ao longo do tempo. Alguns hosts de nuvem podem mover um servidor virtual de um hipervisor para outro com pouco ou nenhum tempo de inatividade, ou duplicar o servidor para redundância em caso de falha de um nó.

Personalização

Desenvolvedores muitas vezes preferem trabalhar em um VPS devido ao controle que têm sobre o ambiente virtual. A maioria dos servidores virtuais rodando Linux oferecem acesso à conta root (administrador) ou privilégios de sudo por padrão, dando ao desenvolvedor a capacidade de instalar e modificar o software que precisam.

Essa liberdade de escolha começa com o sistema operacional. A maioria dos hypervisors é capaz de hospedar quase qualquer sistema operacional convidado, desde software de código aberto como Linux e BSD até sistemas proprietários como Windows. A partir daí, os desenvolvedores podem começar a instalar e configurar os blocos de construção necessários para o que estão trabalhando. As configurações de um servidor na nuvem podem incluir um servidor web, banco de dados, ou um aplicativo que foi desenvolvido e está pronto para distribuição.

Escalabilidade

Os servidores na nuvem são muito flexíveis em sua capacidade de escalar. Os métodos de escalabilidade se dividem em duas categorias principais: escalabilidade horizontal e escalabilidade vertical. A maioria dos métodos de hospedagem pode escalar de uma maneira ou de outra, mas a hospedagem na nuvem é única em sua capacidade de escalar tanto horizontal quanto verticalmente. Isso se deve ao ambiente virtual em que um servidor na nuvem é construído: como seus recursos são uma porção alocada de um pool físico maior, esses recursos podem ser ajustados ou duplicados para outros hypervisors.

Escalonamento horizontal, frequentemente referido como “escalonamento para fora”, é o processo de adicionar mais nós a um sistema em cluster. Isso pode envolver adicionar mais servidores web para gerenciar melhor o tráfego, adicionar novos servidores a uma região para reduzir a latência ou adicionar mais trabalhadores de banco de dados para aumentar a velocidade de transferência de dados.

Escalonamento vertical, ou “escalonamento para cima”, é quando um único servidor é atualizado com recursos adicionais. Isso pode ser uma expansão da memória disponível, uma alocação de mais núcleos de CPU ou algum outro upgrade que aumenta a capacidade desse servidor. Esses upgrades geralmente abrem caminho para instâncias de software adicionais, como trabalhadores de banco de dados, operarem nesse servidor. Antes do escalonamento horizontal se tornar economicamente viável, o escalonamento vertical era o modo padrão de responder à demanda crescente.

Com hospedagem na nuvem, os desenvolvedores podem escalar dependendo das necessidades de sua aplicação – podem escalar para fora implantando nós VPS adicionais, escalar para cima atualizando servidores existentes ou fazer ambos quando as necessidades do servidor aumentarem drasticamente.

Conclusão

Neste ponto, você deve ter uma compreensão de como funciona a hospedagem na nuvem, incluindo a relação entre hipervisores e os servidores virtuais pelos quais são responsáveis, bem como como a hospedagem na nuvem se compara a outros métodos comuns de hospedagem. Com estas informações em mente, você pode escolher a melhor hospedagem para suas necessidades.

Para uma visão mais ampla do panorama geral da computação em nuvem, você pode ler Uma Introdução Geral à Computação em Nuvem.

Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-cloud-hosting