AWS Lambda SnapStart is a new feature introduced by AWS recently on Nov 29, 2022, to reduce the cold start times of Lambda.
Lambda cold start times have been one of the limitations for many years that increase the latency, and this recent change with SnapStart will decrease the latency that minimizes cold starts.
This feature in Lambda is available only on Java 11 Corretto runtime.
Before diving deep into this, we will see how Lambda execution takes place and the phases of execution.
Lambda execution contains 2 phases, mainly Cold Start and Warm Start.
Overall, the Lambda function is a service running on a Virtual Machine managed by AWS; for the end user, this is considered Serverless.
Cold Start can be considered like bootstrapping, which will incur latency in making the system available.
In the cold start, code is downloaded from the specified location, like the S3 bucket that the Lambda function executes, creates the execution environment and executes initialization code (like the init method in the Lambda function that has functionalities related to making database connections, or any other objects)
Once Lambda function cold start phase is completed, Lambda will be available to handle and process the requests. This phase is called the Warm phase. The actual execution of the Lambda function is mainly in the Warm phase, and the performance of the Lambda function is determined by the time of execution in the Warm Phase.
Because of Cold starts, Lambda function execution incurs latency in the actual request processing.
Scenarios where Lambda Cold starts occur
Lambda execution environments handle one request at a time. After the invocation of the Lambda function has ended, the execution environment is retained for a period. If another request arrives within the period, the atmosphere is reused to handle the subsequent request. In this scenario, there is no Cold Start.
If requests arrive simultaneously or concurrently, the Lambda service scales up the Lambda function to provide multiple execution environments. Each environment setup experiences a full cold start.
If there is a delay between the requests for each Lambda execution, the existing environments are reused if the previous invocation has been completed. Therefore, in this scenario also, there is no Cold Start.
When the Lambda function with SnapStart enabled is published, this will prepare the execution environment and initialization activity. A snapshot of the execution environment is created, encrypted and cached for a certain duration.
Now when the Lambda function is executed the first time or scaled for concurrent execution, there will not be a cold start, and the snapshot of the execution environment is restored from the cache.
In case of 14 days of inactivity on the Lambda function, the snapshots are removed from the cache.
Discover how our innovative solution evolved salary projection by optimizing resource utilization and improving scalability. A simple UI enhancement to create a cost-effective and efficient solution improved the salary processing workflows and delivered a higher user experience. Explore the details of the whole process we leverage and how automation plays a key role in fulfilling the client’s needs.
(This feature is currently available only in a few AWS regions, Java 11, and Corretto runtime)
(Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Tokyo), Asia Pacific (Sydney), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm))
Note: AWS Lambda SnapStart will not work for unpublished versions.
In this proof of concept, consider a Lambda function with Spring Boot code deployed in the Singapore region with Java 11 and Corretto runtime.
In the configuration section, edit SnapStart for published versions.
In the Versions section, publish the version.
When the version is getting published, SnapStart creates an execution environment, and the snapshot is cached.
Before the first invocation only, the Lambda execution environment is created.
Go to alias, create alias name, and create function URL for the alias.
In this POC, load testing is done with the Apache bench tool for the below 2 use cases.
Case 1: Execute the unpublished version of Lambda (SnapStart not enabled) with 10 concurrent requests and a total of 100 requests. This will incur Cold Starts.
Case 2: Execute the published version of Lambda (SnapStart is enabled) with 10 concurrent requests and a total of 100 requests. This will not incur Cold Starts.
For 100% requests, Lambda with SnapStart has taken 1902 ms
For 100% requests, Lambda without SnapStart has taken 6249 ms
With SnapStart enabled, the latency is reduced to 70%. This proves that SnapStart is reusing the cached snapshot of the execution environment during Lambda invocations which are not leading to cold starts.
AWS Lambda is a powerful, flexible service for building and running serverless applications. With Lambda, you can easily scale your application to handle any workload without worrying about infrastructure or capacity planning.
You can use the AWS Lambda Snapstart to quickly and easily set up a serverless application with everything you need to get up and running in just a few clicks. The Snapstart includes a range of templates and resources that make it easy to build and deploy your application, and you can use the AWS Management Console or the AWS CLI to manage your functions and events.
Increase Profitability, Elevate Work Culture And Exceed Productivity Goals Through DevOps Practices.
Download NowMindbowser played a crucial role in helping us bring everything together into a unified, cohesive product. Their commitment to industry-standard coding practices made an enormous difference, allowing developers to seamlessly transition in and out of the project without any confusion....
CEO, MarketsAI
I'm thrilled to be partnering with Mindbowser on our journey with TravelRite. The collaboration has been exceptional, and I’m truly grateful for the dedication and expertise the team has brought to the development process. Their commitment to our mission is...
Founder & CEO, TravelRite
The Mindbowser team's professionalism consistently impressed me. Their commitment to quality shone through in every aspect of the project. They truly went the extra mile, ensuring they understood our needs perfectly and were always willing to invest the time to...
CTO, New Day Therapeutics
I collaborated with Mindbowser for several years on a complex SaaS platform project. They took over a partially completed project and successfully transformed it into a fully functional and robust platform. Throughout the entire process, the quality of their work...
President, E.B. Carlson
Mindbowser and team are professional, talented and very responsive. They got us through a challenging situation with our IOT product successfully. They will be our go to dev team going forward.
Founder, Cascada
Amazing team to work with. Very responsive and very skilled in both front and backend engineering. Looking forward to our next project together.
Co-Founder, Emerge
The team is great to work with. Very professional, on task, and efficient.
Founder, PeriopMD
I can not express enough how pleased we are with the whole team. From the first call and meeting, they took our vision and ran with it. Communication was easy and everyone was flexible to our schedule. I’m excited to...
Founder, Seeke
Mindbowser has truly been foundational in my journey from concept to design and onto that final launch phase.
CEO, KickSnap
We had very close go live timeline and Mindbowser team got us live a month before.
CEO, BuyNow WorldWide
If you want a team of great developers, I recommend them for the next project.
Founder, Teach Reach
Mindbowser built both iOS and Android apps for Mindworks, that have stood the test of time. 5 years later they still function quite beautifully. Their team always met their objectives and I'm very happy with the end result. Thank you!
Founder, Mindworks
Mindbowser has delivered a much better quality product than our previous tech vendors. Our product is stable and passed Well Architected Framework Review from AWS.
CEO, PurpleAnt
I am happy to share that we got USD 10k in cloud credits courtesy of our friends at Mindbowser. Thank you Pravin and Ayush, this means a lot to us.
CTO, Shortlist
Mindbowser is one of the reasons that our app is successful. These guys have been a great team.
Founder & CEO, MangoMirror
Kudos for all your hard work and diligence on the Telehealth platform project. You made it possible.
CEO, ThriveHealth
Mindbowser helped us build an awesome iOS app to bring balance to people’s lives.
CEO, SMILINGMIND
They were a very responsive team! Extremely easy to communicate and work with!
Founder & CEO, TotTech
We’ve had very little-to-no hiccups at all—it’s been a really pleasurable experience.
Co-Founder, TEAM8s
Mindbowser was very helpful with explaining the development process and started quickly on the project.
Executive Director of Product Development, Innovation Lab
The greatest benefit we got from Mindbowser is the expertise. Their team has developed apps in all different industries with all types of social proofs.
Co-Founder, Vesica
Mindbowser is professional, efficient and thorough.
Consultant, XPRIZE
Very committed, they create beautiful apps and are very benevolent. They have brilliant Ideas.
Founder, S.T.A.R.S of Wellness
Mindbowser was great; they listened to us a lot and helped us hone in on the actual idea of the app. They had put together fantastic wireframes for us.
Co-Founder, Flat Earth
Ayush was responsive and paired me with the best team member possible, to complete my complex vision and project. Could not be happier.
Founder, Child Life On Call
The team from Mindbowser stayed on task, asked the right questions, and completed the required tasks in a timely fashion! Strong work team!
CEO, SDOH2Health LLC
Mindbowser was easy to work with and hit the ground running, immediately feeling like part of our team.
CEO, Stealth Startup
Mindbowser was an excellent partner in developing my fitness app. They were patient, attentive, & understood my business needs. The end product exceeded my expectations. Thrilled to share it globally.
Owner, Phalanx
Mindbowser's expertise in tech, process & mobile development made them our choice for our app. The team was dedicated to the process & delivered high-quality features on time. They also gave valuable industry advice. Highly recommend them for app development...
Co-Founder, Fox&Fork