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


AI Breakthrough For Robot Surgery
17/11/2024

Using imitation learning, a robot has learned to perform surgical procedures as skillfully as human surgeons, bringing the field of robotic surgery closer to true autonomy.



Gender Differences In Coding Style
13/11/2024

A novel investigation into the gender gap between men and women regarding coding ability was undertaken by Dr Siân Brooke. Her conclusion? There is a difference in the Python code [ ... ]


More News

espbook

 

Comments




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

Last Updated ( Tuesday, 10 December 2024 )