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 CloudFunctions, 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.
- Quick Start
- Example Projects
- Why Serverless?
- Previous Version 0.5.x
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
Create a Service:
You can create a new service or install existing services.
# Create a new Serverless Service/Project serverless create --template aws-nodejs --path my-service # Change into the newly created directory cd my-service
Deploy a Service:
Use this when you have made changes to your Functions, Events or Resources in
serverless.ymlor 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:
Invokes an AWS Lambda Function on AWS and returns logs.
serverless invoke -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.
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.
The following are services you can instantly install and use by running
serverless install --url <service-github-url>
- CRUD - CRUD service, Scala Port
- CRUD with S3 - CRUD service using S3
- GraphQL Boilerplate - GraphQL application Boilerplate service
- Authentication - Authentication boilerplate service
- Mailer - Service for sending emails
- Kinesis streams - Service to showcase Kinesis stream support
- DynamoDB streams - Service to showcase DynamoDB stream support
- Landingpage backend - Landingpage backend service to store E-Mail addresses
- Facebook Messenger Chatbot - Chatbot for the Facebook Messenger platform
- Lambda chaining - Service which chains Lambdas through SNS
- Secured API - Service which exposes an API key accessible API
- Authorizer - Service that uses API Gateway custom authorizers
- Thumbnails - Service that takes an image url and returns a 100x100 thumbnail
- Boilerplate - Opinionated boilerplate
- ES6 + Jest - ES6 + Jest Boilerplate
- PHP - Call a PHP function from your lambda
- Slack App - Slack App Boilerplate with OAuth and Bot actions
- Swift - Full-featured project template to develop Lambda functions in Swift
serverless install command will only work on V1.0 or later.
- Supports Node.js, Python, Java & Scala.
- 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!
Use these plugins to extend or overwrite the Framework's functionality...
Serverless plugin to work with RAML API spec documents
|Serverless Alexa Plugin
Serverless plugin to support Alexa Lambda events
|Serverless Aws Documentation
Serverless plugin to add documentation and models to the serverless generated API Gateway
|Serverless Build Plugin
A Node.js focused build plugin for serverless.
|Serverless Command Line Event Args
This module is Serverless Framework plugin. Event JSON passes to your Lambda function in commandline.
Securing the secrets on Serverless Framework by AWS KMS encryption.
A serverless plugin to run 'dotnet' commands as part of the deploy process
|Serverless Dynamodb Local
Serverless Dynamodb Local Plugin - Allows to run dynamodb locally for serverless
|Serverless Enable Api Logs
Enables Coudwatch logging for API Gateway events
|Serverless Event Constant Inputs
Allows you to add constant inputs to events in Serverless 1.0. For more info see constant values in Cloudwatch
|Serverless Mocha Plugin
A Serverless Plugin for the Serverless Framework which adds support for test driven development using mocha
Emulate AWS λ and API Gateway locally when developing your Serverless project
|Serverless Plugin Aws Alerts
A Serverless plugin to easily add CloudWatch alarms to functions
|Serverless Plugin Browserify
Speed up your node based lambda's
|Serverless Plugin Cfauthorizer
This plugin allows you to define your own API Gateway Authorizers as the Serverless CloudFormation resources and apply them to HTTP endpoints.
|Serverless Plugin Cloudwatch Sumologic
Plugin which auto-subscribes a log delivery lambda function to lambda log groups created by serverless
|Serverless Plugin Diff
Compares your local AWS CloudFormation templates against deployed ones.
|Serverless Plugin External Sns Events
Add ability for functions to use existing or external SNS topics as an event source
|Serverless Plugin Include Dependencies
This is a Serverless plugin that should make your deployed functions smaller.
|Serverless Plugin Multiple Responses
Enable multiple content-types for Response template
|Serverless Plugin Optimize
Bundle with Browserify, transpile with Babel to ES5 and minify with Uglify your Serverless functions.
|Serverless Plugin Package Dotenv File
A Serverless plugin to copy a .env file into the serverless package
|Serverless Plugin Stack Outputs
Displays stack outputs for your serverless stacks when
|Serverless Plugin Stage Variables
Add stage variables for Serverless 1.x to ApiGateway, so you can use variables in your Lambda's
|Serverless Plugin Subscription Filter
A serverless plugin to register AWS CloudWatchLogs subscription filter
|Serverless Plugin Write Env Vars
Write environment variables out to a file that is compatible with dotenv
|Serverless Python Individually
A serverless framework plugin to install multiple lambda functions written in python
|Serverless Python Requirements
Serverless plugin to bundle Python packages
|Serverless Resources Env
After Deploy, this plugin fetches cloudformation resource identifiers and sets them on AWS lambdas, and creates local .-env file
|Serverless Run Function Plugin
Run serverless function locally
|Serverless Scriptable Plugin
Customize Serverless behavior without writing a plugin.
|Serverless Step Functions
AWS Step Functions with Serverless Framework.
|Serverless Subscription Filter
Serverless plugin to register subscription filter for Lambda logs. Register and pipe the logs of one lambda to another to process.
Serverless plugin to bundle your lambdas with Webpack
Serverless plugin to deploy WSGI applications (Flask/Django/Pyramid etc.) and bundle Python packages
Serverless Screenshot Service using PhantomJS
|Serverless Messenger Boilerplate
Serverless messenger bot boilerplate
|Serverless Npm Registry
Serverless private npm registry, proxy and cache.
Serverless-powered API to fetch nearby Pokemon Go data
|Serverless Weekly2pocket App
Serverless-powered API for sending posts to pocket app
|Serverless Facebook Quotebot
100% Serverless Facebook messenger chatbot which will respond with inspiring quotes
|Serverless Slack Trevorbot
Slack bot for info on where in the world is Trevor Gerhardt?
|Serverless Garden Aid
IoT Garden Aid Backend
|Serverless React Boilerplate
A serverless react boilerplate for offline development
|Serverless Delivery Framework
This is a boilerplate for version release pipeline with serverless framework
|Serverless Mailgun Slack
A Serverless function for posting to a Slack Webhook in response to a Mailgun route
|Pfs Email Serverless
This is a lambda function created by the serverless framework. It searches through members in our mongodb who have not been sent emails and sends them an email with their custom token to unlock the pledge free stream. It then marks those members off as already receiving the email.
|Plaid Cashburndown Service
Service for calculating cash burndown with plaid. Frontend code can be found here: https://github.com/cplee/cashburndown-site
A serverless API for EU Cordis data
|Serverless Newsletter Signup
Saves user details into DynamoDB table. Required values are email, first_name and last_name.
|Serverless Slack Cron
Lambda function which sends messages to Slack channel in regular intervals via cron trigger.
giphy-bot for Facebook chat
|Jwt Lambda Python
Minimal proof-of-concept implementation of JWT with Serverless / AWS Lambda
|Sls Access Counter
Site visitor counter
|Sls Form Mail
Send SNS email from form data
|Serverless Python Sample
A simple serverless python sample with REST API endpoints and dependencies
|Serverless Msg Gateway
A messaging aggregator for kik, skype, twilio, telegram, & messenger. Send and receive messages in a standard format.
|Serverless Aws Rekognition Finpics
Use AWS Rekognition to provide a faces search of finpics.com
|Serverless Slack Emojibot
Serverless slack bot for emoji
|Keboola Developer Portal
Keboola developer portal built with Serverless
|Serverless Cloudwatch Rds Custom Metrics
A NodeJS-based MySQL RDS Data Collection script to push Custom Metrics to Cloudwatch with Serverless
JRestless (Java / JAX-RS) examples for API Gateway Functions (plain JAX-RS, Spring, binary data requests/responses, custom authorizers and Cognito User Pool authorizers), SNS Functions (asynchronous communication between functions) and Service Functions (synchronous HTTP-like communication between functions - transparent through Feign)
We love our contributors! Please read our Contributing Document to learn how you can start working on the Framework yourself.
- Email Updates
- Serverless Forum
- Gitter Chatroom
- Serverless Meetups
- Contact Us
These consultants use the Serverless Framework and can help you build your serverless projects.
- Parallax – they also built the David Guetta Campaign
- SC5 Online
- Carrot Creative
- Useful IO - and Hail Messaging
- Hop Labs
- API talent - who also run Serverless-Auckland Meetup
- Branded Crate
- EPX Labs - runs Serverless NYC Meetup
- Red Badger
You can read the v0.5.x documentation at readme.io.