O AWS Lambda é um serviço de computação sem servidor que executa código em resposta a eventos e gerencia automaticamente os recursos computacionais subjacentes para você. Você pode usar o AWS Lambda para estender outros serviços da AWS com lógica personalizada ou criar seus próprios serviços de back-end que operam com a escala, a performance e a segurança da AWS. O AWS Lambda pode executar automaticamente código em resposta a vários eventos, como solicitações HTTP por meio do Amazon API Gateway, modificações de objetos em buckets do Amazon S3, atualizações de tabela no Amazon DynamoDB e transições de estado no AWS Step Functions.

O Lambda executa seu código em infraestrutura de computação de alta disponibilidade e realiza toda a administração dos recursos computacionais, incluindo manutenção de servidor e de sistema operacional, provisionamento de capacidade e escalabilidade automática, implantação de código e de patch de segurança e monitoramento e registro de código. Tudo o que você precisa fazer é fornecer o código.

Funções do AWS Lambda

Apresentação das funções do AWS Lambda

O código que você executa no AWS Lambda é chamado de “função do Lambda”. Depois de criar sua função do Lambda, ela está sempre pronta para execução assim que acionada, semelhante a uma fórmula em uma planilha. Cada função inclui seu código e algumas informações de configuração associadas, incluindo o nome da função e os requisitos do recurso. As funções do Lambda são “stateless”, sem nenhuma afinidade com a infraestrutura adjacente, para que o Lambda possa lançar rapidamente quantas cópias da função forem necessárias para escalar de acordo com o volume de eventos recebidos.

Depois de fazer o upload do seu código no AWS Lambda, você pode associar sua função a recursos específicos da AWS (por exemplo, um bucket do Amazon S3 específico, uma tabela do Amazon DynamoDB, um stream do Amazon Kinesis ou uma notificação do Amazon SNS). Então, quando o recurso muda, o Lambda executa sua função e gerencia os recursos computacionais conforme necessário para acompanhar as solicitações de entrada.

Principais recursos do produto

Estenda outros serviços da AWS com lógica personalizada

O AWS Lambda permite que você adicione lógica personalizada aos recursos da AWS como buckets do Amazon S3 e tabelas do Amazon DynamoDB, facilitando a aplicação de computação aos dados quando eles entram ou se movem na nuvem.

É fácil começar a usar o AWS Lambda. Primeiro você cria uma função fazendo upload do código (ou criando o código diretamente no console do Lambda) e escolhendo a memória, o tempo limite e a função do AWS Identity and Access Management (IAM). Então, você especifica o recurso AWS para acionar a função, seja um bucket do Amazon S3, uma tabela do Amazon DynamoDB ou um stream do Amazon Kinesis. Quando o recurso muda, o Lambda executa sua função e lança e gerencia os recursos computacionais conforme necessário para acompanhar as solicitações de entrada.

Crie serviços de back-end personalizados

Você pode usar o AWS Lambda para criar novos serviços de back-end para os aplicativos, acionados sob demanda usando a API do Lambda ou endpoints de API personalizados criados usando o Amazon API Gateway. O uso do Lambda para processar eventos personalizados em vez de atendê-los no cliente permite evitar variações da plataforma do cliente, reduzir o consumo de bateria e facilitar as atualizações.

Traga seu próprio código

Com o AWS Lambda, não há novas linguagens, ferramentas ou estruturas para aprender. Você pode usar qualquer biblioteca de terceiro, até mesmo nativas. Sim, também é possível empacotar qualquer código (estruturas, SDKs, bibliotecas e mais) como uma Camada Lambda e gerenciá-lo e compartilhá-lo facilmente em diversas funções. O Lambda oferece suporte nativamente aos códigos Java, Go, PowerShell, Node.js, C#, Python e Ruby, bem como uma API de tempo de execução que permite usar qualquer linguagem de programação adicional para criar suas funções.

Administração totalmente automatizada

O AWS Lambda gerencia toda a infraestrutura para executar seu código em uma infraestrutura altamente disponível e tolerante a falhas, liberando você para se concentrar na criação de serviços de back-end diferenciados. Com o Lambda, você nunca tem que atualizar o SO quando um patch é liberado, nem se preocupar com redimensionamento ou adição de novos servidores conforme seu uso aumenta. O AWS Lambda implanta código com transparência, faz toda a administração, manutenção e patches de segurança e fornece registro e monitoramento integrados através do Amazon CloudWatch.

Tolerância a falhas integrada

O Lambda tem tolerância a falhas integrada. O AWS Lambda mantém a capacidade computacional em várias zonas de disponibilidade em cada região para ajudar a proteger seu código de falhas de instalação de datacenter ou de máquina individual. Tanto o AWS Lambda quanto as funções em execução no serviço fornecem performance operacional previsível e confiável. O AWS Lambda foi concebido para oferecer alta disponibilidade para o serviço em si e para as funções que opera. Não há janelas de manutenção nem tempos de inatividade programados.

Escalabilidade automática

