WTF is Serverless Framework? Is it the same as serverless? (no, it's not)

Chris Biscardi
InstructorChris Biscardi

Share this video with your friends

Send Tweet
Published 2 years ago
Updated a year ago

The Serverless Framework is an open source npm package that makes it easier to deploy functions to various platforms like AWS Lambda. It is not the same thing as "serverless", which is the concept while "Serverless Framework" is an npm package and a hosted product.

instructor: [0:00] Dealing with AWS and CloudFormation templates can be a big pain. That's why there are a bunch of tools on top of AWS that provide better developer experiences that are easier to use. Netlify Functions is one of those solutions specifically for Lambda.

[0:14] Serverless Framework is another one, and it's the one we'll be moving to. Serverless Framework, as opposed to serverless the concept, which encompasses all function deployments, comes in open source and pro editions. The open source edition is a CLI tool that you can install via npm, while the pro edition is most of the hosted services and CI/CD kind of stuff.

[0:35] The CLI tool is [inaudible] based like a lot of infrastructure is these days and allows you to create a serverless.yml file that deploys a set of functions to a provider. The list of providers is fairly large and includes AWS, Knative, Cloudflare Workers, Azure, etc.

[0:54] The serverless CLI also allows you to use plugins. These plugins can do any number of things, including adding support for local development, bundling your functions via webpack, managing Route 53 configs and API gateway, or even pulling down a local DynamoDB.

[1:09] The way we'll be using serverless framework is via CICD. Serverless framework CICD works a lot like GitHub Actions and also a lot like the Netlify builds we've been doing. They allow us to keep a lot of our workflow from Netlify, including deploy previews while detaching the life cycle of our functions from each other and also from our website.

[1:30] In short, what serverless framework gives us is the ability to deploy our Lambdas easily using YAML config in ways that allow us to take advantage of DynamoDB Streams and other advanced API gateway functionality.