Serverless Application Framework AWS Lambda API Gateway

serverless Build Status npm version Coverage Status gitter dependencies license

WebsiteDocsNewsletterGitterForumMeetupsTwitterWe’re Hiring

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.

Watch the video guide here.

Serverless Framework Feedback Survey


Quick Start

Watch the video guide here or follow the steps below to create and deploy your first serverless microservice in minutes.

  1. Install via npm:

    npm install -g serverless
  2. Set-up your Provider Credentials. Watch the video on setting up credentials

  3. 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
  1. 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
  1. 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
  1. Invoke the Function:

Invokes an AWS Lambda Function on AWS and returns logs.

  serverless invoke -f hello -l
  1. 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
  1. 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

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.


  • 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!

Plugins (V1.0)

Use these plugins to extend or overwrite the Framework’s functionality.

Add a plugin to this list

Plugin Author
Raml Serverless
Serverless plugin to work with RAML API spec documents
Serverless Alexa Plugin
Serverless plugin to support Alexa Lambda events
Serverless Api Stage
Serverless API Stage plugin, enables stage variables and logging for AWS API Gateway.
Serverless Apig S3
Serve static front-end content from S3 via the API Gatewy and deploy client bundle to S3.
Serverless Aws Alias
This plugin enables use of AWS aliases on Lambda functions.
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 Cljs Plugin
Enables Clojurescript as an implementation language for Lambda handlers
Serverless Coffeescript
A Serverless plugin to compile your CoffeeScript into JavaScript at deployment
Serverless Command Line Event Args
This module is Serverless Framework plugin. Event JSON passes to your Lambda function in commandline.
Serverless Crypt
Securing the secrets on Serverless Framework by AWS KMS encryption.
Serverless Dir Config Plugin
EXPERIMENTAL - Serverless plugin to load function and resource definitions from a directory.
Serverless Dotenv
Fetch environment variables and write it to a .env file
Serverless Dotnet
A serverless plugin to run ‘dotnet’ commands as part of the deploy process
Serverless Dynalite
Run dynalite locally (no JVM, all JS) to simulate DynamoDB. Watch serverless.yml for table config updates.
Serverless Dynamodb Local
Serverless Dynamodb Local Plugin - Allows to run dynamodb locally for serverless
Serverless Dynamodb Ttl
Configure DynamoDB TTL in serverless.yml (until CloudFormation supports this).
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 Export Env
Export environment variables into a .env file with automatic AWS CloudFormation reference resolution.
Serverless Hooks Plugin
Run arbitrary commands on any lifecycle event in serverless
Serverless Jest Plugin
A Serverless Plugin for the Serverless Framework which adds support for test-driven development using Jest
Serverless Mocha Plugin
A Serverless Plugin for the Serverless Framework which adds support for test-driven development using Mocha
Serverless Offline
Emulate AWS λ and API Gateway locally when developing your Serverless project
Serverless Offline Scheduler
Runs scheduled functions offline while integrating with serverless-offline
Serverless Package Python Functions
Packaging Python Lambda functions with only the dependencies/requirements they need.
Serverless Parameters
Add parameters to the generated cloudformation templates
Serverless Plugin Aws Alerts
A Serverless plugin to easily add CloudWatch alarms to functions
Serverless Plugin Bind Deployment Id
A Serverless plugin to bind the randomly generated deployment resource to your custom resources
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 Encode Env Var Objects
Serverless plugin to encode any environment variable objects.
Serverless Plugin External Sns Events
Add ability for functions to use existing or external SNS topics as an event source
Serverless Plugin Git Variables
A Serverless plugin to expose git variables (branch name, HEAD description, full commit hash) to your serverless services
Serverless Plugin Graphiql
A Serverless plugin to run a local http server for graphiql and your graphql handler
Serverless Plugin Include Dependencies
This is a Serverless plugin that should make your deployed functions smaller.
Serverless Plugin Iopipe
See inside your Lambda functions with high fidelity metrics and monitoring.
Serverless Plugin Lambda Dead Letter
A Serverless plugin that can configure a lambda with a dead letter queue or topic
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 Scripts
Add scripting capabilities to the Serverless Framework
Serverless Plugin Select
Select which functions are to be deployed based on region and stage.
Serverless Plugin Simulate
Simulate AWS Lambda and API Gateway locally using Docker
Serverless Plugin Stack Outputs
Displays stack outputs for your serverless stacks when sls info is ran
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 Typescript
Serverless plugin for zero-config Typescript support.
Serverless Plugin Warmup
Keep your lambdas warm during Winter.
Serverless Plugin Webpack
A serverless plugin to automatically bundle your functions individually with webpack
Serverless Plugin Write Env Vars
Write environment variables out to a file that is compatible with dotenv
Serverless Prune Plugin
Deletes old versions of functions from AWS, preserving recent and aliased versions
Serverless Pseudo Parameters
Use ${AWS::AccountId} and other cloudformation pseudo parameters in your serverless.yml values
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 Sam
Exports an AWS SAM template for a service created with the Serverless Framework.
Serverless Scriptable Plugin
Customize Serverless behavior without writing a plugin.
Serverless Sqs Alarms Plugin
Wrapper to setup CloudWatch Alarms on SQS queue length
Serverless Sqs Fifo
A serverless plugin to handle creation of sqs fifo queue’s in aws (stop-gap)
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 Vpc Discovery
Serverless plugin for discovering VPC / Subnet / Security Group configuration by name.
Serverless Webpack
Serverless plugin to bundle your lambdas with Webpack
Serverless Wsgi
Serverless plugin to deploy WSGI applications (Flask/Django/Pyramid etc.) and bundle Python packages

