Consider the following:
1. It's pretty useful for fast prototyping (lots of demos, codes, etc. available).
2. Write clean code. Develop your logic totally separate from Lambda, you should be able to test it without it. Use Lambda + API gateway basically as an app/web server.
3. Don't deploy Lambdas manually. Use AWS SAM.
'Cold starts' is a complicated topic. AWS will keep your Lambda 'hot' for ~5 minutes since the last invocation - you are not paying for the 5 minutes, but it still sits in their RAM waiting for requests. This means that any request within 5 minutes of the last request does not pay the cold-start price. So I used Pingdom to monitor/ping the endpoint every 5 minutes, thus keeping one instance of the function perpetually 'hot'. Note that this hack will not work if you need high concurrency: you can only keep 1 instance alive. In practice, it's enough for us as one instance can serve most of the traffic in our case.
https://hackernoon.com/im-afraid-you-re-thinking-about-aws-l...