Serverless compute programming language adoption
This article describes the different programming languages and runtimes available in the major cloud vendors. What is the adoption and trends.
What programming languages are available in each cloud vendor?
Cloud providers offer several runtime language options, so I wanted to understand which are the supported languages in each and built a table with a simple graph to compare.
Node.js, Python and Java are offered across due to its characteristics/features and demand. This influences adoption and adoption reinforces the loop.
What is the adoption per runtime?
I have found 2 interesting reports, the first one from New Relic [1] and the second one from Datadog [2] analyzing several aspects of serverless, in particular adoption by runtime on AWS Lambda.
New Relic — For the love of serverless (2020)
In this report from 2020, spanning from July-December 2019. Node.js takes 52%, Python 35% and Java around 6%. The top 3 together over 93% of all written functions.
Datadog — State of serverless (2021)
In this report from 2021. Python takes 58%, Node.js 32%, and Java around 6%. The top 3 together over 96% of all written functions.
Some conclusions on adoption:
- I find it interesting that Java, Go, .Net, Ruby remained with the same adoption. However, Python and Node.js are clearly the opposite comparing 2020 vs 2021.
- 2021 appears to have consolidated the lead of Python, Node.js and Java as top languages in serverless compute with more than 96% of written functions.
- Java appears not to be the way of the future from adoption perspective even at Enterprise level according to Datadog report.
- Why isn’t Java used in the same proportion as existing Enterprise applications? I believe it is due to Java’s resource demands. Java HotSpot has the largest memory footprint, which includes the heap memory allocated per Java Virtual Machine (JVM) instance. More resources, more cost.
Python, Node.js and Java are solid as top languages in serverless compute with more than 96% of written functions, however, Java is losing its long standing dominance so far.
References
Disclaimers
This is a personal article. The opinions expressed here represent my own and not those of my employer.