O que é o AWS Lambda?
É possível usar o AWS Lambda para executar código sem provisionar ou gerenciar servidores.
O Lambda executa seu código em uma infraestrutura de computação de alta disponibilidade e executa toda a administração dos recursos computacionais, incluindo manutenção do servidor e do sistema operacional, provisionamento e escalabilidade automática da capacidade e registro em log do código. Com o Lambda, tudo o que você precisa fazer é fornecer seu código em uma dos runtimes de linguagens compatíveis com o Lambda.
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. Você paga apenas pelo tempo de computação consumido. Não haverá cobranças quando o código não estiver em execução. Para obter mais informações, consulte Preços do AWS Lambda
dica
Para saber como construir soluções com tecnologia sem servidor, confira o Guia do desenvolvedor com tecnologia sem servidor.
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 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.
-
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.
-
Back-ends IoT: desenvolva back-ends com tecnologia sem servidor usando o Lambda para tratar de solicitações de API da Web, de dispositivos móveis, de IoT e de terceiros.
-
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.
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. O Lambda executa atividades operacionais e administrativas em seu nome, incluindo gerenciamento de capacidade, monitoramento e registro de suas funções do Lambda.
Atributos principais
Os principais recursos a seguir ajudam você a desenvolver aplicações do Lambda escaláveis, seguras e facilmente extensíveis:
- Variáveis de ambiente
-
Usa variáveis de ambiente para ajustar o comportamento da função sem atualizar o código.
- Versões
-
Gerencia a implantação de suas funções com versões para que, por exemplo, uma nova função possa ser usada para testes beta sem afetar os usuários da versão de produção estável.
- Imagens de contêiner
-
Cria uma imagem de contêiner para uma função do Lambda básica usando uma imagem básica da fornecida pela AWS ou uma imagem básica alternativa para que você possa reutilizar as ferramentas de contêiner existentes ou implantar workloads maiores que dependem de dependências consideráveis, como machine learning.
- Camadas
-
Bibliotecas de pacotes e outras dependências para reduzir o tamanho dos arquivos de implantação e acelerar a implantação do seu código.
- Extensões do Lambda
-
Amplia suas funções do Lambda com ferramentas para monitoramento, observabilidade, segurança e governança.
- URLs da função
-
Adiciona um endpoint de HTTP(S) dedicado à sua função do Lambda.
- Streaming de respostas
-
Configura seus URLs de funções do Lambda para fazer o streaming de cargas de resposta de volta aos clientes a partir das funções do Node.js, para melhorar o desempenho do tempo até o primeiro byte (TTFB) ou para retornar cargas maiores.
- Controles de simultaneidade e escalabilidade
-
Aplicam controle detalhado sobre a escalabilidade e a capacidade de resposta das aplicações de produção.
- Assinatura de código
-
Verifica se somente desenvolvedores aprovados publicam código confiável e inalterado em suas funções do Lambda
- Redes privadas
-
Cria uma rede privada para recursos como bancos de dados, instâncias de cache ou serviços internos.
- Acesso ao sistema de arquivos
-
Configura uma função para montar um Amazon Elastic File System (Amazon EFS) em um diretório local, de forma que o código da função possa acessar e modificar os recursos compartilhados com segurança e com alta simultaneidade.
- Lambda SnapStart para Java
-
Melhora o desempenho de inicialização para ambientes de runtimes de Java em até dez vezes sem custos extras e, geralmente, sem alterações no código da função.