AWS Serverless Application Model and AWS CDK both abstract AWS infrastructure as code making it easier for you to define your cloud infrastructure. AWS SAM is specifically focused on serverless use cases and architectures and allows you to define your infrastructure in compact, declarative JSON/YAML templates. AWS CDK offers broad coverage across all of AWS services and allows you to define cloud infrastructure in modern programming languages like TypeScript, Python, C#, and Java. Both AWS SAM and AWS CDK leverage CloudFormation as the provisioning engine for your infrastructure stacks. If you prefer defining your serverless infrastructure in concise declarative templates, SAM is the better fit. If you want to define your AWS infrastructure in a familiar programming language, we encourage you to try out AWS CDK. In either case, you can rely on repeatable, safe infrastructure deployment through CloudFormation.