Introdução
Hospedagem na nuvem é um método de utilização de 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 correspondente. A hospedagem na nuvem pode ser utilizada para hospedar sites, distribuir aplicativos baseados na web ou outros serviços.
Neste guia, iremos abordar 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 na 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, estendendo de forma transparente 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 host e servidor virtual oferece flexibilidade e escalabilidade que não estão disponíveis por meio de outros métodos de hospedagem.
Servidores Virtuais
A forma mais comum de hospedagem em nuvem hoje é 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.
Hosts
Os recursos são alocados para um servidor virtual pelo servidor físico no qual ele está hospedado. Este host utiliza uma camada de software chamada de 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 hosts físicos nos quais os hipervisores (e seus servidores virtuais) estão instalados.
O host é responsável por alocar memória, núcleos de CPU e uma conexão de rede para um servidor virtual quando ele é iniciado. Uma responsabilidade contínua do hipervisor é agendar processos entre os núcleos de CPU virtuais e os físicos, já que vários servidores virtuais podem estar utilizando os mesmos núcleos físicos. Os hipervisores diferem entre si nas nuances do agendamento de processos e compartilhamento de recursos.
Hipervisores
Existem alguns hipervisores comuns disponíveis para hosts de nuvem hoje em dia. Esses diferentes métodos de virtualização têm algumas diferenças-chave, mas todos eles fornecem as ferramentas necessárias para um host implantar, manter, mover e destruir servidores virtuais conforme necessário.
KVM, abreviação de “Kernel-Based Virtual Machine”, é uma infraestrutura de virtualização que está integrada 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 a forma como outros hipervisores geralmente funcionam, pois 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. O Xen suporta dois métodos distintos de virtualização: paravirtualização, que elimina 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 usa recursos de hardware especiais para emular eficientemente um servidor virtual, de modo que eles possam usar sistemas operacionais não modificados. A HVM se tornou generalizada em CPUs de consumo por volta de 2006, permitindo que a maioria dos desktops e laptops alcançasse desempenho semelhante ao executar máquinas virtuais ou contêineres baseados em microkernel (por exemplo, por meio 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 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 de 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. WSL2, o Subsistema do Windows para Linux, é implementado via 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 provedores 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ó.
Customização
Desenvolvedores frequentemente preferem trabalhar em um VPS devido ao controle que possuem sobre o ambiente virtual. A maioria dos servidores virtuais que executam Linux oferecem acesso à conta root (administrador) ou privilégios sudo
por padrão, dando ao desenvolvedor a capacidade de instalar e modificar qualquer software necessário.
Essa liberdade de escolha começa com o sistema operacional. A maioria dos hipervisores é capaz de hospedar quase qualquer sistema operacional convidado, desde software de código aberto como Linux e BSD até sistemas proprietários como o 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 em nuvem podem incluir um servidor web, banco de dados ou um aplicativo que foi desenvolvido e está pronto para distribuição.
Escalabilidade
Os servidores em nuvem são muito flexíveis em sua capacidade de escalabilidade. Os métodos de escalabilidade se dividem em duas categorias amplas: escalabilidade horizontal e vertical. A maioria dos métodos de hospedagem pode escalar de uma forma ou de outra, mas a hospedagem em nuvem é única em sua capacidade de escalar tanto horizontalmente quanto verticalmente. Isso se deve ao ambiente virtual em que um servidor em 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 hipervisores.
Escalonamento horizontal, frequentemente referido como “escalonamento horizontal”, é 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 vertical”, ocorre 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 alguma outra atualização que aumente a capacidade desse servidor. Essas atualizações geralmente preparam o terreno para instâncias de software adicionais, como trabalhadores de banco de dados, para operar nesse servidor. Antes do escalonamento horizontal se tornar econômico, o escalonamento vertical era a maneira padrão de responder à demanda crescente.
Com hospedagem na nuvem, os desenvolvedores podem dimensionar conforme as necessidades de suas aplicações – podem escalonar adicionando nós VPS adicionais, escalonar aumentando a capacidade dos servidores existentes ou fazer ambos quando as necessidades do servidor aumentam dramaticamente.
Conclusão
Neste ponto, você deve ter uma compreensão de como funciona a hospedagem na nuvem, incluindo a relação entre os 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 essas 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