Prisma ORM em ambientes Serverless

Por Felipe Barbosa, 04/05/2023

serverless

A arquitetura de infraestrutura "serverless" é extremamente poderosa e conveniente, mas não está livre de seus próprios desafios.

Enquanto que um dos maiores benefícios dessa arquitetura é poder reduzir a 0 os custos na ausência de requisições (você não tem um servidor físico onde sua aplicação é hospedada, que ficaria ocioso nessas circunstâncias), por outro lado cria-se um problema conhecido como "cold start".

Cold start no contexto serverless tem a haver com a latência relacionada a inicializar um serviço pela primeira vez depois de um certo tempo sem demanda. Esse problema é inerente a esse tipo de arquitetura e existem muitas formas de minimizá-lo.

Um ponto que tem grande influência para o nível de penalidade atribuído ao cold start tem a ver com as dependências usadas no projeto. Quanto maiores e numerosas, maior sua base de código e mais tempo para carregá-las e inicializadas.

O Prisma é um dos ORMs mais avançados do ecossistema Node.js. A experiência de desenvolvedor é a melhor que já tive em qualquer linguagem, e o time por trás do projeto está constantemente melhorando a ferramenta, trazendo novas features e expandindo suporte para vários de bancos de dados.

Entretanto, o Prisma até esse ponto era uma dependência que tinha um custo muito alto em termos de performance para se trazer para o ambiente serverless. Grande e pesado, o ORM trazia uma bagagem grande consigo, inclusive no runtime.

Não mais! Ou pelo menos podemos dizer que a penalidade de trazer o Prisma para ambientes serverless diminuiu significativamente. Os engenheiros do projeto reduziram em 9x os cold start nos benchmarks feitos com AWS Lambda.

Para alguém que usa esse stack em produção, posso afirmar que isso é grande. Parabéns ao time do Prisma 👏

Para saber os detalhes, confere o artigo no blog oficial do projeto 👇👇

https://www.prisma.io/blog/prisma-and-serverless-73hbgKnZ6t

Gostando até aqui? ✍️

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