O que é AWS Lambda?

Soluções AWS

A Amazon é uma das maiores empresas do mundo, com atividades em inúmeros segmentos de mercado. A Amazon Web Services (AWS) é o seu braço voltado para serviços de infraestrutura online e, entre as opções para clientes e parceiros, está o AWS Lambda.

O Lambda permite ao desenvolvedor executar um código sem provisionar ou gerenciar servidores para essa execução. Isso significa que é uma solução serverless, pois não há uma infraestrutura de servidor física para rodar a aplicação, ela está localizada na nuvem e disponível para o usuário utilizar.

Ao optar pelo AWS Lambda, o programador não precisa executar nenhum tipo de interação com o servidor. É escrever o código, subir na plataforma (por meio de um arquivo ZIP ou imagem de contêiner) e, em um clique, começar a executar no Lambda. Há também a opção de utilizar o próprio editor de código da ferramenta (um pouco mais limitado) e, após ele pronto, iniciar a execução.

Das duas formas, as funções Lambda ficam responsáveis por implementar e gerenciar toda a infraestrutura exigida para executar o código. O mais importante é que ele só é executado quando necessário e, a partir da demanda, ainda escala automaticamente, variando de algumas requisições por dia até chegar a centenas de requisições por segundo.

Além disso, o AWS Lambda monitora a integridade do servidor, acompanha a execução do código e traz dados detalhados de todo o processo. Realmente, o desenvolvedor cuida apenas de programar as rotinas que deseja executar, o resto é com o Lambda.

A fácil utilização, a partir do fluxo simples de execução, é um dos pontos que faz o serviço ganhar mais espaço a cada dia. Mas, além disso, há um diferencial fundamental para um mundo da tecnologia em que tantas linguagens são usadas: o Lambda suporta várias delas, como Python, Ruby, Node.Js, C#, Java e outras.

Com essas funcionalidades e adaptabilidade, o Lambda se tornou uma das melhores opções para o mercado. A Amazon divulga na página do serviço que empresas líderes de segmento, como a Coca-Cola, a Thomson Reuters, o iFood e a iRobot adotam, com bastante sucesso, a solução no dia a dia dos negócios.

O atributo alt desta imagem está vazio. O nome do arquivo é traco-ok.png

Quanto custa o Lambda?

Com todos esses benefícios na mão do usuário, é possível pensar que o serviço custa muito caro. Na verdade, por conta do seu modelo de cobrança, os preços não são exorbitantes e adotar o Lambda sai muito mais barato do que outras opções de mercado. A solução é garantia de economia para quem a adota.

Mas como isso é possível?

O Lambda não trabalha com a tradicional disponibilidade 24/7, apesar de estar disponível 24 horas por dia, nos sete dias da semana. Ele também não funciona no modelo de pagamento por hora.

Mas afinal, como a sua utilização é cobrada?

O serviço da AWS cobra por cada milissegundo em que o seu código é executado e pelo número de vezes em que ele é acionado.

Isso significa que o usuário não paga pelo tempo ocioso e só é cobrado quando a função Lambda está em execução. Portanto, caso a aplicação não esteja demandando o AWS Lambda, não há consumo e, consequentemente, não há cobrança para o cliente.

Esse é mais um exemplo da estratégia pay as you go adotada pela Amazon Web Services em diversos dos seus serviços de infraestrutura. É pagar apenas pelo o que usou mesmo.

O atributo alt desta imagem está vazio. O nome do arquivo é traco-ok.png

O que é possível fazer no AWS Lambda?

O serviço traz diversas possibilidades para o dia a dia dos programadores. Por se integrar nativamente com outros serviços AWS (S3, DynamoDB, Kinesis e outros), o Lambda garante muita flexibilidade e resolve diversos desafios durante o desenvolvimento de softwares, permitindo que sua arquitetura tenha custos e manutenção mais inteligentes.

O processamento de dados e a otimização de implementações back-end são os principais usos do AWS Lambda.

O Lambda tem a grande vantagem de processar dados em tempo real. Por isso, com a sua utilização, é possível monitorar o comportamento de aplicações de forma imediata, observando as transações, os fluxos de cliques e gerando estatísticas.

Esse recurso é desejado em todo tipo de software, porém, é ainda mais importante em softwares que operam transações financeiras ou aplicações de missão crítica. A observabilidade permite que os responsáveis pela aplicação identifiquem problemas em tempo real nas diferentes áreas da plataforma e atuem para resolvê-los.

Além disso, é possível processar dados logo após o upload deles. Junto com o Amazon S3, por exemplo, o Lambda pode ser usado para criar miniaturas de imagens, validar arquivos e outras ações em tempo real.

Em desenvolvimento back-end, o AWS Lambda apoia o desenvolvimento de aplicações web, mobile e até de automações IoT (Internet das coisas).

A grande vantagem é que, utilizado junto a outros serviços AWS, o Lambda permite ao desenvolvedor criar apps que “aumentam e diminuem de tamanho”. Em um estudo de caso divulgado no YouTube da AWS, o próprio iFood diz que o app tem dois picos de uso específicos (almoço e jantar).

Nesses momentos, o backend da aplicação “se expande” para proporcionar a melhor experiência aos usuários. Essa expansão significa que o backend consome, temporariamente, mais recursos para atender a alta demanda dos clientes do iFood. Enquanto, em outros horários, ele fica menor, garantindo a economia desejada em momentos de pouco uso.

O atributo alt desta imagem está vazio. O nome do arquivo é traco-ok.png

Quando o Lambda não é o mais indicado?

O AWS Lambda é uma excelente solução em diversos contextos de desenvolvimento de software, mas não é a melhor resposta para todas as atividades de um desenvolvedor. Em alguns casos, usá-lo não é recomendado.

Confira três situações nas quais o AWS Lambda acaba não sendo a melhor escolha:

  • Por ter um limite de 15 minutos na execução de funções, o Lambda não é indicado para processos de longa duração.
  • Migrar uma função Lambda para outro ambiente é possível, mas este processo exigirá praticamente reescrever a função. Ou seja, é como se estivesse criando uma nova função.
  • Rodar um software web “tradicional”, ou seja, não desenvolvido para suportar o Lambda não é indicado. É possível fazer isso, mas seria subutilizar a estrutura deste serviço AWS.

O Lambda é só um dos serviços AWS que pode trazer muitos benefícios no desenvolvimento de software. Ele e outras soluções da Amazon, se utilizadas de forma correta, podem gerar grandes economias nas plataformas digitais das empresas. A UDS Tecnologia é parceira da Amazon e pode te ajudar a extrair o maior potencial de todas as soluções AWS, além de garantir o melhor custo-benefício.

Fale com um dos nossos especialistas e saiba como.

Autor

Paulo Cheles

Empreendedor e especialista em Growth, já foi responsável por mais de 50 milhões em vendas via funis digitais. Fundou a Capptan, uma das top 3 especialistas em apps na América Latina e adquirida pela UDS. Redigiu pautas para Stanford e atuou com apps freemium que somam +90 milhões de downloads.

COMPARTILHE

Fique por dentro

Fale com a UDS

Autor

Paulo Cheles

Empreendedor e especialista em Growth, já foi responsável por mais de 50 milhões em vendas via funis digitais. Fundou a Capptan, uma das top 3 especialistas em apps na América Latina e adquirida pela UDS. Redigiu pautas para Stanford e atuou com apps freemium que somam +90 milhões de downloads.