Desafio 05: PaaS — Platform as a Service
20-30 min | Custo: Gratuito | Domínio: Conceitos de Nuvem (25-30%)
Habilidades do exame cobertas
- Descrever Platform as a Service (PaaS)
- Identificar casos de uso apropriados para PaaS
- Descrever o modelo de responsabilidade compartilhada em relação ao PaaS
Visão Geral
Platform as a Service (PaaS) é um meio-termo entre IaaS e SaaS. O provedor de nuvem gerencia a infraestrutura E a plataforma (SO, runtime, middleware), enquanto você foca apenas na sua aplicação e dados.
Pense no PaaS como alugar um food truck: você recebe o caminhão totalmente equipado com cozinha (plataforma), e você só traz suas receitas e ingredientes (aplicação e dados). Você não se preocupa com o motor, pneus ou eletricidade.
PaaS é ideal para desenvolvedores que querem construir aplicações sem se preocupar em gerenciar servidores, aplicar patches em sistemas operacionais ou configurar infraestrutura.
Explorar
Tarefa 1: Entender as responsabilidades do PaaS
| Camada | Quem gerencia? |
|---|---|
| Dados e acesso | Você |
| Aplicações | Você |
| Runtime | Azure |
| Sistema operacional | Azure |
| Máquina virtual | Azure |
| Controles de rede | Compartilhado |
| Infraestrutura física | Azure |
Compare isso com IaaS — observe quanto mais o Azure gerencia para você!
Tarefa 2: Explorar serviços PaaS do Azure
- No Portal Azure, clique em Create a resource
- Pesquise por App Service (Web App) — o serviço PaaS principal
- Explore o formulário de criação:
- Observe que você escolhe um runtime (Node.js, Python, .NET, Java) — não um SO
- Você não configura tamanho de VM — você escolhe um plano (tier de preço)
- Sem gerenciamento de disco, sem patches de SO
- Clique Cancel — não crie nada
Tarefa 3: Comparar serviços PaaS populares
| Serviço PaaS Azure | O que faz | Você gerencia |
|---|---|---|
| Azure App Service | Hospeda aplicações web e APIs | Seu código + configuração |
| Azure SQL Database | Banco de dados relacional gerenciado | Consultas + dados |
| Azure Cosmos DB | Banco de dados NoSQL gerenciado | Dados + políticas de acesso |
| Azure Functions | Executa código sem servidores | Apenas o código da função |
| Azure Kubernetes Service | Orquestração de containers gerenciada | Imagens de container + config |
Tarefa 4: Comparação PaaS vs IaaS
| Aspecto | IaaS (VM) | PaaS (App Service) |
|---|---|---|
| Patches de SO | Você aplica | Azure cuida |
| Escala | Você configura scale sets | Auto-scale integrado |
| Deploy | Instalar software na VM | Deploy do seu código/container |
| Modelo de custo | Paga pelo uptime da VM | Paga pelo plano + consumo |
| Tempo de deploy | Horas (configurar SO, instalar runtime) | Minutos (enviar código) |
| Controle | Acesso total ao SO | Apenas nível de aplicação |
Tarefa 5: Quando usar PaaS
PaaS é ideal quando:
- Está construindo novas aplicações web ou APIs
- Você quer focar no código, não na infraestrutura
- Você precisa de bancos de dados gerenciados sem overhead de DBA
- Você quer escala automática e alta disponibilidade
- Desenvolvimento e deploy rápidos são críticos
PaaS NÃO é ideal quando:
- Você precisa de controle total no nível do SO
- Você tem aplicações legadas que requerem configurações específicas de SO
- Você precisa instalar drivers customizados ou módulos de kernel
# List available App Service plans (does not create anything)
az appservice list-locations --sku F1 --output table
# List available runtimes for App Service
az webapp list-runtimes --output table
Conceitos-Chave
| Conceito | Descrição |
|---|---|
| PaaS | A nuvem gerencia infraestrutura + plataforma; você implanta aplicações |
| Azure App Service | PaaS para hospedar aplicações web, APIs e backends mobile |
| Banco de dados gerenciado | Serviço de banco de dados onde o Azure cuida de backups, patches e HA |
| Foco no código | PaaS permite que desenvolvedores se concentrem na lógica de negócios |
| Menos controle, menos responsabilidade | Trade-off: gerenciamento mais simples mas menos acesso ao nível do SO |
Verificação de Conhecimento
1. No modelo PaaS, quem é responsável por gerenciar o sistema operacional?
2. Um desenvolvedor quer implantar uma aplicação web Python sem gerenciar servidores ou patches de SO. Qual modelo de serviço é mais apropriado?
3. Qual dos seguintes é um exemplo de PaaS no Azure?
4. Qual é uma desvantagem do PaaS em comparação com IaaS?
5. Azure SQL Database é um exemplo de qual modelo de serviço em nuvem?
Saiba Mais
- 📚 Guia de Estudos AZ-900 — Materiais de estudo curados
- Microsoft Learn: Descrever tipos de serviço em nuvem
- O que é PaaS?