I use Terraform a lot (yes, I like it more than Cloudformation templates). It can make the job done super fast if compare the time to maintain Cloudformation template (it easily goes up to thousands lines)
But terraform is not good for serverless related resources, it is still too complex or feature missed to be managed by terraform. We still need Serverless framework to manage the lambda/api gateway, dynamodb separately
I spent a couple weeks trying to get this to work before I found out terraform isn’t supporting it. IMO, terraform needs a “doesn’t really support API Gateway” on the front page / README.
If anyone has found a way to actually use API Gateway from terraform in production (without lots of manual setup), I’d love to pick your brain. Right now, I’m forced to consider alternatives like serverless, Zappa, or CloudFormation.
Mixed serverless framework and terraform are not bad idea at all. In fact, with current functions in terraform, you have to mix it with serverless framework to deal with API Gateway.