Repositório oficial dos laboratórios práticos da disciplina Arquitetura de Microservices e Serverless do MBA da FIAP. Aqui você encontrará todos os exercícios guiados, scripts de apoio e instruções para evoluir de uma função Lambda isolada até uma arquitetura orientada a eventos, integrando API Gateway e SQS.
Os laboratórios foram desenhados para serem executados em um ambiente padronizado (GitHub Codespaces + AWS Academy), garantindo que todos os alunos tenham a mesma experiência, sem precisar instalar nada localmente.
Você irá percorrer um caminho que evolui do bloco de computação serverless até a composição de uma arquitetura orientada a eventos, fechando com uma atividade final que consolida tudo:
- Preparação do ambiente — configuração do Codespaces, AWS Academy e credenciais.
- AWS Lambda — primeira função serverless e uso de Layers para compartilhar dependências entre funções.
- Amazon API Gateway — exposição de uma API HTTP com backend Lambda, validação de payload e autenticação.
- Amazon SQS — filas standard, Dead Letter Queue (DLQ) e consumo assíncrono via Lambda.
- Atividade final — projeto que integra os serviços vistos em aula para resolver um problema de negócio real.
Antes de iniciar qualquer laboratório, você precisa de:
- uma conta no GitHub (para fork do repositório e Codespaces)
- uma conta ativa no AWS Academy com a turma
AWS Academy Learner Lab - acesso ao email institucional da FIAP (
rm<SEU RM>@fiap.com.br)
Important
SEMPRE DESLIGUE o Codespaces ao final da aula para não consumir créditos desnecessariamente. Acesse github.com/codespaces, clique nos três pontinhos ao lado do ambiente e selecione Stop Codespace.
Clique em Fork no canto superior direito da página do repositório no GitHub e copie-o para sua conta. Mantenha a opção Copy the master branch only desmarcada para ter acesso a todas as branches.
A partir do seu fork, crie um Codespace usando a configuração FIAP Lab na região US East com máquina 2-core. O ambiente já vem com todas as dependências necessárias (AWS CLI, Terraform, Python, Node LTS e o serverless framework).
A cada sessão do AWS Academy, copie as credenciais em AWS Details → AWS CLI para o arquivo ~/.aws/credentials do Codespaces. Valide com:
aws s3 lsComece pelo setup e avance sequencialmente. Cada laboratório tem seu próprio README.md com instruções passo a passo, explicações contextuais (blocos 💡 Clique para entender) e prints de referência.
Tip
O passo a passo completo de configuração está em 01-create-codespaces/README.md. Guarde também o Inicio-de-aula.md — você vai reutilizá-lo em toda aula ao atualizar as credenciais.
| # | Laboratório | Descrição | Link |
|---|---|---|---|
| 01 | Setup e configuração do ambiente | Fork do repositório, criação do Codespaces, acesso à conta AWS Academy e configuração inicial de credenciais. | 01-create-codespaces |
| 02.1 | Lambda — Introdução | Criação da primeira função AWS Lambda a partir do Codespaces, deploy via serverless e primeiras invocações. |
02-Lambda/01-Intro |
| 02.2 | Lambda Layers | Empacotamento de dependências compartilhadas em uma Layer e reuso entre múltiplas funções Lambda. | 02-Lambda/02-Layers |
| 03.1 | API Gateway — Primeira API | Criação de uma API HTTP no Amazon API Gateway com integração a uma função Lambda de backend. | 03-API-Gateway/01-Primeira-API |
| 03.2 | API Gateway — Validação e Autenticação | Validação de payload de requisição e configuração de autenticação na API criada no lab anterior. | 03-API-Gateway/02-Validacao-Autenticacao |
| 04.1 | SQS — Standard Queue | Criação de uma fila SQS padrão, envio de mensagens e leitura via script Python. | 04-SQS/01-Standard-Queue |
| 04.2 | SQS — Dead Letter Queue | Configuração de uma DLQ para tratar mensagens que falham repetidamente no consumo. | 04-SQS/02-DLQ |
| 04.3 | SQS — Consumo via Lambda | Integração da fila SQS com uma função Lambda como consumidor assíncrono. | 04-SQS/03-Lambda |
| 05 | Atividade final | Projeto que integra Lambda, API Gateway e SQS para resolver um problema de negócio de atendimento e gestão de feedbacks de e-commerce. | 05-Atividade-final |
.
├── 01-create-codespaces/ # Setup do ambiente (Codespaces, AWS Academy, credenciais)
│ └── Inicio-de-aula.md # checklist reutilizável para reconfigurar credenciais a cada aula
├── 02-Lambda/
│ ├── 01-Intro/ # Lab 02.1 — primeira função Lambda
│ └── 02-Layers/ # Lab 02.2 — Lambda Layers
├── 03-API-Gateway/
│ ├── 01-Primeira-API/ # Lab 03.1 — API HTTP com backend Lambda
│ └── 02-Validacao-Autenticacao/ # Lab 03.2 — validação de payload e autenticação
├── 04-SQS/
│ ├── 01-Standard-Queue/ # Lab 04.1 — fila SQS padrão
│ ├── 02-DLQ/ # Lab 04.2 — Dead Letter Queue
│ └── 03-Lambda/ # Lab 04.3 — consumo da fila via Lambda
├── 05-Atividade-final/ # Atividade final — integração dos serviços
│ ├── Instrucoes/ # material de apoio do problema de negócio
│ └── Resposta/ # pasta para entrega da resolução
└── .devcontainer/ # Configuração do GitHub Codespaces (devcontainer.json + script.sh)
01 Setup
│
▼
02.1 Lambda intro ──▶ 02.2 Lambda Layers
│
▼
03.1 Primeira API ──▶ 03.2 Validação e autenticação
│
▼
04.1 Standard Queue ──▶ 04.2 DLQ ──▶ 04.3 Consumo via Lambda
│
▼
05 Atividade final
Cada laboratório assume que os anteriores foram concluídos. Em especial:
- Os labs de API Gateway (03.x) dependem da função Lambda criada no bloco 02 como backend da API.
- Os labs de SQS (04.x) reaproveitam os conceitos de função Lambda do bloco 02 para consumir mensagens da fila.
- A Atividade final (05) integra Lambda, API Gateway e SQS vistos nos blocos anteriores para resolver o problema de negócio proposto.
- Blocos
💡 Clique para entender: sempre que encontrar nos READMEs, abra — eles trazem o contexto técnico e a motivação pedagógica de cada comando. - Deploy e limpeza com o
serverless: cada lab que usa o framework é implantado comserverless deploye, ao final da aula, deve ser removido comserverless removepara não deixar recursos (Lambda, API Gateway, filas) provisionados sem necessidade. - Credenciais expiradas? Cada sessão do AWS Academy dura 4 horas. Basta iniciar uma nova sessão no Learner Lab e recopiar as credenciais para
~/.aws/credentials. - Terminou o laboratório? Confirme que rodou
serverless remove(ou removeu manualmente os recursos criados) antes de desligar o Codespaces — recurso provisionado e esquecido consome o crédito do AWS Academy mesmo sem uso.
Caso encontre algum problema:
- Releia atentamente o passo em que você está — os READMEs trazem os erros mais comuns sinalizados com
> [!IMPORTANT]ou> [!WARNING]. - Valide os pré-requisitos listados no início de cada laboratório.
- Consulte o professor ou monitores durante a aula.
Ficou com alguma dúvida ou quer trocar uma ideia sobre os laboratórios?
- 📧 Email: Rafael@rfbarbosa.com
- 💼 LinkedIn: Rafael Barbosa
Bons estudos! 🎓