Deploy a Nest.js App With Serverless (Cheap & Easy)
HTML-код
- Опубликовано: 28 дек 2021
- Github Repo: github.com/mguay22/cryptostat...
Atlas Database: www.mongodb.com/atlas/database
Serverless CLI: www.serverless.com/framework/...
Get my highly-rated Udemy courses at a discount here: michaelguay.dev/udemy/ - Наука
Get my highly-rated Udemy courses at a discount here: michaelguay.dev/udemy/
This video tutorial filled all the gaps in my knowledge, thanks
Excellent explanation. Great tutorial! I would like that you post tuto about Nest JS + (S3/SQS/SNS) please!
Super helpful video! Thanks Michael
Thanks for this really helpful tutorial.
Thanks! This was super helpful
Thank you Michael, very well. Is there a video for the things to be done in AWS?
Hello,
thank you so much for tutorial and knowledge you shared! I am working with similiar app architecture and i have problem with implementing swagger into that architecture. Can you give me any tips? Because Swagger is generating documentation only with endpointurl/{+proxy} but not with full controllers actions. Thank you
It's an amazing video. thank you
thk you. its very helpful for me!
can you share the required steps on the AWS side ? what are the needed user permissions? any steps to implement on the AWS that are needed more than getting the credentials ?
I got problem when I do "sls deploy --stage prod" , It takes .env variable instead of .env.prod. Please help me how to use .env.prod variables
Thanks for the tutorial 👍 well explained and instructfull!
In this example, the entire monolithic nestjs app is deployed in a single lambda, which handles multiple modules and routes (users, coinbase & auth).
By any chance, do you have an example of splitting the project into a nest monorepo and deploying a lambda per ressources (in this case, 3 lambdas) with serverless?
Thank you !
Not yet, but maybe an idea for a future video.
would love to see distributed serverless (microservices) nestjs apps with kafka
thanks for the tutorial , because ,when execute endpoint response: Error: Cannot find module 'node:url' , Why ??
Lovely stuff Michael, not many of these types of more advanced tutorials around. One quick question, does Serverless take care of the AWS side of things, as in creating an account and services etc, thanks a lot.
Thanks a lot! Serverless will indeed take care of everything. You just need to make sure you have configured your AWS credentials to use the Serverless CLI. You can configure them by running "aws configure" on the command line.
@@mguay Thanks again!
@@mguay i did the aws configure but am keep getting error on the sls deploy:
Error:
CREATE_FAILED: MainLambdaFunction (AWS::Lambda::Function)
Resource handler returned message: "null (Service: Lambda, Status Code: 403,
Will it be possible to deploy NESTJS to Notlify in this way?
hi, you can say what extensions for serverless in vscode?
Hi Mike. Thanks Well explained. I keep getting this error when I deploy "Cannot read file node_modules\serverless-offline
ode_modules\fs-extra\lib\json\output-json.js due to: EMFILE: too many open files" kindly assist
Thank you for this tutorial, I found it really helpful. Is there a way to deploy a nestjs app with web socket and api gateway ?
I'm able to run the serverless however the server keep listening it never goes down and start it again when next invoke is requested ... do you know why ?
I had a problem with timeout because i am using a aws rds mysql db so i had some ping. i fixed it just by adding "timeout: 45" under the handler key in serverless.yaml file
Hey, i learned a lot from this video, could give me a hand with a error that im trying to fix? after deploying the project to lambda , i get a "Possible EventEmitter memory leak detected." error message via logs and API endpoints does not work anymore. it just indicates 500 error whenever i try to access one of em. thank you
Thanks for the amazing tutorial, in my case i am using postgres how do i connect it
Thanks for posting this, Great stuff..
Couple of queries though :
How do we handle cold start?
And can you add how you added custom domain as API gateway url changes on each deployment
Thanks
Thanks! Cold starts are an unavoidable downside to this approach, however take a look at this plugin: www.serverless.com/plugins/serverless-plugin-warmup
For a custom domain, take a look here: www.serverless.com/blog/serverless-api-gateway-domain/
Hi Michael, Can you exaplain this method with sqs lambda?
How to implement a lambda per controller method
Do I understand this right? The whole API is running on one single Lampda?
sheeesh nice theme
10:29
I can see that each request started a new nest/express server which took about a second.
So why is the cached server you created at 3:55 not working?
Hey there, I think this is a symptom of the Serverless offline plugin. I just checked the logs for my app deployed to the prod stage and I can see the START & END of each request without the server starting up again. Try deploying to prod and giving this a try.
I'm getting 504 lambda timeout, kindly guide me michael
Amazing content man 👏. Can u suggest any resources on creating microservices using serverless and nest js. Each microservice will be a nest js app.
I do have a video on Nest.js Microservices - check it out. I think you could combine these two approaches.
Hey. There is one thing I don't understand:
I thought that after prolonged time period of lambda inactivity (like 10 minutes) it shuts down and then next request has to do what is called "cold start".
As I watched this video, it looks like every request does cold start. Isn't there an option to keep lambda "hot" for X minutes?
Use case: my app is used rarely but when it is used, I expect it to perform fast.
I’m going to create a video on how to get around this using the Serverless Warmup plugin.
@@mguay I didn't mean to keep lambda warm during certain time ranges.
What is confusing me is that in 10:29 we can see you sent 2 requests and app started 2 times. I thought that app starts when first request hits and then it is ready to take requests for like next 10 minutes and then it shuts down.
Ahhhh I see someone commented with same question and you said that in prod environment it uses cached server
Do you know, how to integrate swagger in serverless?
@Mohit Singh Jamnal were you able to find a solution for this? I am currently having the same issue
Hi,
This video is very helpful. Thank you!
But I got stuck at the last step. I am getting the below error while running sls deploy command.
Error:
self signed certificate in certificate chain
Can you please help me to find a solution for this?
I found a solution
What about the database? Is this is suitable for connecting and querying a database in every request? Or it would be slow or unreliable? 🤔
This is something I still have to test out, but check out: docs.nestjs.com/faq/serverless#runtime-optimizations
Thank you so much man, this is amazing! could you make a video using webpack to solve the cold start?? I founded un the Nestjs doc but its not working for me, I'm going crazy with this.. thank you so mucho for this anyway
Sure thing!
Thanks so thankful, how do you learn these things?
Lots of experimenting around and trial + error!
6:35 no multicursor, ngmi :D
thanks for the tutorial man you are a fucking god but when i use the command sls offline sendme this error
✖ Unhandled exception in handler 'main'.
✖ (0 , serverless_express_1.default) is not a function
I downloaded the git code and it doesn't work. When using the "yarn build + sls offline" it says offline is not a function.
I tried to follow the same steps with a new nestJs project and it didn't work either, first I had to put: "path: '/{proxy+}'" in the serverless.yml for it to recognise it; and even then, it gives the following error:
(0 , serverless_express_1.configure) is not a function
Same here
Try using this package @codegenie/serverless-express. I was having the same issue and I was able to resolve it after I found out they rename the package.
We need AWS account for that which is not free.
Sure but this approach is much cheaper than using something like Heroku if you’re app doesn’t get a ton of traffic.
thx a lot for this awesome tutorial