Best programming language for AWS Lambda?

By Siarhei Krukau

Elevator Pitch

AWS Lambda supports about a dozen of different runtimes. Is there a silver bullet among them?

Description

You haven't written a description for this talk yet. Having just a title is a great place to start, but you probably don't want to submit your talk to an event without any sort of description. All you need to do is click the edit button and fill it in. Think of the great sense of accomplishment you'll feel when you're finished.

Notes

I’ve been writing JVM-based AWS Lambda Functions for our mobile apps’ backends for the past two years.

JVM is far from being ideal tool for this task. It’s greatest flaw is so called “cold starts”: some invocations could take up to a dozen of seconds due to a VM startup and initialization. Scripting languages provide better start times, but the average performance is worse. Golang seems to outbeat anyone else with its instant startups and outstanding performance. However, rewriting everything in Golang was not an option… A year ago AWS announced support for custom runtimes, i.e. any executable, authored in any language, can be potentially used to handle the events as long as the developer hooks it up in the event loop with a special bootstrap script. Being a Kotlin enthusiast, I even tried to use Kotlin/Native for AWS Lambda, but performance and complexity were unacceptable.

I’m going to revise those results in the light of the latest changes and make a short talk out of them, trying to answer the question: is the a best programming language for AWS Lambda?