AWS объявила о всеобщей доступности Lambda SnapStart для функций Python и .NET. Эта функция сокращает время запуска функций до уровня менее секунды, часто с минимальными изменениями кода, что позволяет создавать высокопроизводительные и масштабируемые бессерверные приложения. Lambda SnapStart работает путем кэширования и повторного использования снимка состояния памяти и диска любого одноразового кода инициализации или кода, который запускается только при первом вызове функции Lambda. Lambda делает снимок Firecracker microVM состояния памяти и диска инициализированной среды выполнения, шифрует снимок и кэширует его для доступа с низкой задержкой. При первом вызове версии функции и по мере масштабирования вызовов Lambda возобновляет новые среды выполнения из кэшированного снимка вместо их инициализации с нуля, что улучшает задержку запуска. Для функций Python задержка запуска из кода инициализации может составлять несколько секунд. Некоторые сценарии, в которых это может происходить, — это загрузка зависимостей (таких как LangChain, Numpy, Pandas и DuckDB) или использование фреймворков (таких как Flask или Django). Для функций .NET мы ожидаем, что большинство вариантов использования выиграют, поскольку JIT-компиляция .NET занимает до нескольких секунд. Изменчивость задержки, связанная с инициализацией функций Lambda, долгое время была препятствием для использования .NET для AWS Lambda. SnapStart позволяет функциям быстро возобновлять работу, кэшируя снимок состояния их памяти и диска. Таким образом, большинство функций .NET заметят значительное улучшение изменчивости задержки с Lambda SnapStart.
AWS Lambda SnapStart теперь общедоступен для функций Python и .NET
AWS