O AWS Lambda invoca seu código apenas quando necessário e escala automaticamente para comportar a taxa de solicitações de entrada sem exigir que você configure nada. Não há limite para o número de solicitações que o seu código pode atender. O AWS Lambda tipicamente começa a executar seu código em milissegundos após um evento. Como o Lambda escala automaticamente, a performance continua consistentemente alta conforme a frequência de eventos aumenta. Como o código é stateless, o Lambda pode iniciar quantas instâncias forem necessárias sem implantações demoradas e atrasos de configuração.

Conecte-se a bancos de dados relacionais

Use o Amazon RDS Proxy para tirar proveito de grupos de conexão totalmente gerenciados para bancos de dados relacionais. O RDS Proxy gerencia com eficiência milhares de conexões simultâneas com bancos de dados relacionais, facilitando a criação de aplicativos sem servidor altamente escaláveis, seguros e baseados em Lambda que precisam interagir com bancos de dados relacionais. Atualmente, o RDS Proxy oferece suporte ao MySQL e ao Aurora. Você pode usar o RDS Proxy para aplicativos sem servidor através do console do Amazon RDS ou do console do AWS Lambda.

Controle refinado sobre o desempenho

A Simultaneidade provisionada oferece maior controle sobre o desempenho do aplicativo sem servidor. Quando habilitada, a simultaneidade provisionada mantém as funções inicializadas e prontas para responder em questão de milissegundos. A simultaneidade provisionada é ideal para qualquer aplicativo criado usando o AWS Lambda que precise de maior controle sobre o horário de início das funções. Você pode configurar facilmente a quantidade apropriada de simultaneidade necessária ao seu aplicativo. Você pode aumentar o nível de simultaneidade durante períodos de alta demanda e reduzi-lo ou desativá-lo completamente quando a demanda diminuir. Tirar proveito da simultaneidade provisionada não requer alterações no seu código. A Simultaneidade provisionada é uma maneira eficiente de obter desempenho consistente para aplicativos sensíveis à latência conforme necessário, sem precisar gerenciar recursos de computação.

Conectar-se a sistemas de arquivos compartilhados

Com o Amazon Elastic File System para AWS Lambda, você pode ler, gravar e persistir grandes volumes de dados com segurança e baixa latência, em qualquer escala. Você não precisa escrever código para baixar dados para armazenamento temporário para processá-los. Isso economiza tempo e simplifica o código, permitindo que você se concentre na sua lógica de negócios. O EFS for Lambda é ideal para criar aplicativos de machine learning ou carregar grandes arquivos ou modelos de referência, processar ou fazer backup de grandes quantidades de dados, hospedar conteúdo da Web ou compartilhar arquivos entre aplicativos sem servidor e aplicativos baseados em instância ou contêiner.

Execute código em resposta a solicitações do Amazon CloudFront

Com o Lambda@Edge, o AWS Lambda pode executar código em localizações da AWS globalmente em resposta a eventos do Amazon CloudFront, como solicitações de conteúdo para ou de visualizadores e servidores de origem. Isso facilita a entrega de conteúdo mais completo e personalizado para usuários finais, com latência mais baixa. Saiba mais »

Orquestre várias funções

Você pode coordenar várias funções do AWS Lambda para tarefas complexas ou demoradas criando fluxos de trabalho com o AWS Step Functions. O Step Functions permite definir fluxos de trabalho que disparam uma coleção de funções do Lambda usando etapas sequenciais, paralelas, ramificadas e de processamento de erro. Com o Step Functions e o Lambda, você pode criar processos stateful de longa execução para aplicativos e back-ends.

Modelo de segurança integrado

O AWS Lambda permite que o código acesse com segurança outros serviços da AWS por meio do AWS SDK incorporado e da integração com o AWS Identity and Access Management (IAM). Por padrão, o AWS Lambda executa o seu código em uma VPC. Opcionalmente, também é possível configurar o AWS Lambda para acessar recursos atrás de sua própria VPC, o que permite usar grupos de segurança e listas de controle de acesso de rede personalizados para permitir que funções do Lambda acessem seus recursos em uma VPC.

O AWS Lambda mantém a conformidade com SOC, HIPAA, PCI e ISO. Para obter as mais recentes informações sobre a certificação e a conformidade do Lambda, consulte os serviços em escopo completos.

Pague somente pelo que usar

Com o AWS Lambda, você paga pela duração da execução, e não pela unidade do servidor. Ao usar as funções do Lambda, você paga apenas pelas solicitações atendidas e pelo tempo de computação necessário para executar seu código. O faturamento é medido em incrementos de 100 milissegundos, tornando-o econômico e facilitando a escalabilidade automática de algumas solicitações por dia para milhares de solicitações por segundo. Com a Simultaneidade provisionada, você paga pela quantidade de simultaneidade configurada e pelo período em que a configura. Quando a simultaneidade provisionada está habilitada para a sua função e é executada, você também paga pelas solicitações e pela duração da execução. Para saber mais sobre a definição de preço, visite Definição de preço do AWS Lambda.

Modelo de recursos flexível

Você escolhe a quantidade de memória que quer alocar para as funções e o AWS Lambda aloca proporcionalmente capacidade de CPU, largura de rede e E/S de disco.

Saiba mais sobre a definição de preço do AWS Lambda

Acesse a página de definição de preço
Pronto para começar?
Cadastre-se
Tem outras dúvidas?
Entre em contato conosco