AWS Lambda com Docker

Por Felipe Barbosa, 18/12/2022

serverlessawsdocker

Não é novidade que eu sou um grande fã de Serveless, FaaS e do serviço da AWS, Lambda. Já felei sobre isso nesse post. Também não é novidade que eu sou um verdadeiro entusiasta das tecnologias que circundam o ecossistema dos containers e do Docker. Na verdade meu primeiro artigo aqui no blog foi exatamente sobre isso. O que eu talvez não tenha falado ainda é que é possível unir o que há de melhor dos dois mundos.

No final do ano de 2020, a AWS fez um anúncio de grande importância para o mundo da tecnologia: funções Lambda agora poderiam ser criadas a partir de imagens de container! As implicações disso são gigantes.

O jeito tradicional

Uma das grandes limitações do Lambda no passado dizia respeito a restrições sobre como as funções deveriam ser "subidas" para a AWS. O jeito tradicional de se fazer isso era comprimir o projeto em um arquivo zip que poderia ter, no máximo, 50 MB!

Além da restrição do tamanho, tinha-se também a restrição do runtime: a plataforma oferecia apenas algumas opções das linguagens mais populares - e se você precisasse usar qualquer aplicação ou recursos de terceiros dentro do SO você estava basicamente sem sorte.

Container Image Support

O que a AWS trouxe para o serviço foi a possibilidade de "empacotar" nossa função em uma imagem de container. Isso acaba com todas as restrições mencionadas anteriormente. É possível trazer para a função quaisquer serviços ou aplicações externos suportadas pelo SO e construí-la num ambiente sob o qual o desenvolvedor tem total controle.

Isso é simplesmente fantástico e revolucionário. Na verdade, quando eu pensei em como faria o deploy da API de gerenciamento de conteúdo desse Blog, não tive dúvidas de como iria fazer isso. Em resumo:

Lamba + Docker = ❤️

Gostando até aqui? ✍️

Receba atualizações de conteúdo diretamente na sua caixa de entrada!