Now that AWS Lambda has added PowerShell to its growing list of supported languages, let’s take a moment to compare and contrast the different languages available to us.
In this post, we’ll take a look at these languages from a number of angles:
- Cold start performance: performance during a cold start
- Warm performance: performance after the initial cold start
- Cost: does it cost you more to run functions in one language over another? If so, why?
- Ecosystem: libraries, deployment tooling, etc.
- Platform support: is the language supported by other function-as-a-service (FAAS) platforms?
We will also talk about specialized use cases such as Machine Learning (ML) as well as paying attention to the special needs of the enterprise. Finally, we’ll round off the discussion by looking at a few languages that are not officially supported but that you can use with Lambda via shims.
I should stress that the goal of this post is to consider the relative strengths and weaknesses of each language within the specific context of AWS Lambda. This is not a general purpose language comparison!