Alternativa D - Hospedar ativos estáticos em um bucket do Amazon S3, usar uma tabela do Amazon DynamoDB e usar as funções do Amazon API Gateway e do AWS Lambda para interagir com o banco de dados.
Introdução à Arquitetura Serverless
O termo "sem servidor" (ou serverless) na computação em nuvem não significa que não existem servidores, mas sim que o provedor de nuvem gerencia toda a infraestrutura subjacente. O desenvolvedor foca apenas no código e na lógica, sem precisar provisionar, escalar ou manter servidores.
Na plataforma AWS, a combinação clássica para criar uma aplicação web simples e sem servidor envolve quatro pilares principais:
- Armazenamento e Hospedagem Estática: Amazon S3.
- Computação (Backend): AWS Lambda.
- Rede/API: Amazon API Gateway.
- Banco de Dados: Amazon DynamoDB.
Análise das Alternativas
Para identificar a resposta correta, devemos analisar quais serviços são considerados nativamente serverless:
| Serviço | Tipo | Status Serverless? |
|---|
| Amazon S3 | Armazenamento de objetos | Sim (Ideal para ativos estáticos) |
| AWS Lambda | Computação orientada a eventos | Sim (Executa código sem gerenciar servidores) |
| Amazon API Gateway | Gerenciamento de APIs | Sim (Conecta frontend ao backend) |
| Amazon DynamoDB | Banco de dados NoSQL | Sim (Escalabilidade automática) |
| Amazon EC2 | Computação virtual | Não (Requer gerenciamento de SO/servidor) |
| Amazon ECS | Containers | Parcial (Fargate é gerenciado, mas menos flexível que Lambda) |
| Amazon RDS | Banco de Dados Relacional | Gerenciado (Muitas vezes exige provisionamento manual) |
Por que a Alternativa D é a correta?
Esta opção utiliza exclusivamente serviços projetados para o modelo de consumo baseado em demanda (pay-per-use), sem provisionamento prévio de capacidade:
- Amazon S3: Hospeda os arquivos HTML, CSS e JavaScript do formulário de forma estática e segura.
- AWS Lambda: Executa a lógica de captura dos dados quando o formulário é enviado. Você paga apenas pelo tempo de execução.
- Amazon API Gateway: Faz a ponte entre o navegador (frontend) e o Lambda, transformando requisições HTTP em chamadas de função.
- Amazon DynamoDB: Armazena os dados de deslocamento de forma rápida e escalável, sem necessidade de configurar máquinas para o banco de dados.
Por que as outras estão incorretas?
- Alternativa A e C (Amazon ECS): Envolverem a criação de contêineres e clusters. Embora o Fargate (Alternativa A) reduza a carga de gerenciamento de servidores, ele ainda opera sob o conceito de orquestração de containers, que é diferente do modelo de funções (Lambda). A Alternativa C usa EC2, que exige gestão de sistema operacional, sendo claramente não-serverless.
- Alternativa B (Amazon RDS): O Amazon RDS é um banco de dados relacional gerenciado. Embora seja um serviço excelente, ele geralmente não é a primeira escolha para uma arquitetura serverless pura devido à necessidade de gerenciamento de pools de conexão com o Lambda e custos fixos de capacidade provisionada (embora existam opções Aurora Serverless, o padrão RDS clássico difere da simplicidade do DynamoDB neste contexto).
Conclusão
A solução que melhor atende ao requisito de ser uma solução sem servidor para um formulário simples é a que utiliza Amazon S3 para o site, DynamoDB para o banco de dados e a combinação API Gateway + Lambda para a lógica de processamento. Isso elimina a necessidade de gerenciar qualquer servidor ou sistema operacional.