A AWS anunciou a disponibilidade geral do Lambda SnapStart para funções Python e .NET. Esse recurso aumenta os tempos de inicialização das funções para níveis sub-segundos, geralmente com alterações mínimas de código, permitindo aplicativos sem servidor altamente responsivos e escalonáveis. O Lambda SnapStart funciona armazenando em cache e reutilizando o estado da memória e do disco capturado de qualquer código de inicialização única ou código que é executado apenas na primeira vez que uma função Lambda é invocada. O Lambda tira um snapshot Firecracker microVM do estado da memória e do disco do ambiente de execução inicializado, criptografa o snapshot e o armazena em cache para acesso de baixa latência. Quando você invoca a versão da função pela primeira vez e, à medida que as invocações aumentam, o Lambda retoma novos ambientes de execução do snapshot em cache em vez de inicializá-los do zero, melhorando a latência de inicialização. Para funções Python, a latência de inicialização do código de inicialização pode levar vários segundos. Alguns cenários em que isso pode ocorrer são o carregamento de dependências (como LangChain, Numpy, Pandas e DuckDB) ou o uso de frameworks (como Flask ou Django). Para funções .NET, esperamos que a maioria dos casos de uso se beneficie porque a compilação just-in-time (JIT) do .NET leva até vários segundos. A variabilidade de latência associada à inicialização de funções Lambda tem sido uma barreira de longa data para os clientes usarem .NET para AWS Lambda. O SnapStart permite que as funções sejam retomadas rapidamente, armazenando em cache um snapshot do estado da memória e do disco. Portanto, a maioria das funções .NET experimentará uma melhoria significativa na variabilidade de latência com o Lambda SnapStart.