Deployment of Infrastracture


I am new to Serverless. I just checked out the serverless.yml files. As far as I understand it most of the definitions are related to functions. If I want to deploy infrastructure I have to specify it in the ressources paragraph as CloudFormation for AWS or using Terraform.

Right? So what is the big benefit of using the Serverless Framework?

Thanks in advance!

I’m currently working as a DevOps Engineer (I know everyone hates that term) for $BIG_BANK. Unfortunately, I am pretty limited in which technologies I can implement at work in my current role, but I am trying to continue learning on my own. I use Docker, Jenkins, and other tools of the trade at work, but one that I can’t really make use of due to red tape is Terraform. I have heard of using Terraform for “on demand infrastructure” or as part of a CI/CD pipeline and I am wondering what the use cases for this would be. For example, why would I want to automate spinning up or tearing down Kodi nox something like an EC2 as part of my CI/CD pipeline?

The Serverless Framework is for building serverless applications. If you have a web applciation, for example, that needs to be able to receive HTTP requests to a backend that computes over that request and stores data in a datastore of some kind, instead of explicitly defining the resources you need you add a function that gets triggered by an http event and use a service like DynamoDB to store data. You could configure all of this together manually in the AWS console yourself but you can’t store that in git or share that with your team or make it easily deployable. The Serverless Framework lets you do that.

It is not for a dev ops professional deploying infrastructure for a team of developers. Its a developer tool to be used by developers to build applications and helps them use serverless infrastructure to accomplish so reducing dev ops load and allowing teams to develop and get apps into production faster