Example Projects (V1.0)

Project Name Author
Serverless Graphql Api
Serverless GraphQL API using Lambda and DynamoDB
Serverless Screenshot
Serverless Screenshot Service using PhantomJS
Serverless Postgraphql
GraphQL endpoint for PostgreSQL using postgraphql
Serverless Messenger Boilerplate
Serverless messenger bot boilerplate
Serverless Npm Registry
Serverless private npm registry, proxy and cache.
Serverless Pokego
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:
Cordis Serverless
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
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
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 Examples
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)
Sc5 Serverless Boilerplate
A boilerplate that contains setup for test-driven development
Serverless Blog To Podcast
Service that reads RSS feed and converts the entries to a podcast feed and audio files using Amazon Polly
Offset Trump
Single page app using Serverless (C# runtime) and S3 site hosting. Pledge to do a good thing for the next four years to offset the potential negative effects of the US Presidency
Serverless Url Shortener
A simple url-shortener, using Serverless framework
Serverless Html Pdf
Service that convert HTML to PDF using PhantomJS’s rasterize example.
Serverless Examples Cached Rds Ws
A serverless framework example project that uses API Gateway, ElastiCache, and RDS PostgreSQL.
A serverless project that follows a stock trading algorithm and uses scheduled functions to save data to DynamoDB and send emails through Mailgun.
Adoptable Pet Bot
Tweets adoptable pets using Serverless (Node.js) and AWS Lambda
Owntracks Serverless
A serverless implementation of the OwnTracks HTTP backend
Serverless Modern Koa
Serverless modern koa starter kit
Serverless Reactjs Universal Rendering Boilerplate
ReactJS web app Starter kit does universal (isomorphic) rendering with Serverless
Open Bot
An unoptionated Github bot driven by a configuration file in the repository
Aws Ses Serverless Example
AWS SES example in NodeJS using lambda
Aws Api Gateway Serverless Project Written In Go
A serverless project that contains an API Gateway endpoint powered by a Lambda function written in golang and built using eawsy/aws-lambda-go-shim.
Video Preview And Analysis Service
An event-driven service that generates labels using Amazon Rekognition and creates preview GIF animation from a video file.
Serverless Es6/7 Crud Api
Serverless Stack examples of backend CRUD APIs (DynamoDB + Lambda + API Gateway + Cognito User Pool authorizer) for React.js single-page app


We love our contributors! Please read our Contributing Document to learn how you can start working on the Framework yourself.

Check out our exp/beginner, exp/intermediate or exp/expert labels to find issues we want to move forward on with your help.



These consultants use the Serverless Framework and can help you build your serverless projects. * Trek10 * Parallax – they also built the David Guetta Campaign * SC5 Online * Carrot Creative * microapps * Apiwise * Useful IO - and Hail Messaging * WhaleTech * Hop Labs * Webscale * API talent - who also run Serverless-Auckland Meetup * Branded Crate * cloudonaut * PromptWorks * Craftship * EPX Labs - runs Serverless NYC Meetup * Red Badger

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

Related Repositories



Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! – ...



AWS Serverless Application Model (AWS SAM) prescribes rules for expressing Serverless applications on AWS. ...



:cloud: A curated list of awesome services, solutions and resources for serverless / nobackend applications. ...



A Serverless Blog leveraging GraphQL to offer a REST API with only 1 endpoint ...



Curated list of resources related to the Serverless project ...

Top Contributors

ac360 eahefnawy pmuens doapp-ryanp flomotlik minibikini Nopik DavidWells ryansb johncmckim erikerikson joostfarla HyperBrain rowanu svdgraaf dekz gwsii nicka patoncrispy dougmoscrop jordanmack boushley stevecaldwell77 mrlamroger shortjared andymac4182 icereval wedgybo eL0ck kengos


package version
apollo-client ^1.4.2
archiver ^1.1.0
async ^1.5.2
aws-sdk ^2.7.13
bluebird ^3.4.0
chalk ^1.1.1
ci-info ^1.0.0
download ^5.0.2
filesize ^3.3.0
fs-extra ^0.26.7
get-stdin ^5.0.1
globby ^6.1.0
graphql ^0.10.1
graphql-tag ^2.4.0
https-proxy-agent ^1.0.0
js-yaml ^3.6.1
json-refs ^2.1.5
jwt-decode ^2.2.0
lodash ^4.13.1
minimist ^1.2.0
moment ^2.13.0
node-fetch ^1.6.0
opn ^5.0.0
raven ^1.2.1
rc ^1.1.6
replaceall ^0.1.6
semver ^5.0.3
semver-regex ^1.0.0
shelljs ^0.6.0
tabtab ^2.2.2
uuid ^2.0.2
write-file-atomic ^2.1.0
dev chai ^3.5.0
chai-as-promised ^6.0.0
coveralls ^2.12.0
eslint ^3.3.1
eslint-config-airbnb ^10.0.1
eslint-config-airbnb-base ^5.0.2
eslint-plugin-import ^1.13.0
eslint-plugin-jsx-a11y ^2.1.0
eslint-plugin-react ^6.1.1
istanbul ^0.4.4
jest-cli ^18.0.0
jszip ^3.1.2
markdown-magic ^0.1.15
mocha ^3.0.2
mocha-lcov-reporter ^1.2.0
mock-require ^1.3.0
proxyquire ^1.7.10
sinon ^1.17.5
sinon-bluebird ^3.1.0
sinon-chai ^2.9.0


-   v0.5.6 zip tar
-   v0.5.5 zip tar
-   v0.5.4 zip tar
-   v0.5.3 zip tar
-   v0.5.2 zip tar
-   v0.5.1 zip tar
-   v0.5.0 zip tar
-   v0.4.3 zip tar
-   v0.4.2 zip tar
-   v0.4.1 zip tar
-   v0.4.0 zip tar
-   v0.3.1 zip tar
-   v0.3.0 zip tar
-   v0.2.1 zip tar
-   v0.2.0 zip tar
-   v0.1.5 zip tar
-   v0.1.4 zip tar
-   v0.1.3 zip tar
-   v0.1.2 zip tar
-   v0.1.1 zip tar
-   v0.1.0 zip tar
-   v0.0.15 zip tar
-   v0.0.14 zip tar
-   v0.0.13 zip tar
-   v0.0.12 zip tar
-   v0.0.11 zip tar
-   v0.0.10 zip tar
-   v0.0.9 zip tar
-   v0.0.8 zip tar
-   v0.0.7 zip tar