Website • Docs • Community Slack • Forum • Twitter • Meetups • We're Hiring • 简体中文
The Serverless Framework – Build applications on AWS Lambda and other next-gen cloud services, that auto-scale and only charge you when they run. This lowers the total cost of running and operating your apps, enabling you to build more and manage less.
The Serverless Framework is a command-line tool that uses easy and approachable YAML syntax to deploy both your code and cloud infrastructure needed to make tons of serverless application use-cases. It's a multi-language framework that supports Node.js, Typescript, Python, Go, Java, and more. It's also completely extensible via over 1,000 plugins that can add more serverless use-cases and workflows to the Framework.
Actively maintained by Serverless Inc.
Contents
Quick Start
Install Via NPM:
npm install -g serverless
Set Up Your AWS Account Credentials:
The Serverless Framework deploys to your own AWS account. You'll need to enable Serverless Framework to deploy to your AWS account by giving it access. Here is a guide to help you set up your credentials securely
Create A Service:
A "Service" is the Framework's project or app concept. You can create one from scratch or select an existing template by running.
serverless
Go through the onboarding flow and then navigate into the newly created directory.
cd my-new-service
Deploy A Service:
Use this when you have made changes to your Functions, Events or Resources in serverless.yml
or you simply want to deploy all changes within your Service at the same time.
serverless deploy
Deploy A Function:
Use this to quickly upload and overwrite your AWS Lambda code on AWS, allowing you to develop faster.
serverless deploy function -f hello
Invoke The Function On AWS:
Invokes an AWS Lambda Function on AWS and returns logs.
serverless invoke -f hello -l
Invoke The Function Locally:
Invokes an AWS Lambda Function on your local machine and returns logs.
serverless invoke local -f hello -l
Stream Function Logs:
Open up a separate tab in your console and stream all logs for a specific Function using this command.
serverless logs -f hello -t
Remove The Service:
Removes all Functions, Events and Resources from your AWS account.
serverless remove
Features
- Supports Node.js, Python, Java, Go, C#, Ruby, Swift, Kotlin, PHP, Scala, & F#
- Manages the lifecycle of your serverless architecture (build, deploy, update, delete).
- Safely deploy functions, events and their required resources together via provider resource managers (e.g., AWS CloudFormation).
- Functions can be grouped ("serverless services") for easy management of code, resources & processes, across large projects & teams.
- Minimal configuration and scaffolding.
- Built-in support for multiple stages.
- Optimized for CI/CD workflows.
- Loaded with automation, optimization and best practices.
- 100% Extensible: Extend or modify the Framework and its operations via Plugins.
- An ecosystem of serverless services and plugins.
- A passionate and welcoming community!
Contributing
We love our contributors! Please read our Contributing Document to learn how you can start working on the Framework yourself.
Check out our help wanted or good first issue labels to find issues we want to move forward on with your help.
Community
Licensing
Serverless is licensed under the MIT License.
All files located in the node_modules and external directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms in the MIT License.
Previous Serverless Version 0.5.x
You can read the v0.5.x documentation at readme.io.