About the Author
Greg Emerick

Greg Emerick

I am a Software Consultant with Keyhole Software in St. Louis. I have more than 20 years experience, specializing in Java applications with Spring, REST APIs, Docker, and AWS. My free time is spent with family and mentoring with FIRST robotics.

AWS Lambda With NestJS

Greg Emerick AWS, JavaScript, Node, Technology Snapshot Leave a Comment

In my previous blog post, I showed running a Spring Boot Java application in AWS Lambda. I discussed the pros and cons of using Java and Spring with Lambda. In this blog post, I’ll cover another Lambda option with NestJS. NestJS provides a framework that is not too different from a typical Spring application. It also addresses some of the negatives of using Java and Spring in a Lambda function.

To recap, AWS Lambda provides low cost compute with zero maintenance. Lambda runs your code on demand, without provisioned and managed servers. Lambda automatically runs and scales your code. You are charged for every 100ms your code executes and the number of times your code is triggered. Lambda has clear cost and maintenance benefits over typical on-premise or EC2 deployments. What does it take to run a Nest application as a Lambda? Does NestJS provide benefits over a Java Spring application?

AWS Lambda with Spring Boot

Greg Emerick AWS, Java, Spring, Spring Boot, Technology Snapshot 11 Comments

The typical deployment scenario for a Spring Boot application in AWS involves running the Java application on an EC2 instance 24 hours a day. Of course, the application could be deployed in AWS ECS as a Docker container, but it still runs continuously on an EC2 instance. In each case, the EC2 instances need to be monitored and you pay for compute capacity used by that EC2 instance.

AWS Lambda provides low cost compute with zero maintenance. Lambda runs your code on demand, without provisioned and managed servers. Lambda automatically runs and scales your code. You are charged for every 100ms your code executes and the number of times your code is triggered. If the code isn’t running, you pay nothing.

Lambda has clear cost and maintenance benefits. But what does it take to run the standard Spring Boot application as a Lambda? How does it work? What are the drawbacks? These are the questions that will be answered in this blog through a tangible example…