
CloudFormation templates are painful. Terraform is better but still declarative. CDK lets you use real programming constructs for infrastructure, and that changes how you think about it.
AWS in Production
Lambda, DynamoDB, S3, CDK, IAM -- real AWS patterns.