Os artigos da equipeMais artigos

Comparando os principais provedores de nuvem: AWS, Azure, Google Cloud e outros

Compare AWS, Azure, Google Cloud, Alibaba e Tencent a partir do que você precisa executar, do custo total, do esforço de operação e da possibilidade de migrar.

Sumário

Uma bandeja com representações de uma imagem, um arquivo e um banco de dados está diante de três salas de servidores em miniatura.

Comece pelo que você precisa executar. Compare o esforço de operação, o custo e o caminho para migrar para outro provedor antes de escolher onde hospedar seu sistema.

Suponha que uma pequena empresa queira um site com fotografias de produtos e uma lista de pedidos de clientes. Ela precisa de um lugar para executar a aplicação, de outro para armazenar os arquivos de imagem e de um banco de dados que permita consultar e atualizar os pedidos. Comece por essas três tarefas. Elas tornam a comparação entre provedores de nuvem muito mais fácil do que uma lista de participações de mercado.

Nomes diferentes para tarefas conhecidas

Uma máquina virtual é um computador que você configura e opera remotamente. O armazenamento de objetos guarda arquivos, como imagens. Um banco de dados relacional gerenciado armazena registros estruturados, enquanto o provedor assume parte do trabalho de operação. A seguir, estão exemplos do catálogo de cada provedor, não produtos idênticos nem uma classificação.

Provedor

Máquinas virtuais

Armazenamento de objetos

Banco de dados relacional gerenciado

AWS

Amazon EC2

Amazon S3

Amazon RDS

Microsoft Azure

Azure Virtual Machines

Azure Blob Storage

Azure Database for PostgreSQL

Google Cloud

Compute Engine

Cloud Storage

Cloud SQL

Alibaba Cloud

Elastic Compute Service (ECS)

Object Storage Service (OSS)

ApsaraDB RDS

Tencent Cloud

Cloud Virtual Machine (CVM)

Cloud Object Storage (COS)

TencentDB for MySQL

Os nomes e as categorias dos produtos foram extraídos da comparação de serviços entre provedores feita pelo Google, da visão geral do RDS da Alibaba e do catálogo de produtos da Tencent. Os mecanismos de banco de dados, as configurações disponíveis e os recursos compatíveis variam; um serviço MySQL não substitui diretamente o banco de uma aplicação PostgreSQL sem adaptações.

Compare o trabalho que sua equipe realmente teria

Para o site do exemplo, uma opção é alugar máquinas virtuais e instalar a aplicação e o banco de dados por conta própria. Outra é usar um banco de dados gerenciado e um serviço de hospedagem de aplicações. A segunda opção pode eliminar tarefas de operação, mas você ainda precisa entender a configuração, o acesso, a recuperação e os recursos dos quais a aplicação depende.

Comece pelo sistema que você já tem. Qual mecanismo de banco de dados ele usa? Como é implantado? Quais ferramentas a equipe consegue manter? Uma configuração conhecida pode reduzir o trabalho; um serviço desconhecido ainda pode valer a pena se resolver um problema concreto. Deixe esse benefício explícito.

Depois, escolha os locais em que a aplicação precisa funcionar. Teste os tempos de resposta a partir de onde os usuários realmente se conectam e verifique se os serviços e recursos específicos de que você precisa estão disponíveis juntos na região escolhida. A quantidade de regiões que um provedor oferece no mundo não responde a nenhuma dessas duas questões.

Calcule o custo de um mês completo de operação

Use as mesmas premissas para cada candidato: visitas esperadas, horas de computação, arquivos armazenados, tamanho do banco de dados, backups e dados enviados aos usuários. Inclua o suporte, caso a equipe precise dele. Uma máquina virtual barata é apenas uma linha nessa estimativa.

O guia da calculadora de preços da AWS, por exemplo, orienta a criação de uma estimativa a partir de regiões, serviços e premissas de uso, com a possibilidade de adicionar suporte. A estimativa depende dessas informações; ela não é uma promessa sobre o valor da sua conta. Registre as premissas junto com o valor para poder comparar cenários equivalentes.

Em um site com muitas fotografias, o envio de imagens aos visitantes pode pesar mais do que em um pequeno formulário interno. Em um sistema que precisa se recuperar rapidamente, a capacidade adicional do banco de dados e os mecanismos de recuperação também importam. Teste seu próprio padrão de uso, em vez de procurar um provedor que seja o mais barato em qualquer situação.

Teste o caminho de saída antes de se comprometer

Execute uma versão reduzida da mesma aplicação nos provedores pré-selecionados. Envie imagens de exemplo, crie pedidos de teste, exporte os registros e restaure-os em um ambiente de teste separado. Verifique como você substituiria os serviços específicos de cada provedor. Copiar os arquivos é apenas uma parte da migração de uma aplicação.

Registre três coisas: quanto trabalho foi necessário para colocar o sistema em funcionamento, quanto ele custa sob as mesmas premissas de uso e o que é necessário para migrá-lo ou recuperá-lo. Um teste bem-sucedido dá a uma equipe pequena uma base melhor para escolher do que a posição de uma marca em um ranking.

Mantenha a escolha ligada ao seu objetivo

Você não precisa distribuir seu sistema entre várias nuvens apenas para demonstrar independência. Um único serviço bem compreendido pode ser o ponto de partida mais prático. O importante é saber quais responsabilidades você transferiu e se outro arranjo continua sendo viável.

O artigo Modelos de serviço em nuvem explica essa divisão de trabalho. Já Computação de borda e em nuvem examina onde cada tipo de tarefa deve ser executado. Distribuir máquinas entre locais e distribuir o poder de decisão são questões distintas; uma escolha de infraestrutura útil torna ambas mais claras.