Engenharia Múltipla Escolha

Um desenvolvedor precisa criar e implantar um formulário web simples para capturar as informações de deslocamento dos funcionários para o site interno dos funcionários da empresa. Qual seria a solução sem servidor para criar um formulário web simples?

Um desenvolvedor precisa criar e implantar um formulário web simples para capturar as informações de deslocamento dos funcionários para o site interno dos funcionários da empresa. Qual seria a solução sem servidor para criar um formulário web simples?

  1. Hospedar ativos do site em um contêiner em um cluster do Amazon Elastic Container Service (Amazon ECS) com nós do Fargate, usar um banco de dados Amazon RDS e usar scripts do lado do servidor para interagir com o banco de dados.
  2. Hospedar ativos estáticos em um bucket do Amazon S3, usar um banco de dados Amazon RDS e usar as funções do Amazon API Gateway e do AWS Lambda para interagir com o banco de dados.
  3. Hospedar ativos do site em um contêiner em um cluster do Amazon Elastic Container Service (Amazon ECS) com nós da instância do EC2, usar uma tabela do Amazon DynamoDB e usar scripts do lado do servidor para interagir com o banco de dados.
  4. 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.

Resolução completa

Explicação passo a passo

D
Alternativa D

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çoTipoStatus Serverless?
Amazon S3Armazenamento de objetosSim (Ideal para ativos estáticos)
AWS LambdaComputação orientada a eventosSim (Executa código sem gerenciar servidores)
Amazon API GatewayGerenciamento de APIsSim (Conecta frontend ao backend)
Amazon DynamoDBBanco de dados NoSQLSim (Escalabilidade automática)
Amazon EC2Computação virtualNão (Requer gerenciamento de SO/servidor)
Amazon ECSContainersParcial (Fargate é gerenciado, mas menos flexível que Lambda)
Amazon RDSBanco de Dados RelacionalGerenciado (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:

  1. Amazon S3: Hospeda os arquivos HTML, CSS e JavaScript do formulário de forma estática e segura.
  2. AWS Lambda: Executa a lógica de captura dos dados quando o formulário é enviado. Você paga apenas pelo tempo de execução.
  3. Amazon API Gateway: Faz a ponte entre o navegador (frontend) e o Lambda, transformando requisições HTTP em chamadas de função.
  4. 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.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Engenharia

Ver mais Engenharia resolvidas

Tem outra questão de Engenharia?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.