AWS Builder Center
AWS Lambda: O fim dos servidores ociosos e o segredo do "Cold Start"

AWS Lambda: O fim dos servidores ociosos e o segredo do "Cold Start"

Descobre como a computação serverless permite executar o teu código pagando apenas pelos milissegundos de uso. Entende a arquitetura orientada a eventos e aprende o que é o "início a frio" e como os engenheiros de software contornam esse atraso.

Student Cybersecurity | IA | Machine Learning
Imagina o seguinte cenário: escreveste um script perfeito em Node.js ou Python que redimensiona imagens de perfil assim que os utilizadores fazem o upload. No modelo tradicional de backend, terias de deixar um servidor ligado 24 horas por dia, 7 dias por semana, apenas à espera que alguém atualize a foto. Estarias a gastar dinheiro a pagar por tempo ocioso. É para resolver este desperdício que existe o AWS Lambda.
O AWS Lambda é o coração da computação serverless (sem servidor) na nuvem. Ele permite-te executar código sem teres de provisionar, configurar ou gerir servidores de forma manual. O conceito é brilhante para estudantes de desenvolvimento web: tu só pagas pelos milissegundos em que o teu código está efetivamente a ser executado.
Para ti, que já estás no 4.º semestre, a lógica é intuitiva: o Lambda é basicamente uma função do teu código que vive isolada na nuvem. Ele não fica a correr em loop. Ele é acionado por "gatilhos" (eventos).
  • Ação por Eventos: Um utilizador guarda um ficheiro numa base de dados ou num armazenamento (como o Amazon S3). Esse ficheiro dispara um evento -> o Lambda "acorda", executa o código que programaste (ex: aplicar um filtro na imagem) e "morre" logo a seguir.
  • Escalabilidade Absoluta: Se 1 utilizador enviar uma foto, corre uma instância do Lambda. Se 10.000 utilizadores enviarem fotos no mesmo segundo (como num pico de acessos a uma rede social), a AWS cria automaticamente 10.000 instâncias do teu código em paralelo. Quando acabam, todas desaparecem.

💡 A Curiosidade: O famoso "Cold Start" (Início a Frio)

Visto que o AWS Lambda destrói o ambiente de execução quando a função não está a ser usada para poupar recursos, o que acontece quando a função é chamada após muito tempo de inatividade?
Ocorre o chamado Cold Start (Início a Frio). Como a AWS precisa de alguns milissegundos extra para criar o contentor (container) do zero e carregar as tuas bibliotecas, a primeira execução demora ligeiramente mais tempo a responder do que as seguintes.
Como os engenheiros de software contornam isto? Se estiveres a criar uma API onde não pode haver nenhum tipo de atraso, podes configurar a Simultaneidade Provisionada (Provisioned Concurrency), que mantém um número mínimo de ambientes "pré-aquecidos" prontos a responder no imediato. Além disso, para quem sofre com Cold Starts pesados em Java, a AWS criou uma tecnologia incrível chamada Lambda SnapStart. Ela tira um snapshot (uma espécie de fotografia instantânea) da memória RAM da tua função já inicializada, reduzindo o atraso do Cold Start em até 90%!
Fontes de onde retirei estas informações:
  1. Página Oficial do AWS Lambda:
  2. Documentação de Escalabilidade e Concorrência (Cold Starts):
  3. Documentação do AWS Lambda SnapStart:
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article