Skip to main content
Voltar para o blog

O que é computação em nuvem e como ela funciona na prática

Computação em nuvem é um termo que aparece com frequência em empresas, cursos e vagas de tecnologia. Apesar de ser muito utilizado, nem sempre ele é explicado de forma simples.

De maneira direta, computação em nuvem é a possibilidade de utilizar recursos de tecnologia pela internet sem precisar comprar e manter toda a infraestrutura física localmente.

Esses recursos podem incluir servidores, armazenamento, bancos de dados, redes, monitoramento, segurança e diversos outros serviços.

Como funcionava no modelo tradicional

Em uma infraestrutura tradicional, também conhecida como infraestrutura local ou on-premises, a empresa precisava comprar e manter seus próprios equipamentos.

Isso envolvia atividades como:

  • estimar a capacidade necessária;
  • comprar servidores e equipamentos de rede;
  • preparar um espaço físico;
  • garantir energia e refrigeração;
  • instalar sistemas operacionais;
  • realizar manutenções;
  • substituir peças;
  • planejar o crescimento com antecedência.

Além do investimento inicial, existia o risco de comprar capacidade demais e deixar recursos ociosos ou comprar capacidade de menos e enfrentar limitações quando a demanda aumentasse.

Comparação entre infraestrutura tradicional e computação em nuvem

Comparação simplificada entre o modelo tradicional e o provisionamento de recursos em nuvem.

O que muda com a computação em nuvem

Na nuvem, os recursos podem ser provisionados conforme a necessidade.

Uma empresa pode criar uma máquina virtual, um banco de dados ou um espaço de armazenamento em poucos minutos. Esses recursos também podem ser alterados ou removidos quando não forem mais necessários.

Esse provisionamento pode ser feito pelo console do provedor, por linha de comando, por APIs ou utilizando infraestrutura como código.

Em um ambiente AWS, por exemplo, os recursos podem ser provisionados utilizando:

  • AWS Management Console;
  • AWS Command Line Interface (AWS CLI);
  • AWS CloudFormation;
  • Terraform;
  • kits de desenvolvimento de software, conhecidos como SDKs, como o Boto3 para Python.

Isso torna a criação da infraestrutura mais ágil e facilita a automação.

Infraestrutura sob demanda

O conceito de sob demanda significa que os recursos podem ser utilizados quando são necessários.

Imagine um ambiente de testes que será utilizado apenas durante algumas horas. Em vez de comprar um servidor físico para esse objetivo, a empresa pode criar uma instância na nuvem, realizar os testes e excluir o recurso depois.

Esse modelo permite experimentar soluções, criar ambientes temporários e disponibilizar novas aplicações com mais rapidez.

Ainda assim, é necessário controlar o ciclo de vida desses recursos. Um ambiente temporário que não é removido pode continuar gerando custos.

Pagamento conforme o uso

Muitos serviços de nuvem utilizam um modelo de cobrança baseado no consumo.

A cobrança pode considerar fatores como:

  • tempo de execução;
  • armazenamento utilizado;
  • quantidade de requisições;
  • tráfego de dados;
  • capacidade provisionada.

Isso reduz a necessidade de um grande investimento inicial em equipamentos.

Porém, é importante entender que nuvem não significa automaticamente economia. Recursos esquecidos, superdimensionados ou mal configurados podem gerar custos desnecessários.

Por isso, monitoramento, governança e otimização de custos também fazem parte do trabalho com cloud.

Principais benefícios

Agilidade

Novos recursos podem ser disponibilizados rapidamente, reduzindo o tempo necessário para criar ambientes e publicar aplicações.

Escalabilidade

A capacidade de um ambiente pode ser aumentada ou reduzida conforme a necessidade da aplicação.

Esse ajuste pode ocorrer verticalmente, aumentando a capacidade de um recurso, ou horizontalmente, adicionando novos recursos ao ambiente.

Elasticidade

A elasticidade permite que a capacidade acompanhe as variações de demanda, aumentando ou diminuindo os recursos, muitas vezes de forma automática.

Apesar de relacionados, escalabilidade e elasticidade não são exatamente a mesma coisa. Esses conceitos serão aprofundados em conteúdos específicos.

