For this hackathon we created a product, YouToad, using Amplify
AWS re:Invent is in full swing and with it come new services that people have been asking for.
AWS re:Invent is in full swing and with it come new services that people have been asking for. While these new services are exciting, the even more exciting things are improvements to existing services that users benefit from with zero change to anything they have done. One of the best examples is reducing the billing interval from 100ms to 1 ms for lambda. (read more about that here)
Well AWS has done it again. This time they have eliminated the cold starts for Lambda.
What is a Cold Start?
Lambdas are Serverless functions that users write code for and it runs on an ultra small vm that AWS manages and maintains. These are great for paying for only when code is executing and not any other time. The trade off is that if you have a burst of traffic or a lambda hasn’t been used in a while, it could result in AWS needing to turn on a new lambda function.
For some languages like python or Node.js these can be pretty short 1-2 seconds which is bearable, (though I hope AWS does this for all languages soon.) For a heavier framework like Java, this can be up to 40 seconds.
How it works:
There are lots of technical details to get this to work, but there are two main things AWS did to solve the problem.
- Instead of using the base state for a Java VM, They are now taking incremental snapshots of the VM in a fully initialized state. This means that it comes up ready to work.
- Like streaming a video, AWS is loading these images as the copy. Starting with the most important blocks and then ensuring the other blocks are there when they are needed.
What does this mean:
More Serverless everywhere. A number of enterprises we work with prefer Java. It is a dependable code language, and is already in use at many of these organizations. With the barrier of cold start removed I imagine that more and more of them will start using Serverless technologies. Which further help the cloud reduce cost and improve scalability.