We’ve been working with AWS Lambda for more than 2 years in production; we started with a small and iterative process, which helped us to quickly adapt and iterate our projects, but we also made a lot of mistakes along the way. We didn’t know how to automate our serverless deployments, how to manage serverless tasks or how to structure our projects. This led to manual work, maintainability and orchestration issues. Luckily, after 2 years we’ve learned a lot about what to do and what not to do when it comes to serverless systems on AWS. We would like to show our initial mistakes, how we overcame them and what has worked for our team. We will also talk about how to be as lean as possible while maintaining flexibility and robustness in a serverless system. We will show how to use, configure and extend a serverless framework and how to combine it with Terraform. Additionally, we will show how to easily structure, develop, build and deploy AWS components, Lambda functions, and lambda@edge functions.