O que é o AWS Lambda? - AWS Lambda

O que é o AWS Lambda?

É possível usar o AWS Lambda para executar código sem provisionar ou gerenciar servidores. O Lambda executa o código em uma infraestrutura de computação de alta disponibilidade e gerencia todos os recursos computacionais, inclusive manutenção do servidor e do sistema operacional, provisionamento de capacidade, escalação automática e registro em log. Você organiza seu código emFunções do Lambda. O serviço do Lambda executa a função somente quando necessário e escala automaticamente. Para obter informações de preço, consulte Definição de preço do AWS Lambda.

Ao usar o Lambda, você é responsável apenas pelo seu código. O Lambda gerencia a frota de computação que oferece um equilíbrio de memória, CPU, rede e outros recursos para executar seu código. Como o Lambda gerencia esses recursos, não é possível fazer login para calcular instâncias ou personalizar o sistema operacional noRuntime fornecido.

Quando usar o Lambda

O Lambda é um serviço de computação ideal para cenários de aplicações que precisam aumentar rapidamente a escala verticalmente e reduzir a escala verticalmente a zero quando não estão sob demanda. Por exemplo, é possível usar o Lambda para:

  • Processamento de fluxo: use o Lambda e o Amazon Kinesis para processar dados de streaming em tempo real para monitoramento de atividades de aplicações, processamento de pedidos de transações, análise de clickstream, limpeza de dados, filtragem de logs, indexação, análise de mídias sociais, telemetria de dados de dispositivos da Internet das Coisas (IoT) e medição.

  • Aplicações Web: combine o Lambda com outros serviços da AWS para desenvolver aplicações Web avançadas que diminuem e aumentam a escala verticalmente de forma automática, além de executar em uma configuração altamente disponível em diversos datacenters. Para desenvolver aplicações para a Web com serviços da AWS, os desenvolvedores podem usar infraestrutura como código (IaC) e ferramentas de orquestração como o AWS CloudFormation, o AWS Cloud Development Kit (AWS CDK) e o AWS Serverless Application Model, ou coordenar fluxos de trabalho complexos usando o AWS Step Functions.

  • Back-ends móveis: desenvolva back-ends usando o Lambda e o Amazon API Gateway para autenticar e processar solicitações de API. Use o AWS Amplify para facilitar a integração com os frontends do iOS, Android, Web e React Native.

  • Backends de IoT: desenvolva backends com tecnologia sem servidor usando o Lambda para lidar com as solicitações de API da Web, de dispositivos móveis, de IoT e de terceiros.

  • Processamento de arquivos: use o Amazon Simple Storage Service (Amazon S3) para acionar o processamento de dados do Lambda em tempo real após a realização de um upload.

  • Operações e integração de banco de dados: use o Lambda para processar interações de banco de dados tanto reativa quanto proativamente, desde lidar com mensagens de filas para operações do Amazon RDS, como registros de usuários e envios de pedidos, até responder a alterações do DynamoDB para registro em log de auditoria, replicação de dados e fluxos de trabalho automatizados.

  • Tarefas agendadas e periódicas: use o Lambda com as regras do EventBridge para executar operações baseadas em tempo, como manutenção de banco de dados, arquivamento de dados, geração de relatórios e outros processos de negócios agendados usando expressões do tipo cron.

Como o Lambda funciona

Como o Lambda é um serviço de computação orientado por eventos com tecnologia sem servidor, ele usa um paradigma de programação diferente das aplicações Web tradicionais. O seguinte modelo ilustra como o Lambda funciona basicamente:

  1. Você escreve e organiza o código nas funções do Lambda, que são as peças básicas que você usa para desenvolver uma aplicação do Lambda.

  2. Você controla a segurança e o acesso por meio de permissões do Lambda, usando perfis de execução para gerenciar com quais serviços da AWS as funções podem interagir e quais políticas de recursos podem interagir com o código.

  3. As origens de eventos e serviços da AWS acionam as funções do Lambda, transmitindo dados de eventos no formato JSON, os quais as funções processam (isso inclui mapeamentos das origens dos eventos).

  4. O Lambda executa o código com runtimes específicos da linguagem (como Node.js e Python) em ambientes de execução que empacotam o runtime, as camadas e as extensões.

dica

Para saber como construir soluções com tecnologia sem servidor, confira o Guia do desenvolvedor com tecnologia sem servidor.

Atributos principais

Configurar, controlar e implantar aplicações seguras:

  • Variáveis de ambiente modifique o comportamento da aplicação sem novas implantações de código.

  • Versões teste com segurança novos recursos enquanto mantém ambientes de produção estáveis.

  • Camadas do Lambda otimize a reutilização e a manutenção do código compartilhando componentes comuns entre várias funções.

  • Assinatura de código imponha conformidade com a segurança garantindo que apenas código aprovado chegue aos sistemas de produção.

Tenha escalação e performance confiáveis:

  • Controles de simultaneidade e escalação gerenciam com precisão a capacidade de resposta da aplicação e a utilização de recursos durante picos de tráfego.

  • Lambda SnapStart reduza significativamente os tempos de inicialização a frio. O Lambda SnapStart pode ter uma performance de startup de até menos de um segundo, geralmente sem alterações no código da função.

  • Streaming de respostas otimize o desempenho da função fornecendo grandes cargas úteis em incrementos para processamento em tempo real.

  • Imagens de contêiner empacote funções com dependências complexas usando fluxos de trabalho de contêineres.

Conecte e integre sem falhas:

  • As redes VPC protegem recursos sensíveis e serviços internos.

  • Sistema de arquivos integração que compartilha dados persistentes e gerencia operações com estado em todas as invocações de funções.

  • URLs da função crie APIs e endpoints de interação com o público sem serviços adicionais.

  • Extensões do Lambda amplie as funções com ferramentas de monitoramento, segurança e operação.

Informações relacionadas