Aproveite o poder da computação sem servidor com o AWS Lambda; execute código em resposta a eventos, gerencie recursos e dimensione sem esforço sem servidores.
AWS Lambda é um dos serviços mais populares disponíveis para computação sem servidor. Oferecido pela Amazon Web Services, o AWS Lambda facilita aos usuários a criação de código autocontido, escalável e tolerante a falhas (escrito em diversas linguagens e tempos de execução compatíveis) que pode ser executado na nuvem AWS sem a necessidade de provisionar ou gerenciar servidores.
Existem muitos serviços semelhantes por aí, mas nenhum deles remove tantas barreiras de entrada quanto o AWS Lambda. Com este serviço, você não precisa saber quantos servidores, CPUs ou quanta memória seu código precisará para ser executado. Com o AWS Lambda, o código é executado em resposta a eventos, e os recursos desse código são gerenciados e ajustados automaticamente.
O que é AWS Lambda
O lançamento inicial do AWS Lambda ocorreu em novembro de 2016. A plataforma foi projetada como um serviço de computação sem servidor para executar código sem provisionar ou gerenciar servidores, criando a lógica necessária para clusters com reconhecimento de carga de trabalho, mantendo integrações de eventos ou gerenciando tempos de execução.
O AWS Lambda possibilita a execução de código em praticamente qualquer tipo de aplicativo ou serviço de back-end e é ideal para casos de uso como:
- Uploads de imagens/objetos para o Amazon S3
- Atualizações nas tabelas do DynamoDB
- Respondendo a cliques no site
- Reagindo às leituras de sensores de dispositivos IoT
- Provisionar serviços de back-end acionados por solicitações HTTP personalizadas
O processo AWS Lambda é muito simples. Você escreve seu código, configura-o para ser acionado a partir de outros serviços, endpoints ou atividades no aplicativo da AWS, carrega o código como um arquivo zip ou imagem de contêiner e o serviço cuida do resto. O AWS Lambda alocará automaticamente os recursos computacionais necessários e executará seu código com base no código ou evento recebido. Você também pode configurar seu código para ser acionado automaticamente por qualquer um dos 200 serviços AWS e aplicativos SaaS, ou pode chamá-lo diretamente de um aplicativo web ou móvel.
E, como tantos outros serviços, você paga apenas pelo tempo de computação utilizado.
O que é computação sem servidor?
Neste ponto, você deve estar se perguntando o que exatamente é computação sem servidor? Não é exatamente o que parece. Sim, há um servidor envolvido, mas não é um que você (o usuário ou administrador) precise gerenciar. Em vez disso, a computação sem servidor permite criar e executar aplicativos e/ou serviços sem se preocupar com o hardware de suporte. Todo o gerenciamento do servidor é feito pelo host terceirizado (neste caso, AWS Lambda).
Para muitas empresas, a computação sem servidor não é apenas uma forma de economizar dinheiro considerável; pode ser a única opção. Se você é uma startup ou uma empresa sem data center, precisa de meios para implantar e fornecer seus aplicativos e serviços em escala. É aí que entra a computação sem servidor.
Diferença entre AWS Lambda e Amazon EC2
Você já deve estar familiarizado com o Amazon EC2 (serviço Elastic Compute Cloud da Amazon), então entende a ideia por trás do “aluguel” de computadores virtuais para hospedar seus aplicativos. Mas há uma diferença muito importante entre o AWS Lambda e o Amazon EC2.
A diferença entre o Lambda e o EC2 é que com o EC2 você é responsável pelo provisionamento da capacidade, pelo monitoramento da integridade e do desempenho e pelo projeto de tolerância a falhas e escalabilidade.
Com Lambda, tudo isso é feito para você. Lambda realiza todas as atividades operacionais e administrativas para você.
Benefícios de usar AWS Lambda
O maior benefício de usar o Lambda é não ter que se preocupar com o provisionamento da sua aplicação ou serviço. Sua empresa também poderá desfrutar de:
- Dimensionamento contínuo e automático.
- Otimização de custos e medição em milissegundos.
- Desempenho consistente, independentemente da escala.
- Um aumento na inovação.
- Modernização de aplicativos.
- Vasto repositório de aplicativos sem servidor.
- Capacidade de construir seus próprios serviços de back-end.
- Administração totalmente automatizada.
- Tolerância a falhas integrada.
- As funções podem ser empacotadas e implantadas como imagens de contêiner.
- Controle de desempenho refinado.
- Sistemas de arquivos compartilhados.
- Pague pelo que você usa.
Quais idiomas o AWS Lambda oferece suporte?
Embora o Lambda não ofereça suporte a todas as linguagens de programação, ele inclui algumas das linguagens mais populares usadas para desenvolvimento de aplicativos nativos da nuvem, da Web e móveis, como
- Java
- Ir
- PowerShell
- Node.js
- C#
- Phyton
- Rubi
Lambda também fornece uma API Runtime que possibilita o uso de qualquer linguagem adicional.
Casos de uso para AWS Lambda
AWS Lambda pode funcionar para vários casos de uso. Aqui estão algumas ideias para você considerar:
- Pré-processe os dados antes de alimentá-los em um modelo de aprendizado de máquina.
- Processamento de streaming de dados em tempo real.
- Processamento de arquivos em tempo real.
- Operando sites sem servidor
- Conversão rápida de documentos
- Renderização preditiva de páginas
- Trabalhando com serviços externos
- Análise de log em tempo real
- Backups automatizados e tarefas diárias
- Processando objetos S3 carregados
- Limpeza de back-end
- Processamento de dados em massa em tempo real
Empresas que usam AWS Lambda
A lista de empresas que usam o AWS Lambda é tão impressionante quanto a empresa que o atende. As empresas incluem Thomson Reuters, iRobot, Autodesk, Financial Engines, MLBAM, Square Enix, The Guardian, Benchling, T Mobile, Bustle, Alt/S, The Seattle Times, AOL e Netflix.
Conclusão
O AWS Lambda é um serviço poderoso e flexível que permite que empresas de todos os tamanhos executem código sem precisar fornecer e gerenciar servidores caros. Com esta plataforma à sua disposição, você pode escrever funções Lambda em sua linguagem favorita e implantá-las com ferramentas familiares, como AWS SAM ou Docker.
O AWS Lambda deve ser a primeira consideração para qualquer empresa que queira expandir serviços sem precisar aumentar seu orçamento de hardware.