It is an organic response to the accidental complexity of many existing tools used by serverless developers.
Developers and DevOps/Cloud engineers have to deal with several types of tools:
Use Terraform for comprehensive infrastructure management and serverless application deployments.
Developers and DevOps/Cloud engineers manage different infrastructure resources differently.
For example, serverless resources (API Gateways, AWS Lambda functions) are managed as part of the Serverless application framework but use infrastructure management tools for traditional Cloud resources (VPC, IAM roles, S3 buckets).
Use a single tool created to manage infrastructure as code – Terraform – for all your infrastructure resources.
Developers like to have control of their environment as code. They also prefer running integration tests often before lengthy deployment cycles kick-off.
Have all infrastructure resources described as configuration files. This allows developers to spin up and tear down complete environments required for their work easily.
Having interaction with real services is often slower than running everything locally (e.g., using LocalStack), but interaction with real services gives the most accurate feedback regarding how AWS services work.
Some of the existing solutions support plugins that extend the functionality of the framework and to simplify the usage of infrastructure services.
By relying on open-source Terraform AWS modules that have been developed over several years by Betajob in partnership with our huge community, you get to build your serverless project on top of verified, reusable components.
The challenges listed above apply to the Serverless Framework, too. In particular, one of the biggest challenges is infrastructure fragmentation between CloudFormation and Terraform.
serverless.tf does not restrict you from setting up your CI/CD workflow, which suits your needs, but it gives you the ways to control building, testing, deployments steps as code.
All of them, because serverless.tf does not restrict you there, but it gives you a way to build, package, and deploy your code in a standardized way.
Yes, please reach out to Betajob.