A typical Lambda-based application consists of multiple functions triggered by events, such as a new object in the S3 bucket, incoming HTTP requests, or a new SQS message. Those functions can stand alone or leverage other resources, such as DynamoDB tables, Amazon S3 buckets, and other Lambda functions. So far, we have seen how to create those resources from the AWS Management Console or with the AWS CLI. In a real-world scenario, you want to spend less time provisioning the required resources and focus more on your application logic. In the end, that's the serverless approach.
This last chapter will introduce the concept of Infrastructure as Code to help you design and deploy your N-Tier serverless application in an automated way, in order to avoid human error and repeatable tasks.