Disponibilidade

A nuvem oferece recursos para construir aplicações mais disponíveis.

Na AWS, por exemplo, uma aplicação pode ser distribuída entre diferentes servidores e Zonas de Disponibilidade. Em arquiteturas que realmente exigem esse nível de proteção, também é possível utilizar mais de uma Região da AWS.

Essa disponibilidade não acontece automaticamente. Ela depende das decisões tomadas durante o planejamento e a construção da arquitetura.

Automação

A infraestrutura pode ser criada, alterada e documentada por meio de código.

Isso ajuda a repetir configurações, manter um histórico das alterações e reduzir atividades manuais.

Alcance global

Provedores como a AWS possuem infraestrutura em diferentes partes do mundo, permitindo que as aplicações sejam executadas mais próximas de seus usuários.

A escolha da Região também pode considerar fatores como disponibilidade de serviços, requisitos legais, latência e custos.

Exemplos de serviços AWS

A AWS possui diversos serviços que representam diferentes tipos de recursos de nuvem.

Exemplos de serviços AWS utilizados em uma aplicação

Exemplo simplificado de serviços AWS que podem fazer parte de uma aplicação.

Alguns exemplos são:

  • Amazon EC2: oferece capacidade computacional por meio de instâncias, normalmente utilizadas como servidores virtuais;
  • Amazon S3: serviço de armazenamento de objetos, utilizado para arquivos, dados estáticos e backups;
  • Amazon RDS: serviço gerenciado para bancos de dados relacionais;
  • AWS Lambda: permite executar código sem administrar diretamente os servidores utilizados na execução;
  • Amazon VPC: permite criar uma rede virtual logicamente isolada dentro da AWS;
  • Amazon CloudWatch: oferece recursos para monitoramento, métricas, logs e alarmes;
  • Amazon Route 53: serviço de Domain Name System (DNS) e roteamento de tráfego.

Uma aplicação não precisa utilizar todos esses serviços. A arquitetura deve ser escolhida de acordo com as necessidades do projeto.

Nuvem não significa que tudo está público

Um erro comum é imaginar que todo recurso criado em uma nuvem pública fica automaticamente acessível pela internet.

Na AWS, é possível criar redes privadas, bancos de dados sem acesso público, sub-redes privadas, conexões por Virtual Private Network (VPN) e regras restritivas de segurança.

O termo nuvem pública se refere ao modelo de infraestrutura oferecido pelo provedor. Isso não significa que os recursos de cada cliente precisam ficar publicamente acessíveis.

A exposição de um recurso depende de configurações de rede, segurança e controle de acesso.

A nuvem é apenas o computador de outra pessoa?

Essa frase pode ajudar em uma primeira explicação, mas ela é incompleta.

Por trás da nuvem continuam existindo servidores, equipamentos de rede, sistemas de armazenamento, energia e datacenters físicos. A diferença é que a responsabilidade de operar essa infraestrutura é dividida entre o provedor e o cliente, dependendo do serviço utilizado.

Além disso, computação em nuvem não representa apenas um servidor localizado em outro datacenter. Ela também envolve características como:

  • provisionamento sob demanda;
  • pagamento baseado em consumo;
  • automação;
  • elasticidade;
  • serviços gerenciados;
  • infraestrutura programável;
  • alcance global.

Essas características mudam a forma como empresas e profissionais criam e administram seus ambientes de tecnologia.

Conclusão

Computação em nuvem é uma forma de consumir recursos tecnológicos de maneira mais flexível.

Em vez de comprar toda a infraestrutura antecipadamente, as empresas podem provisionar recursos sob demanda, automatizar ambientes e utilizar modelos de cobrança baseados no consumo.

Isso traz mais agilidade e novas possibilidades, mas também exige atenção com segurança, arquitetura, governança, disponibilidade e custos.

A nuvem não elimina a necessidade de administrar a infraestrutura. Ela muda quais recursos são administrados e como essa administração é realizada.

Nos próximos conteúdos, vou aprofundar conceitos como escalabilidade, elasticidade, modelos de serviço e os principais componentes da AWS.