AWS a annoncé la disponibilité générale de Lambda SnapStart pour les fonctions Python et .NET. Cette fonctionnalité réduit les temps de démarrage des fonctions à des niveaux inférieurs à la seconde, souvent avec des modifications de code minimales, permettant des applications sans serveur hautement réactives et évolutives. Lambda SnapStart fonctionne en mettant en cache et en réutilisant l'état de la mémoire et du disque capturé de tout code d'initialisation unique, ou du code qui ne s'exécute que la première fois qu'une fonction Lambda est appelée. Lambda prend un instantané Firecracker microVM de l'état de la mémoire et du disque de l'environnement d'exécution initialisé, chiffre l'instantané et le met en cache pour un accès à faible latence. Lorsque vous appelez la version de la fonction pour la première fois, et à mesure que les appels augmentent, Lambda reprend les nouveaux environnements d'exécution à partir de l'instantané mis en cache au lieu de les initialiser à partir de zéro, améliorant ainsi la latence de démarrage. Pour les fonctions Python, la latence de démarrage du code d'initialisation peut durer plusieurs secondes. Parmi les scénarios où cela peut se produire, citons le chargement de dépendances (telles que LangChain, Numpy, Pandas et DuckDB) ou l'utilisation de frameworks (tels que Flask ou Django). Pour les fonctions .NET, nous prévoyons que la plupart des cas d'utilisation en bénéficieront, car la compilation juste-à-temps (JIT) .NET prend jusqu'à plusieurs secondes. La variabilité de la latence associée à l'initialisation des fonctions Lambda a longtemps été un obstacle à l'utilisation de .NET pour AWS Lambda. SnapStart permet aux fonctions de reprendre rapidement en mettant en cache un instantané de leur état de mémoire et de disque. Par conséquent, la plupart des fonctions .NET connaîtront une amélioration significative de la variabilité de la latence avec Lambda SnapStart.
AWS Lambda SnapStart désormais disponible pour les fonctions Python et .NET
AWS