O caso
Só queria vender café. Virou administradora de servidor.
O Isaac alugou VMs para rodar o sistema de pedidos da loja. Agora, além de vender café, é ele quem instala as atualizações do sistema operacional, configura o banco de dados e acorda de madrugada quando o servidor trava.
Alugar infraestrutura resolveu o hardware. Todo o resto continuou sendo dele.
Este post parte de Fundamentos da Nuvem e de Máquinas Virtuais.
O problema
Alugar a VM não resolveu tudo
Em Máquinas Virtuais, vimos que numa VM na nuvem o provedor cuida do hardware e do hypervisor. Da VM para cima, tudo é seu: sistema operacional, atualizações, linguagem e bibliotecas, banco de dados, escala.
Cada uma dessas tarefas é trabalho necessário que não diferencia a loja da concorrência. É o undifferentiated heavy lifting de Fundamentos da Nuvem.
A solução
Uma pilha de camadas
Toda aplicação em nuvem se apoia numa pilha: o hardware embaixo, a virtualização, o sistema operacional, o runtime (a linguagem e as bibliotecas em que o código roda), os dados e, por cima, a aplicação. A linha "escala e capacidade" diz quem decide quantas cópias da aplicação rodam e quando criar mais.
Os modelos de serviço dizem até que camada o provedor assume o trabalho. Dali para cima, é com você. Quanto mais alto o provedor chega, menos trabalho você tem e menos controle.
Os modelos
Os quatro modelos
IaaS (Infrastructure as a Service): infraestrutura como serviço
Você aluga a infraestrutura: VMs, redes e discos. O controle é total, e a responsabilidade também, do sistema operacional para cima.
Na loja: a VM com o sistema de pedidos instalado à mão.
PaaS (Platform as a Service): plataforma como serviço
Você leva o código, e o provedor cuida do sistema operacional, do runtime e da infraestrutura. Você ainda configura a escala.
Na loja: o sistema de pedidos publicado numa plataforma gerenciada, sem tocar em servidor.
FaaS (Function as a Service): função como serviço
Você escreve funções que rodam quando um evento acontece. O provedor liga o ambiente, executa e desliga, e cobra por execução.
Na loja: uma função que envia o e-mail de confirmação quando um pedido chega.
SaaS (Software as a Service): software como serviço
Software pronto, usado pelo navegador. Você configura, usa e cuida dos seus dados. O resto é do provedor.
Na loja: a ferramenta de e-mail marketing e o sistema de nota fiscal.
O nome em cada nuvem
Os conceitos valem para qualquer provedor. Mudam os produtos que os oferecem:
| Modelo | AWS | Azure | Google Cloud | Oracle Cloud |
|---|---|---|---|---|
| IaaS | EC2 | Virtual Machines | Compute Engine | OCI Compute |
| PaaS | Elastic Beanstalk | App Service | App Engine | Oracle APEX |
| FaaS | Lambda | Functions | Cloud Run functions | OCI Functions |
SaaS é diferente: você já usa. Gmail, Microsoft 365, Salesforce e Slack são SaaS, de empresas que podem rodar em qualquer nuvem por baixo.
FaaS e serverless
O FaaS é a forma mais conhecida de serverless. Você escreve a função, o provedor cria o ambiente quando um evento chega e o desliga depois. Sem uso, nada roda e nada é cobrado.
Não confunda
PaaS × FaaS
Nos dois você leva só código. A diferença está no que o código faz e em como ele roda.
PaaS
“Tenho uma aplicação inteira para publicar?”
- Exemplo
- Uma API de pedidos que fica no ar o tempo todo, atendendo requisições.
- Foco
- Aplicação sempre ligada, com a escala que você configura.
FaaS
“Tenho um pedaço de código para rodar quando algo acontece?”
- Exemplo
- Gerar a miniatura de uma foto quando ela é enviada.
- Foco
- Evento dispara a função, com escala automática e cobrança por execução.
Na prática
Como escolher
| Se você… | Escolha |
|---|---|
| Precisa controlar o sistema operacional ou instalar um software específico | IaaS |
| Quer publicar uma aplicação sem cuidar de servidores | PaaS |
| Tem código curto, disparado por eventos, com tráfego irregular | FaaS |
| Só precisa usar uma ferramenta pronta | SaaS |
Termos-chave
Seis termos para fixar
Toque no cartão para ver a definição.
Teste rápido
Três perguntas, estilo prova
01
A empresa precisa instalar um software específico e escolher a versão do sistema operacional. Qual modelo se encaixa?
02
Um código roda só quando uma foto é enviada, e a empresa paga apenas pelas execuções. Esse modelo é…
03
Em qual modelo o provedor assume a maior parte das responsabilidades?
IaaS, PaaS, FaaS e SaaS aparecem em toda certificação cloud, com os mesmos conceitos na AWS, no Azure, no Google Cloud e na Oracle Cloud. A pergunta de prova costuma ser a mesma: quem gerencia o quê? Quanto mais alto na pilha, mais o provedor assume. O próximo passo da trilha é Segurança e Responsabilidade Compartilhada na Nuvem.