Camada de apresentação - Arquiteturas multicamada sem servidor da AWS com o Amazon API Gateway e o AWS Lambda

Camada de apresentação

A camada de apresentação é responsável por interagir com a camada lógica por meio dos endpoint REST do API Gateway expostos pela Internet. Qualquer dispositivo ou cliente compatível com HTTPS pode se comunicar com esses endpoints, dando à sua camada de apresentação a flexibilidade de assumir várias formas (aplicações de desktop, aplicativos móveis, páginas da Web, dispositivos IoT e etc). Dependendo dos requisitos, sua camada de apresentação pode usar as seguintes ofertas sem servidor da AWS: qualquer dispositivo ou cliente compatível com HTTPS pode se comunicar com esses endpoints, dando à camada de apresentação a flexibilidade de assumir várias formas (aplicações de desktop, aplicativos móveis, páginas da Web, dispositivos de IoT e etc). Dependendo dos seus requisitos, a camada de apresentação pode usar as seguintes ofertas sem servidor da AWS:

  • Amazon Cognito: um serviço de sincronização de dados e identidade de usuário sem servidor que permite adicionar cadastro, login e controle de acesso de usuários aos seus aplicativos móveis e da Web de forma rápida e eficiente. O Amazon Cognito escala para milhões de usuários e oferece suporte ao login com provedores de identidade social, como Facebook, Google e Amazon, e provedores de identidade empresariais via SAML 2.0.

  • Amazon S3 com CloudFront: permite a hospedagem de sites estáticos, como aplicações de página única, diretamente de um bucket do S3 sem exigir o fornecimento de um servidor Web. Você pode usar o CloudFront como uma rede de entrega de conteúdo (CDN) gerenciada para melhorar a performance e habilitar o SSL/TL usando certificados gerenciados ou personalizados.

O AWS Amplify é um conjunto de ferramentas e serviços que podem ser usados em conjunto ou individualmente para ajudar desenvolvedores de front-end de plataformas móveis e da Web a criar aplicações escaláveis e de pilha completa, desenvolvidas pela AWS. O Amplify oferece um serviço totalmente gerenciado para implantação e hospedagem de aplicações Web estáticas globalmente, oferecido por meio da rede confiável de entrega de conteúdo da Amazon com centenas de pontos de presença em todo o mundo e com fluxos de trabalho de CI/CD incorporados que aceleram o ciclo de lançamento da aplicação. O Amplify é compatível com frameworks comuns da Web, incluindo JavaScript, React, Angular, Vue, Next.js, e plataformas móveis, incluindo Android, iOS, React Native, Ionic e Flutter. Dependendo das configurações de rede e dos requisitos da aplicação, talvez seja necessário habilitar as APIs do API Gateway para serem compatíveis com o compartilhamento de recursos de origem cruzada (CORS). A conformidade com CORS permite que os navegadores da Web chamem diretamente suas APIs de dentro de páginas Web estáticas.

Ao implantar um site com o CloudFront, você recebe um nome de domínio do CloudFront para acessar a aplicação (por exemplo, d2d47p2vcczkh2.cloudfront.net). O Amazon Route 53 pode ser usado para registrar nomes de domínio e direcioná-los para sua distribuição do CloudFront ou direcionar nomes de domínio já pertencentes à sua distribuição do CloudFront. Isso permite que os usuários acessem seu site usando um nome de domínio conhecido. Observe que você também pode atribuir um nome de domínio personalizado à sua distribuição do API Gateway usando o Route 53, o que permite que os usuários chamem APIs usando nomes de domínio conhecidos.