AWS has promised an end to that scourge of serverless computing – the cold start – at least when it comes to its own Lambda platform.
As AWS’s principal evangelist, Danilo Poccia, explains, when you invoke a Lambda function, the invocation is routed to an execution environment to process the request. When a function has not been used for some time, or more concurrent invocations are needed, new execution environments are created, which is going to take a little time. This creates latency – the cold start – which isn’t usually a problem. Except when it is.
Microsoft addressed the problem on its Azure Functions last month with the launch of “pre-warmed instances” as part of a premium plan.
AWS’s counterpart is “Provisioned Concurrency, which Poccia describes as a feature that keeps functions initialized and hyper-ready to respond in double-digit milliseconds.” It will be ideal, he wrote, “for implementing interactive services, such as web and mobile backends, latency-sensitive microservices, or synchronous APIs.”
“Provisioned Concurrency is a Lambda feature and works with any trigger. For example, you can use it with WebSockets APIs, GraphQL resolvers, or IoT Rules. This feature gives you more control when building serverless applications that require low latency, such as web and mobile apps, games, or any service that is part of a complex transaction.”
“You only pay for the amount of concurrency that you configure and for the period of time that you configure it,” Poccia adds. Which does undermine the cost effectiveness of serverless a touch, but presumably is still cheaper than more traditional approaches.
The feature got an immediate thumbs up from the folks at the Serverless Framework, with customer success engineer Gareth McCumskey, writing, “You are not provisioning hardware or networks, runtimes and operating systems, but tweaking the settings that directly affect the end result in a measurable and predictable way…this single feature opens Serverless up even further to more use cases and makes it far more competitive in the world of application development.”