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

Implantação e gerenciamento sem servidor

Para ajudá-lo a implantar e gerenciar suas funções do Lambda, use o AWS SAM AWS Serverless Application Model (AWS SAM), um framework de código aberto que inclui:

  • Especificação de modelo do AWS SAM: sintaxe usada para definir suas funções e descrever seus ambientes, permissões, configurações e eventos para simplificar o carregamento e a implantação.

  • AWS SAM CLI: comandos que permitem verificar a sintaxe do modelo SAM, invocar funções localmente, depurar funções do Lambda e funções do pacote de implantação.

Você também pode usar o AWS CDK, que é um framework de desenvolvimento de software para definir a infraestrutura de nuvem usando linguagens de programação e provisioná-la por meio do CloudFormation. O CDK fornece uma maneira imperativa de definir os recursos da AWS, enquanto o AWS SAM fornece uma forma declarativa.

Normalmente, quando você implanta uma função do Lambda, ela é chamada com permissões definidas por sua função do IAM atribuída e é capaz de alcançar endpoints voltados para a Internet. Como o núcleo de sua camada lógica, o AWS Lambda é o componente que se integra diretamente com a camada de dados. Se a camada de dados contiver informações confidenciais de negócios ou de usuários, é importante garantir que essa camada de dados esteja adequadamente isolada (em uma sub-rede privada).

Você pode configurar uma função do Lambda para se conectar a sub-redes privadas em uma nuvem privada virtual (VPC) em sua conta da AWS se quiser que a função Lambda acesse recursos que você não pode expor publicamente, como uma instância de banco de dados privada. Quando você conecta uma função a uma VPC, Λ cria uma interface de rede elástica para cada sub-rede na configuração da VPC da sua função e a interface de rede elástica é usada para acessar seus recursos internos de forma privada.

Padrão de arquitetura do Lambda dentro de uma VPC

Padrão de arquitetura do Lambda dentro de uma VPC

O uso do Lambda com VPC significa que bancos de dados e outras mídias de armazenamento das quais sua lógica de negócios depende podem ficar inacessíveis pela Internet. A VPC também garante que a única maneira de interagir com seus dados da Internet seja por meio das APIs que você definiu e das funções de código do Lambda que você escreveu.