

# Tutorial: Deploy an updated Lambda function with CodeDeploy and the Amazon Serverless Application Model
<a name="tutorial-lambda-sam"></a>

Amazon SAM is an open-source framework for building serverless applications. It transforms and expands YAML syntax in a Amazon SAM template into Amazon CloudFormation syntax to build serverless applications, such as a Lambda function. For more information, see [What is the Amazon Serverless Application Model?](https://docs.amazonaws.cn/serverless-application-model/latest/developerguide/what-is-sam.html) 

 In this tutorial, you use Amazon SAM to create a solution that does the following: 
+  Creates your Lambda function. 
+  Creates your CodeDeploy application and deployment group. 
+  Creates two Lambda functions that execute deployment validation tests during CodeDeploy lifecycle hooks. 
+  Detects when your Lambda function is updated. The updating of the Lambda function triggers a deployment by CodeDeploy that incrementally shifts production traffic from the original version of your Lambda function to the updated version. 

**Note**  
This tutorial requires you to create resources that might result in charges to your Amazon account. These include possible charges for CodeDeploy, Amazon CloudWatch, and Amazon Lambda. For more information, see [CodeDeploy pricing](http://www.amazonaws.cn/codedeploy/pricing/), [Amazon CloudWatch pricing](http://www.amazonaws.cn/cloudwatch/pricing/), and [Amazon Lambda pricing](http://www.amazonaws.cn/lambda/pricing/).

**Topics**
+ [Prerequisites](tutorial-lambda-sam-prereqs.md)
+ [Step 1: Set up your infrastructure](tutorial-lambda-sam-setup-infrastructure.md)
+ [Step 2: Update the Lambda function](tutorial-lambda-sam-update-function.md)
+ [Step 3: Deploy the updated Lambda function](tutorial-lambda-sam-deploy-update.md)
+ [Step 4: View your deployment results](tutorial-lambda-sam-deploy-view-results.md)
+ [Step 5: Clean up](tutorial-lambda-clean-up.md)