AWS Lambda NodeJS 8 vs. Python 3.7 vs Golang v1.x
Published in
3 min readMay 7, 2019
Full disclosure, I primarily work with NodeJS on a daily basis but fully recognize that in order to solve a problem you must use the best tool for the job. I had to consume an AWS Kinesis stream with Lambda but had some questions surrounding what language I should use for the Lambda function.
So I set out to test mainly the bootstrapping process and warm/cold starting of the underlying docker instance for the lambda.
What did I test?
- Create a Kinesis Stream of CloudWatch Logs (a decent stream of data).
- Subscribe a NodeJS, Python, and Go Lambda to read 10000 batch size of messages and print to stdout the deserialized object.
- Let this run for about 2 hours and check the CloudWatch metrics on each Lambda Function.
My natural bias was to assume the Go and Python implementations would absolutely destroy the metrics of the NodeJS Lambda. I was actually pleasantly surprised to notice that NodeJS performed pretty well considering.