Aplicação Web - Arquiteturas multicamada sem servidor da AWS com o Amazon API Gateway e o AWS Lambda

Aplicação Web

Nuvem AWS architecture diagram showing client interaction with various Serviços da AWS.

Padrão de arquitetura de aplicação Web

Tabela 3: Componentes de aplicação Web

Camada Componentes
Apresentação

A aplicação front-end é o conteúdo estático (HTML, CSS, JavaScript e imagens) gerado por utilitários React como create-react-app. O Amazon CloudFront hospeda todos esses objetos. A aplicação Web, quando usada, baixa todos os recursos para o navegador e começa a ser executada. A aplicação Web se conecta ao backend chamando as APIs.

Lógica

A camada lógica é criada usando funções do Lambda lideradas por APIs REST do API Gateway.

Essa arquitetura mostra vários serviços expostos. Existem várias funções diferentes do Lambda. Cada uma lida com um aspecto diferente da aplicação. As funções do Lambda estão por trás do API Gateway e podem ser acessadas por caminhos de URL da API.

A autenticação do usuário é processada usando grupos de usuários do Amazon Cognito ou provedores de usuários federados. O API Gateway usa integração imediata com o Amazon Cognito. Somente depois que um usuário for autenticado, o cliente receberá um token JSON Web Token (JWT) que deve ser usado ao fazer as chamadas de API.

Cada função do Lambda recebe sua própria função do IAM para fornecer acesso à origem de dados apropriada.

Dados

Neste exemplo específico, o DynamoDB é usado para o armazenamento de dados, mas outros serviços de armazenamento ou banco de dados da Amazon de uso específico podem ser usados dependendo do cenário e caso de uso.