AWS Releases Lambda SnapStart For .NET Functions
Written by Kay Ewbank   
Tuesday, 10 December 2024

Amazon has released new services for AWS Lambda SnapStart,  Amazon's performance optimization that aims to significantly improve the startup time for applications.

Lambda is a compute service that runs your code in response to events and automatically manages the computing resources for you. AWS Lambda starts running code within milliseconds of an event such as an image upload, in-app activity, website click, or output from a connected device.

awslogo

Lambda can also be used to create back-end services where resources such as an Amazon S3 bucket, DynamoDB table, or Kinesis stream are triggered based on custom requests.

The original SnapStart service was limited to Lambda SnapStart for Java, and Amazon has now released AWS Lambda SnapStart for Python and .NET functions to improve the function startup performance from several seconds to as low as sub-second, typically with minimal or no code changes in Python, C#, F#, and Powershell.

Amazon says that with Lambda SnapStart, you can reduce outlier latencies that come from initializing functions, without having to provision resources or spend time implementing complex performance optimizations.

The problem SnapStart is designed to solve is that of initialization. For a Lambda function, this involves downloading the function’s code, starting the runtime and any external dependencies, and running the function’s initialization code. Ordinarily, for a Lambda function, this initialization happens every time your application scales up to create a new execution environment.

Lambda SnapStart works by caching and reusing the snapshotted memory and disk state of any one-time initialization code, or code that runs only the first time a Lambda function is invoked. Lambda takes a Firecracker microVM snapshot of the memory and disk state of the initialized execution environment, encrypts the snapshot, and caches it for low-latency access.

When you invoke the function version for the first time, and as the invocations scale up, Lambda resumes new execution environments from the cached snapshot instead of initializing them from scratch, improving startup latency.

The new suppot for Python functions is aimed at situations where startup latency from initialization code can be several seconds long. Amazon says some scenarios where this can occur are loading dependencies (such as LangChain, Numpy, Pandas, and DuckDB) or using frameworks (such as Flask or Django).

Announcing the new service, Channy Yun, Principal Developer Advocate for AWS cloud, said:

"For .NET functions, we expect most use cases to benefit because .NET just-in-time (JIT) compilation takes up to several seconds. Latency variability associated with initialization of Lambda functions has been a long-standing barrier for customers to use .NET for AWS Lambda."

The new services are available now.

awslogo

More Information

AWS Lambda SnapStart

Related Articles

AWS Introduces A New JavaScript Runtime For Lambda

AWS Lambda Upgraded To .NET8 Runtime

AWS Lambda Updated With SnapStart

Amazon Strengthens Lambda Offering

Amazon AWS Lambda

AWS Lambda For The Impatient Part 1

AWS Lambda For The Impatient Part 2

AWS Lambda For The Impatient Part 3

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


ELIZA Makes a Comeback
19/01/2025

ELIZA was the world's first chatbot, more than 50 years before the term itself was coined. She was the brainchild of Joseph Weizenbaum who wrote the original program in the 1960s at MIT.  Th [ ... ]



O'Reilly Data Reveals Surge In AI Learning
08/01/2025

The O'Reilly Technology Trends for 2025 Report is based on annual usage data from O’Reilly’s online learning platform data. It reveals a "dynamic landscape of developer learning", with AI tec [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 10 December 2024 )