Website • Docs • Newsletter • Swag • Gitter • Forum • Meetups • Twitter • We're Hiring • Enterprise
The Serverless Framework – Build applications comprised of microservices that run in response to events, auto-scale for you, and only charge you when they run. This lowers the total cost of maintaining your apps, enabling you to build more logic, faster.
The Framework uses new event-driven compute services, like AWS Lambda, Google Cloud Functions, and more. It's a command-line tool, providing scaffolding, workflow automation and best practices for developing and deploying your serverless architecture. It's also completely extensible via plugins.
Serverless is an MIT open-source project, actively maintained by a full-time, venture-backed team.
Watch the video overview here.
Contents
Quick Start
Watch the video guide here or follow the steps below to create and deploy your first serverless microservice in minutes.
- Install via npm:
npm install -g serverless
-
Set-up your Provider Credentials. Watch the video on setting up credentials
-
Create a Service:
You can create a new service or install existing services.
serverless create --template aws-nodejs --path my-service
cd my-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 -v
- Deploy the 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 on your machine:
Invokes an AWS Lambda Function on your local machine and returns logs.
serverless invoke local -f hello -l
- Fetch the 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
How to Install a Service:
This is a convenience method to install a pre-made Serverless Service locally by downloading the Github repo and unzipping it. Services are listed below.
serverless install -u https://github.com/your-url-to-the-serverless-service
Check out the Serverless Framework Guide for more information.
Services (V1.0)
The following are services you can instantly install and use by running serverless install --url <service-github-url>
Note: the serverless install
command will only work on V1.0 or later.
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.
Consultants
These consultants use the Serverless Framework and can help you build your serverless projects.
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 find projects and plugins relating to version 0.5 here. Note that these are not compatible with v1.0 but we are working diligently on updating them. Guide on building v1.0 plugins.
You can read the v0.5.x documentation at readme.io.