We use AWS CloudFormation because we needed a way to quickly and efficiently create & deploy lambda functions. We found two frameworks that work nicely as 'syntactic sugar' on top of CloudFormation - One of them being AWS SAM, and the other being Serverless Framework. We currently use the Serverless Framework because of it's multi-cloud capabilities.