Amazon Web Services - Lambda

O AWS Lambda é um serviço de nuvem responsivo que inspeciona ações dentro do aplicativo e responde implantando os códigos definidos pelo usuário, conhecidos como functions. Ele gerencia automaticamente os recursos de computação em várias zonas de disponibilidade e os dimensiona quando novas ações são acionadas.

O AWS Lambda oferece suporte ao código escrito em Java, Python e Node.js, e o serviço pode iniciar processos em linguagens compatíveis com Amazon Linux (inclui Bash, Go e Ruby).

A seguir estão algumas dicas recomendadas ao usar o AWS Lambda.

  • Escreva seu código de função Lambda em um estilo sem estado.

  • Nunca declare qualquer variável de função fora do escopo do manipulador.

  • Certifique-se de ter um conjunto de + rx permissions em seus arquivos no ZIP carregado para garantir que Lambda possa executar o código em seu nome.

  • Exclua funções antigas do Lambda quando não forem mais necessárias.

Como configurar o AWS Lambda?

Siga estas etapas para configurar o AWS Lambda pela primeira vez.

Step 1 - Faça login na conta AWS.

Step 2 - Selecione Lambda na seção de serviços da AWS.

Step 3 - Selecione um Blueprint (opcional) e clique no botão Ignorar.

Step 4 - Forneça os detalhes necessários para criar um Lambda functionconforme mostrado na captura de tela a seguir, cole o código Node.js que será acionado automaticamente sempre que um novo item for adicionado ao DynamoDB. Selecione todas as permissões necessárias.

Step 5 - Clique no botão Avançar e verifique seus detalhes.

Step 6 - Clique no botão Criar função.

Agora, quando selecionarmos o serviço Lambda e selecionarmos a guia Event Sources, não haverá registros. Adicione pelo menos uma fonte à função Lambda para funcionar. Aqui, estamos adicionando uma tabela do DynamoDB a ele.

Criamos uma tabela usando o DynamoDB (discutiremos isso em detalhes no capítulo sobre DynamoDB).

Step 7 - Selecione a guia stream e associe-a à função Lambda.

Você verá esta entrada na guia Event Sources da página Lambda Service.

Step 8- Adicione algumas entradas na tabela. Quando a entrada é adicionada e salva, o serviço Lambda deve acionar a função. Isso pode ser verificado usando os logs do Lambda.

Step 9- Para visualizar os registros, selecione o serviço Lambda e clique na guia Monitoramento. Em seguida, clique em View Logs no CloudWatch.

Benefícios do AWS Lambda

A seguir estão alguns dos benefícios de usar tarefas Lambda -

  • As tarefas Lambda não precisam ser registradas como tipos de atividades do Amazon SWF.

  • Podemos usar qualquer função Lambda existente que você já definiu em fluxos de trabalho.

  • As funções Lambda são chamadas diretamente pelo Amazon SWF; não há necessidade de projetar um programa para implementá-los e executá-los.

  • Lambda nos fornece as métricas e logs para rastrear as execuções de funções.

Limites AWS Lambda

A seguir estão os três tipos de limites Lambda.

Limite de aceleração

O limite de aceleração é de 100 execuções simultâneas de função Lambda por conta e é aplicado ao total de execuções simultâneas em todas as funções dentro de uma mesma região.

A fórmula para calcular o número de execuções simultâneas para uma função = (duração média da execução da função) X (número de solicitações ou eventos processados ​​pelo AWS Lambda).

Quando o limite do acelerador é atingido, ele retorna um erro de aceleração com um código de erro 429. Após 15-30 minutos, você pode começar a trabalhar novamente. O limite de aceleração pode ser aumentado entrando em contato com o centro de suporte da AWS.

Limite de Recursos

A tabela a seguir mostra a lista de limites de recursos para uma função Lambda.

Recurso Limite Padrão
Capacidade efêmera do disco (espaço "/ tmp") 512 MB
Número de descritores de arquivo 1.024
Número de processos e threads (total combinado) 1.024
Duração máxima de execução por solicitação 300 segundos
Chamar tamanho da carga útil do corpo da solicitação 6 MB
Chamar tamanho da carga útil do corpo de resposta 6 MB

Limite de serviço

A tabela a seguir mostra a lista de limites de serviços para implantar uma função Lambda.

Item Limite Padrão
Tamanho do pacote de implantação da função Lambda (arquivo .zip / .jar) 50 MB
Tamanho do código / dependências que você pode compactar em um pacote de implantação (tamanho zip / jar não compactado) 250 MB
Tamanho total de todos os pacotes de implantação que podem ser carregados por região 1,5 GB
Número de fontes de eventos exclusivas do tipo de fonte de evento agendado por conta 50
Número de funções Lambda exclusivas que você pode conectar a cada evento agendado 5

Para a estrutura de limite atualizada e mais informações, visite - https://docs.aws.amazon.com/lambda/latest/dg/limits.html/