O AWS Lambda é um serviço de computação sem servidor que executa seu código em resposta a eventos e gerencia automaticamente os recursos computacionais adjacentes 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 de acordo com os padrões de ajuste de escala, desempenho e 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 de computação, incluindo manutenção de servidor e de sistema operacional, provisionamento de capacidade e escalabilidade automática, implementaçã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.

O AWS Lambda já está disponível

Experimente o AWS Lambda gratuitamente

O nível gratuito da AWS inclui 1 milhão de solicitações gratuitas e até 3,2 milhões de segundos de tempo de computação por mês com o AWS Lambda.

Consulte os detalhes do nível gratuito da AWS »

O Adobe Flash Player ou um navegador moderno é obrigatório para assistir aos vídeos neste site.

ha_ed_webinar_video_380x186
Conceitos básicos do AWS Lambda
DevOps_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 "sem estado", 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 oferecer escalabilidade à taxa dos eventos de entrada.

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 de computação conforme necessário para acompanhar as solicitações de entrada.

100x100_benefit_ingergration

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 sua função fazendo upload do seu código (ou criando diretamente no console do Lambda) e escolhendo a memória, período de limite de tempo e 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 de computação conforme necessário para acompanhar as solicitações de entrada.

100x100_benefit_layers

Você pode usar o AWS Lambda para criar novos serviços de back-end para suas aplicações, acionados sob demanda usando a API do Lambda ou endpoints de API personalizados criados usando o Amazon API Gateway. Ao usar o Lambda para processar eventos personalizados em vez de atendê-los no cliente, você pode evitar variações da plataforma do cliente, reduzir o consumo de bateria e habilitar atualizações mais fáceis.

100x100_benefit_ccontainers

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 implementa perfeitamente seu código, faz toda a administração, manutenção e patches de segurança e fornece registro e monitoramento integrados através do Amazon CloudWatch.

100x100_benefit_durable

O Lambda tem tolerância a falhas integrada. O AWS Lambda mantém a capacidade de computação 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 desempenho 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.

100x100_benefit_increase-upward1

O AWS Lambda invoca seu código apenas quando necessário e faz a escalabilidade automática para suportar 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 de um evento, e como o Lambda realiza escalabilidade automática, o desempenho continua consistentemente alto conforme a frequência de eventos aumenta. Como seu código não tem estado, o Lambda pode iniciar quantas instâncias forem necessárias sem implementações demoradas e atrasos de configuração.

100x100_benefit_migration

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 espectadores 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 »

100x100_benefit_secure

O AWS Lambda permite que seu 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 security groups e listas de controle de acesso de rede personalizados para permitir que funções do Lambda acessem seus recursos em uma VPC.

100x100_benefit_code

Com o AWS Lambda, não há novas linguagens, ferramentas ou estruturas para aprender. Você pode usar qualquer biblioteca de terceiro, até mesmo nativas. O AWS Lambda é compatível com código Java, Node.js, C# e Python. A compatibilidade com outras linguagens será disponibilizada no futuro.

100x100_benefit_lowcost-affordable

Com o AWS Lambda, você paga apenas pelas solicitações atendidas e o tempo de computação necessário para executar seu código. O faturamento é medido em incrementos de 100 milissegundos, tornando-o econômico e fácil de obter escalabilidade automaticamente de algumas solicitações por dia a milhares por segundo.

100x100_benefit_flexible

Você escolhe a quantidade de memória quer alocar para suas funções e o AWS Lambda aloca potência de CPU, largura de banda e E/S de disco proporcionais.