O que é Cloud Computing
Cloud Computing (computação em nuvem) é a tecnologia que permite o uso remoto de recursos computacionais de software e hardware pela Internet. Em vez de manter servidores físicos locais, empresas e desenvolvedores utilizam data centers de terceiros para processar dados, armazenar arquivos e executar aplicações.
Os principais casos de uso incluem:
- Processamento de Big Data — análise de grandes volumes de dados sem necessidade de hardware dedicado
- Armazenamento — arquivos, backups e bancos de dados hospedados de forma distribuída e redundante
- Servidores de aplicação — ambientes para executar APIs, sites e serviços sem gerenciar hardware físico
O modelo de pagamento por uso (pay-as-you-go) é um dos grandes atrativos: você paga apenas pelos recursos que consome, podendo escalar para cima ou para baixo conforme a demanda.
IaaS — Infrastructure as a Service
O modelo IaaS disponibiliza a infraestrutura básica da nuvem: servidores virtuais, armazenamento, redes e serviços de firewall e segurança. O provedor gerencia o hardware físico, a rede e a virtualização, enquanto o cliente é responsável pelo sistema operacional, middleware, runtime e aplicações.
É o modelo que oferece maior controle e maior responsabilidade. Ideal para equipes que precisam de flexibilidade total sobre a configuração do ambiente.
Exemplos:
- AWS EC2
- Google Compute Engine
- Azure Virtual Machines
- DigitalOcean Droplets
Quando usar: quando você precisa de controle total sobre o ambiente, tem equipe capacitada para administrar servidores ou precisa de configurações muito específicas de rede e segurança.
PaaS — Platform as a Service
O PaaS vai além da infraestrutura e disponibiliza o sistema operacional e o ambiente de desenvolvimento na nuvem. O provedor gerencia servidores, storage, rede, SO e middleware. O cliente se preocupa apenas com o código da aplicação e os dados.
Inclui ferramentas de desenvolvimento, bibliotecas, bancos de dados gerenciados e pipelines de deploy. O objetivo é acelerar o ciclo de desenvolvimento eliminando a complexidade operacional.
Exemplos:
- Heroku
- Google App Engine
- Railway
- Render
- AWS Elastic Beanstalk
Quando usar: quando a prioridade é velocidade de entrega e a equipe quer focar no código sem se preocupar com patches de SO, balanceamento de carga ou configuração de servidores.
SaaS — Software as a Service
O SaaS é uma aplicação completa oferecida via Internet, geralmente licenciada por assinatura ou por volume de uso. O provedor gerencia absolutamente tudo: infraestrutura, plataforma, aplicação, atualizações e manutenção. O usuário final acessa o software pelo navegador ou por um client dedicado.
Não é necessário se preocupar com instalação, manutenção ou atualizações — tudo isso é responsabilidade do provedor.
Exemplos:
- Google Workspace (Gmail, Docs, Drive)
- Slack
- Salesforce
- Microsoft 365
- Notion
Quando usar: quando a necessidade é utilizar um software pronto, sem customização profunda da infraestrutura, e com o menor overhead operacional possível.
Outros modelos: DaaS, FaaS, BaaS
DaaS — Desktop as a Service
O DaaS fornece desktops virtuais via Internet. O provedor hospeda e gerencia a infraestrutura de VDI (Virtual Desktop Infrastructure), enquanto o usuário acessa um ambiente de trabalho completo de qualquer dispositivo. O licenciamento é tipicamente por assinatura por usuário.
Exemplos: Amazon WorkSpaces, Azure Virtual Desktop, Citrix DaaS.
Quando usar: equipes remotas que precisam de ambientes padronizados ou cenários com requisitos rigorosos de segurança onde os dados nunca saem do data center.
FaaS — Functions as a Service
O FaaS é o modelo serverless por excelência. Você escreve funções individuais e o provedor cuida de toda a execução: provisionamento, escalonamento e cobrança por invocação. Não há servidores para gerenciar — nem mesmo conceito de servidor.
Exemplos: AWS Lambda, Cloudflare Workers, Google Cloud Functions, Azure Functions.
Quando usar: workloads orientados a eventos, APIs leves, processamento assíncrono e cenários onde o custo deve ser proporcional ao uso real.
BaaS — Backend as a Service
O BaaS oferece serviços de backend prontos — autenticação, banco de dados em tempo real, storage de arquivos, push notifications — que podem ser consumidos diretamente pelo frontend sem a necessidade de construir e manter um servidor backend.
Exemplos: Firebase, Supabase, AWS Amplify.
Quando usar: MVPs, aplicações mobile-first e projetos onde a velocidade de prototipagem é mais importante do que controle total do backend.
XaaS — Everything as a Service
XaaS é o termo geral que engloba qualquer recurso de TI entregue como serviço pela nuvem. Além dos modelos já mencionados, existem diversas especializações:
| Sigla | Nome | Descrição |
|---|---|---|
| CaaS | Containers as a Service | Orquestração e gerenciamento de containers (ex.: Google GKE, AWS ECS) |
| MaaS | Monitoring as a Service | Monitoramento e observabilidade gerenciados (ex.: Datadog, New Relic) |
| DRaaS | Disaster Recovery as a Service | Replicação e recuperação de desastres na nuvem |
| NaaS | Network as a Service | Infraestrutura de rede virtualizada sob demanda |
| DBaaS | Database as a Service | Bancos de dados gerenciados (ex.: Amazon RDS, PlanetScale) |
A tendência XaaS reflete a mudança de modelos de compra (CapEx) para modelos de consumo (OpEx), onde praticamente qualquer capacidade de TI pode ser consumida como serviço. Isso reduz a barreira de entrada, permite escalar sem investimento inicial pesado e transfere a complexidade operacional para provedores especializados.
Comparação: IaaS vs PaaS vs SaaS
A tabela abaixo mostra a divisão de responsabilidades entre provedor e cliente em cada modelo:
| Camada | On-Premises | IaaS | PaaS | SaaS |
|---|---|---|---|---|
| Aplicação | Cliente | Cliente | Cliente | Provedor |
| Dados | Cliente | Cliente | Cliente | Provedor |
| Runtime | Cliente | Cliente | Provedor | Provedor |
| Middleware | Cliente | Cliente | Provedor | Provedor |
| SO | Cliente | Cliente | Provedor | Provedor |
| Virtualização | Cliente | Provedor | Provedor | Provedor |
| Servidores | Cliente | Provedor | Provedor | Provedor |
| Storage | Cliente | Provedor | Provedor | Provedor |
| Rede | Cliente | Provedor | Provedor | Provedor |
Quanto mais você sobe na pilha (de IaaS para SaaS), menos responsabilidade operacional você tem — e menos controle também.
Como escolher o modelo certo
A escolha depende de alguns critérios práticos:
- Nível de controle necessário: se você precisa configurar o kernel do SO ou regras de firewall granulares, IaaS é o caminho. Se quer apenas entregar código, PaaS resolve. Se quer usar um software pronto, SaaS.
- Capacidade da equipe: IaaS exige conhecimento de infraestrutura. PaaS reduz essa exigência. SaaS praticamente elimina.
- Custo e previsibilidade: SaaS tem custo mais previsível (licença por usuário). IaaS pode variar conforme o consumo de recursos. PaaS fica entre os dois.
- Velocidade de entrega: PaaS e SaaS aceleram o time-to-market. IaaS oferece mais flexibilidade, mas com mais trabalho inicial.
- Compliance e segurança: alguns setores regulados exigem controle total sobre a infraestrutura (IaaS ou on-premises). Outros aceitam modelos gerenciados desde que o provedor tenha certificações adequadas.
Na prática, a maioria das empresas utiliza uma combinação de modelos. Uma aplicação pode rodar em PaaS, consumir um banco de dados gerenciado (DBaaS), enviar e-mails via SaaS e ter backups replicados em IaaS. Essa abordagem híbrida é a norma no ecossistema moderno de cloud.