O que é a computação em nuvem?

A computação em nuvem é o aluguel de recursos, como espaço de armazenamento ou ciclos de CPU, em computadores de outras empresas. Você paga apenas pelo que usa. A empresa que fornece esses serviços é conhecida como um provedor de nuvem. Alguns provedores de exemplo são Microsoft, Amazon e Google.

O provedor de nuvem é responsável pelo hardware físico necessário para executar seu trabalho e por mantê-lo atualizado. Os serviços de computação oferecidos variam de acordo com o provedor em nuvem. No entanto, normalmente, eles incluem:

  • Poder de computação – por exemplo, servidores Linux ou aplicativos Web
  • Armazenamento – por exemplo, arquivos e bancos de dados
  • Rede – por exemplo, conexões seguras entre o provedor de nuvem e a empresa
  • Análise – por exemplo, visualização de dados de desempenho e telemetria

Serviços de computação em nuvem

A meta da computação em nuvem é facilitar e tornar mais eficiente a administração de um negócio, seja uma startup de pequeno porte ou uma grande empresa. Cada empresa é única e tem diferentes necessidades. Para atender a essas necessidades, os provedores de computação em nuvem oferecem uma ampla variedade de serviços.

Você precisa ter uma compreensão básica de alguns dos serviços fornecidos por eles. Abordaremos brevemente os dois serviços mais comuns oferecidos por todos os provedores de nuvem – capacidade de computação e armazenamento.

Potência de computação

Quando você envia um email, faz uma reserva na Internet, paga uma fatura online ou até mesmo quando faz este módulo do Microsoft Learn, você está interagindo com servidores baseados em nuvem que estão processando cada solicitação e retornando uma resposta. Como consumidores, estamos todos dependentes dos serviços de computação fornecidos pelos vários provedores de nuvem que compõem a Internet.

Quando você cria soluções usando a computação em nuvem, você pode escolher como deseja que o trabalho seja feito de acordo com seus recursos e suas necessidades. Por exemplo, caso deseje ter mais controle e responsabilidade sobre a manutenção, crie uma VM (máquina virtual). Uma VM é uma emulação de um computador – assim como o computador desktop ou laptop que você está usando agora. Cada VM inclui um sistema operacional e hardware que aparece para o usuário como um computador físico com Windows ou Linux. Você pode então instalar qualquer software de que precisa para realizar as tarefas que deseja executar na nuvem.

Medidor de potência de computação

A diferença é que você não precisa comprar nenhum hardware nem instalar o sistema operacional. O provedor de nuvem executa sua máquina virtual em um servidor físico em um de seus datacenters – geralmente compartilhando esse servidor com outras VMs (isoladas e seguras). Com a nuvem, você pode ter uma VM pronta para uso em minutos com um custo menor do que o de um computador físico.

VMs não são a única opção de computação – há duas outras opções populares: contêineres e computação sem servidor.

O que são contêineres?

Os contêineres fornecem um ambiente de execução isolado e consistente para aplicativos. Eles são semelhantes às VMs, exceto pelo fato de que não exigem um sistema operacional convidado. Em vez disso, o aplicativo e todas as suas dependências são empacotados em um "contêiner" e, em seguida, um ambiente de tempo de execução padrão é usado para executar o aplicativo. Isso permite que o contêiner inicie em apenas alguns segundos, porque não há nenhum sistema operacional para inicializar. Você só precisa iniciar o aplicativo.

O projeto de software livre, Docker, é uma das principais plataformas para gerenciar contêineres. Os contêineres do Docker fornecem uma abordagem eficiente e leve para implantação de aplicativos, pois permitem que os diferentes componentes do aplicativo sejam implantados de maneira independente em diferentes contêineres. Vários contêineres podem ser executados em um único computador e os contêineres podem ser movidos entre os computadores. A portabilidade do contêiner facilita muito para que os aplicativos sejam implantados em vários ambientes – localmente ou na nuvem – muitas vezes sem nenhuma alteração ao aplicativo.

O que é a computação sem servidor?

A computação sem servidor permite executar o código do aplicativo sem a criação, a configuração ou a manutenção de um servidor. A ideia geral é que seu aplicativo é dividido em funções separadas que são executadas quando disparadas por alguma ação. Isso é ideal para tarefas automatizadas – por exemplo, você pode criar um processo sem servidor que envia um email de confirmação automaticamente depois que um cliente faz uma compra online.

O modelo sem servidor é diferente de VMs e contêineres, pois com ele você paga apenas o tempo de processamento usado por cada função conforme ela é executada. VMs e contêineres são cobrados enquanto eles estão em execução – mesmo se os aplicativos neles estão ociosos. Essa arquitetura não funciona para todos os aplicativos, mas quando a lógica do aplicativo pode ser separada em unidades independentes, você pode testá-las e atualizá-las separadamente e iniciá-las em microssegundos, o que faz dessa abordagem a opção mais rápida para implantação.

Aqui está um diagrama comparando as três abordagens de computação das quais já tratamos.

Diagrama mostrando uma comparação de máquinas virtuais, contêineres e computação sem servidor

Armazenamento

A maioria dos dispositivos e aplicativos lê e/ou grava dados. Estes são alguns exemplos:

  • Comprar um tíquete de filme online
  • Pesquisar o preço de um item online
  • Tirar uma foto
  • Enviar um email
  • Deixar uma mensagem de voz

Em todos esses casos, os dados são lidos (como ao pesquisar um preço) ou gravados (como ao tirar uma foto). O tipo dos dados e como eles são armazenados pode ser diferente em cada um desses casos.

Medidor de armazenamento

Normalmente, os provedores de nuvem oferecem serviços que podem lidar com todos esses tipos de dados. Por exemplo, se quisesse armazenar texto ou um clipe de vídeo, você poderia usar um arquivo no disco. Se você tivesse um conjunto de relações, assim como um catálogo de endereços, você poderia adotar uma abordagem mais estruturada, tal como usar um banco de dados.

A vantagem de usar o armazenamento de dados baseado em nuvem é que é possível escalar para atender às suas necessidades. Se chegar à conclusão de que precisa de mais espaço para armazenar seus clipes de filme, você poderá pagar um pouco mais e adicionar ao seu espaço disponível. Em alguns casos, o armazenamento pode até mesmo expandir e contrair automaticamente – para que você pague exatamente pelo que precisa, em qualquer ponto no tempo.

Resumo

Toda empresa tem requisitos e necessidades diferentes. A computação em nuvem é flexível e econômica, o que pode ser benéfico para todas as empresas, seja uma pequena startup ou uma grande empresa.