Desafio 10: Containers e Hospedagem de Aplicações
20-30 min | Custo: Gratuito | Domínio: Arquitetura e Serviços Azure (35-40%)
Habilidades do exame cobertas
- Comparar tipos de computação (containers, VMs, functions)
- Descrever opções de hospedagem de aplicações (web apps, containers, VMs)
- Descrever Azure Functions
Visão Geral
Além de VMs, o Azure oferece opções de computação mais leves. Containers empacotam sua aplicação com suas dependências em uma unidade portátil. Azure App Service hospeda web apps sem gerenciar VMs. Azure Functions executam trechos individuais de código sob demanda (serverless).
Cada opção troca controle por simplicidade: VMs dão máximo controle, containers fornecem portabilidade, App Service simplifica hospedagem web, e Functions são os mais simples — apenas escreva código.
Explorar
Tarefa 1: Comparar opções de computação
| Serviço | O que você gerencia | Unidade de escala | Tempo de inicialização | Ideal para |
|---|---|---|---|---|
| Azure VMs | SO + Apps | VM completa | Minutos | Apps legados, controle total |
| Azure Container Instances | Imagem de container | Container | Segundos | Tarefas simples de container |
| Azure Container Apps | Imagem de container + regras de escala | Container | Segundos | Microsserviços |
| Azure App Service | Código da aplicação | Instância do app | Segundos | Web apps e APIs |
| Azure Functions | Código da função | Função individual | Milissegundos | Tarefas orientadas a eventos |
Tarefa 2: Explorar Azure App Service
- No Portal Azure, pesquise por App Services
- Clique em + Create → Web App
- Explore o formulário de criação:
- Runtime stack: .NET, Java, Node.js, Python, PHP, Ruby
- Operating System: Linux ou Windows
- App Service Plan: Tier de preço (Free F1 disponível!)
- Observe: sem tamanho de VM, sem patches de SO, sem configuração de rede
- Clique em Cancel
Tier gratuito (F1):
- 60 minutos de CPU/dia
- 1 GB RAM
- Sem domínio personalizado (usa azurewebsites.net)
- Perfeito para aprendizado!
Tarefa 3: Explorar Azure Functions
- No Portal Azure, pesquise por Function App
- Clique em + Create
- Explore:
- Runtime: .NET, Java, Node.js, Python, PowerShell
- Hosting plan: Consumption (pague por execução), Premium ou Dedicated
- Plano Consumption = serverless verdadeiro:
- Primeiro 1 milhão de execuções/mês = GRÁTIS
- Auto-escala de 0 a milhares de instâncias
- Clique em Cancel
Triggers de função (o que faz o código executar):
| Trigger | Exemplo |
|---|---|
| HTTP | Endpoint de REST API |
| Timer | Executar a cada 5 minutos |
| Blob Storage | Arquivo carregado |
| Queue | Mensagem recebida |
| Event Grid | Evento ocorreu |
Tarefa 4: Entender containers
Containers são pacotes leves e portáteis que incluem:
- Código da sua aplicação
- Runtime e bibliotecas
- Arquivos de configuração
- Tudo necessário para executar — independente do host
| Conceito | VM | Container |
|---|---|---|
| Inclui | SO completo + Apps | App + dependências apenas |
| Tamanho | Gigabytes | Megabytes |
| Tempo de inicialização | Minutos | Segundos |
| Isolamento | Nível de hardware | Nível de processo |
| Densidade | Poucos por host | Centenas por host |
Serviços de container do Azure:
- Azure Container Instances (ACI): Execute um container sem gerenciar VMs
- Azure Container Apps: Plataforma gerenciada para microsserviços
- Azure Kubernetes Service (AKS): Orquestração completa de containers
Tarefa 5: Quando usar o quê
| Cenário | Melhor escolha | Por quê |
|---|---|---|
| Hospedar um blog WordPress | App Service | Hospedagem web PaaS, configuração fácil |
| Processar imagens quando carregadas | Azure Functions | Orientado a eventos, pague por execução |
| Executar um microsserviço containerizado | Container Apps | Hospedagem gerenciada de containers |
| Migrar um servidor on-premises | Azure VM | Lift-and-shift, controle total |
| Executar um trabalho em lote por 10 minutos | ACI | Container simples, sem custo de longa duração |
# List available App Service runtimes
az webapp list-runtimes --output table
# List available Function App runtimes
az functionapp list-runtimes --os linux --output table
Conceitos-Chave
| Conceito | Descrição |
|---|---|
| Azure App Service | PaaS para web apps, APIs, backends mobile |
| Azure Functions | Computação serverless — execute código sob demanda, pague por execução |
| Container | Pacote leve com app + dependências (portátil) |
| ACI | Execute um container sem gerenciar infraestrutura |
| Container Apps | Plataforma gerenciada para containers de microsserviços |
| AKS | Kubernetes gerenciado para orquestração complexa de containers |
| Serverless | Sem gerenciamento de servidor, escala automática, faturamento por execução |
Verificação de Conhecimento
1. Qual serviço Azure permite executar código que responde a eventos sem gerenciar nenhuma infraestrutura?
2. Qual é uma vantagem principal dos containers comparados às máquinas virtuais?
3. Um desenvolvedor quer hospedar uma aplicação web com escala automática e sem gerenciamento de servidor. O app é escrito em Python. Qual serviço é mais apropriado?
4. No plano Consumption do Azure Functions, quando você paga?
5. Qual serviço Azure fornece orquestração gerenciada de containers Kubernetes?
Saiba Mais
- 📚 Study Guide AZ-900 — Materiais de estudo selecionados
- Microsoft Learn: Describe Azure compute and networking
- Azure App Service documentation
- Azure Functions documentation