O que é AWS Lambda? Função Lambda com exemplos
⚡ Resumo Inteligente
AWS Lambda é uma plataforma de computação sem servidor orientada a eventos da AWS. Amazon Serviços Web que executam seu código em resposta a gatilhos, gerenciando automaticamente o provisionamento, o dimensionamento e o gerenciamento do servidor, para que você possa se concentrar apenas na lógica de negócios.
Antes de explorar o AWS Lambda, é útil entender o que significa "serverless" (sem servidor).
O que é sem servidor?
Serverless é um termo que geralmente se refere a aplicações sem servidor. Aplicações sem servidor são aquelas que não precisam de nenhum provisionamento de servidor e não exigem que você gerencie servidores.
O que é AWS Lambda?
AWS Lambda é uma plataforma de computação sem servidor e orientada a eventos fornecida pela Amazon como parte de Amazon Serviços Web. Portanto, você não precisa se preocupar com quais recursos da AWS iniciar ou como gerenciá-los. Em vez disso, basta colocar o código no Lambda e ele será executado.
No AWS Lambda, o código é executado com base na resposta a eventos em serviços da AWS, como adicionar ou excluir arquivos em um bucket do S3, ou uma solicitação HTTP de um serviço. Amazon API Gateway e eventos similares. No entanto, Amazon Lambda só pode ser usado para executar tarefas em segundo plano.
A função AWS Lambda ajuda você a se concentrar no seu produto principal e na lógica de negócios, em vez de gerenciar o controle de acesso ao sistema operacional (SO), a aplicação de patches, o dimensionamento correto, o provisionamento, o escalonamento e outras tarefas relacionadas.
Como funciona o AWS Lambda?
O seguinte exemplo do AWS Lambda com diagrama de blocos explica o funcionamento do AWS Lambda em algumas etapas fáceis:
Passo 1: Primeiro carregue seu código AWS Lambda em qualquer idioma compatível com AWS Lambda. Java, PythonGo e C# são algumas das linguagens suportadas pela função AWS Lambda.
Passo 2: Estes são alguns serviços da AWS que permitem acionar o AWS Lambda.
Passo 3: AWS Lambda ajuda você a fazer upload do código e dos detalhes do evento no qual ele deve ser acionado.
Passo 4: Executa o código AWS Lambda quando acionado pelos serviços da AWS.
Passo 5: A AWS cobra somente quando o código do AWS Lambda é executado, e não em outras circunstâncias.
Isso acontecerá nos seguintes cenários:
- Fazer upload de arquivos em um bucket S3
- Quando um endpoint HTTP GET/POST é usado URL é atingido
- Para adicionar, modificar e excluir tabelas do DynamoDB.
- No processo de coleta de fluxos de dados
- Notificação de envio
- Hospedagem de site
- Envio de email
Observação: Você deve lembrar que só será cobrado pelos serviços da AWS quando o código do AWS Lambda for executado; caso contrário, não precisará pagar nada.
Eventos que acionam o AWS Lambda
Aqui estão os eventos que serão acionados quando você usar o AWS Lambda.
- Inserir, atualizar e excluir dados em uma tabela do DynamoDB.
- Para incluir notificações push no SNS
- Para pesquisar o histórico de log no CloudTrail
- Entrada em um objeto S3
- DynamoDB pode acionar o AWS Lambda sempre que houver dados adicionados, modificados e excluídos na tabela.
- Ajuda você a agendar o evento para realizar a tarefa em um padrão de horário regular.
- Modificações em objetos em buckets S3
- Notificações enviadas de Amazon SNS.
- O AWS Lambda pode ser usado para processar os logs do CloudTrail.
- O API Gateway permite acionar o AWS Lambda em métodos GET/POST.
AWS Lambda Concepts
Função: Uma função é um programa ou script executado no AWS Lambda. O Lambda passa eventos de invocação para sua função, que processa um evento e retorna sua resposta.
Tempos de execução: O ambiente de execução permite que funções em várias linguagens sejam executadas no mesmo ambiente base. Isso facilita a configuração da sua função no ambiente de execução e também permite que ela corresponda à sua seleção. linguagem de programação.
Fonte do evento: Uma fonte de evento é um serviço da AWS, como Amazon SNS ou um serviço personalizado. Esse gatilho ajuda a função a executar sua lógica.
Camadas Lambda: As camadas Lambda são um importante mecanismo de distribuição para bibliotecas, tempos de execução personalizados e outras dependências de funções importantes. Este componente AWS também ajuda você a gerenciar seu código de função de desenvolvimento separadamente do código imutável e dos recursos que ele usa.
Fluxos de registro: O fluxo de logs permite que você anote o código da sua função com instruções de registro personalizadas, o que ajuda a analisar o fluxo de execução e o desempenho das suas funções AWS Lambda.
Como usar o AWS Lambda
Agora, vamos aprender como usar o AWS Lambda com um exemplo prático:
Passo 1) Abra o AWS Lambda URL
Acesse https://aws.amazon.com/lambda/ Comece já.
Passo 2) Crie uma conta
Em seguida, crie uma conta ou faça login com sua conta existente.
Passo 3) Edite o código e clique em Executar.
Na próxima página do Lambda, edite o código e clique em Executar.
Passo 4) Verificar saída
Você verá o resultado.
AWS Lambda versus AWS EC2
Aqui estão algumas das principais diferenças entre o AWS Lambda e EC2.
| Parâmetros Técnicos | AWS Lambda | AWSEC2 |
| Definição | AWS Lambda é uma plataforma como serviço (PaaS). Ajuda você a executar e executar seu código de back-end. | O AWS EC2 é uma Infraestrutura como Serviço (IaaS). Ele fornece recursos de computação virtualizados. |
| Flexibilidade | Não oferece nenhuma flexibilidade para fazer login em instâncias de computação. Permite escolher um sistema operacional ou ambiente de execução de linguagem personalizado. | Oferece a flexibilidade de selecionar uma variedade de instâncias, sistemas operacionais personalizados, patches de segurança, redes, etc. |
| processo de instalação | Você precisa selecionar o ambiente onde deseja executar o código e enviar o código para o AWS Lambda. | Pela primeira vez no EC2, você deve escolher o sistema operacional e instalar todo o software necessário e, em seguida, enviar seu código no EC2. |
| Restrições de ambiente | Está restrito a poucos idiomas. | Sem restrições ambientais. |
AWS Lambda vs. AWS Elastic Beanstalk
Aqui estão algumas das principais diferenças entre o AWS Lambda e o Elasticsearch. Beanstalk.
| Parâmetros Técnicos | AWS Elastic Beanstalk | AWS Lambda |
| Tarefa principal | Implante e gerencie aplicativos na Nuvem AWS sem se preocupar com a infraestrutura que executa esses aplicativos. | O AWS Lambda é usado para executar o código de back-end. Você não pode usá-lo para implantar um aplicativo. |
| Seleção de recursos AWS | Isso lhe dá a liberdade de selecionar recursos da AWS; por exemplo, você pode escolher uma instância EC2 que seja ideal de acordo com sua aplicação. | Você não pode selecionar os recursos da AWS, como um tipo de instância EC2; o Lambda oferece recursos com base na sua carga de trabalho. |
| Tipo de sistema | É um sistema com estado. | É um sistema sem estado. |
Casos de uso do AWS Lambda
O AWS Lambda é usado para uma ampla gama de aplicações, como:
- Ajuda você com o Processo ETL
- Permite que você execute processamento de arquivos e processamento de fluxo em tempo real
- Use para criar aplicativos da web
- Use em Amazon produtos como Alexa Chatbots e Amazon Eco/Alexa
- Processamento de dados (análise de streaming em tempo real)
- Cópias de segurança automatizadas para tarefas diárias
- Back-ends escaláveis (aplicativos móveis, dispositivos IoT)
- Ajuda você a executar a lógica de back-end do lado do servidor
- Permite filtrar e transformar dados.
Melhores práticas da função Lambda
Aqui estão algumas práticas recomendadas para funções AWS Lambda:
- Use o “tempo limite” correto.
- Utilize as funções de armazenamento local, que possui 500 MB de tamanho na pasta /temp.
- Minimize o uso de código de inicialização que não esteja diretamente relacionado ao processamento do evento atual.
- Você deve usar o monitoramento integrado do CloudWatch de suas funções do Lambda para visualizar e otimizar as latências de solicitação.
Quando não usar AWS Lambda
A seguir, apresentamos as situações em que Lambda certamente não é a opção ideal:
- Não é apropriado usar o AWS Lambda para pacotes de software ou aplicativos que dependem de chamadas a serviços subjacentes. Windows RPCs.
- Se for utilizado para aplicações de software personalizadas com contratos de licenciamento, como o processamento de documentos do MS-Office, Oracle bancos de dados, etc.
- O AWS Lambda não deve ser usado para processos de hardware personalizados, como aceleração por GPU e afinidade de hardware.
Vantagens de usar o AWS Lambda
Aqui estão as vantagens/benefícios de usar o AWS Lambda:
- O AWS Lambda é uma ferramenta altamente flexível de usar.
- Isso ajuda você a conceder acesso a recursos, incluindo VPCs.
- Autor diretamente com um WYSIWEditor YG no console.
- Você pode usá-lo como um plugin para Eclipse e Visual Studio.
- Por se tratar de uma arquitetura sem servidor, você não precisa se preocupar com o gerenciamento ou provisionamento de servidores.
- Você não precisa configurar nenhum Máquina virtual.
- Ajuda os desenvolvedores a executar e executar a resposta do código a eventos sem construir nenhuma infraestrutura.
- Você só paga pelo tempo de computação utilizado, somente quando seu código é executado.
- Você pode monitorar o desempenho do seu código em tempo real por meio do CloudWatch.
- Isso permite que você execute seu código sem precisar provisionar ou gerenciar qualquer outro servidor.
- Ajuda você a executar o código somente quando necessário.
- Você pode escaloná-lo automaticamente para lidar com algumas solicitações por dia e até mesmo oferecer suporte a mais de milhares de solicitações por segundo.
- O AWS Lambda pode ser configurado com a ajuda de temporizadores de eventos externos para executar tarefas agendadas.
- A função Lambda na AWS deve ser configurada com eventos e temporizadores externos para que possa ser usada para agendamento.
- As funções Lambda não mantêm estado, o que permite que sejam escaladas rapidamente.
- O AWS Lambda é rápido, portanto executará seu código em milissegundos.
Limitações do AWS Lambda
Aqui estão os contras/desvantagens de usar AWS Lambda:
- A ferramenta AWS Lambda não é adequada para projetos pequenos.
- O AWS Lambda depende inteiramente da AWS para a infraestrutura, portanto, você não pode instalar nenhum software adicional se o seu código o exigir.
- A execução simultânea tem um limite padrão de 1,000 por região, que pode ser aumentado mediante solicitação.
- Sua capacidade de memória pode variar entre 128 MB e 10,240 MB.
- A solicitação de evento não deve exceder 128 KB.
- As funções Lambda ajudam você a gravar seus logs apenas no CloudWatch. Esta é a única ferramenta que permite monitorar ou solucionar problemas de suas funções.
- O tempo limite de execução do código é de 15 minutos.





