Website • Docs • Newsletter • Gitter • Forum • Meetups • Twitter
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. Get started quickly by following the Quickstart commands or reading our Guide to Serverless
Contents
- Quick Start
- Services
- Features
- Plugins
- Example Projects
- Contributing
- Community
- Consultants
- Previous Version 0.5.x
Quick Start
Below is a quick list of commands to set up a new project. For a more in-depth look at Serverless check out the Guide in our docs.
Watch the video guide here or follow the steps below to create and deploy your first serverless microservice in minutes.
npm install -g serverless
- Set up your Provider credentials
serverless create --template aws-nodejs --path my-service
cd my-service
serverless deploy
serverless invoke --function hello
Run serverless remove
to clean up this function from your account.
Check out our in-depth Guide to Serverless for more information.
Services (V1.0)
The following are services you can instantly install and use by running serverless install --url <service-github-url>
- CRUD - CRUD service
- 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
Note: the serverless install
command will only work on V1.0 or later.
Features
- 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 overwrite or extend the Framework's functionality...
- serverless-webpack - Bundle your lambdas with Webpack
- serverless-alexa-plugin - Support Alexa Lambda events
- serverless-run-function - Run functions locally
- serverless-plugin-write-env-vars
- serverless-plugin-multiple-responses
- serverless-build
- serverless-scriptable
- serverless-plugin-stage-variables
- serverless-dynamodb-local
Example Projects (V1.0)
- serverless-examples
- serverless-npm-registry
- serverless-pokego
- serverless-pocket-app
- serverless-quotebot
- serverless-slackbot
- serverless-garden-aid
- serverless-react-boilerplate
- serverless-delivery-framework
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 help-wanted-easy labels to find issues we want to move forward on with your help.
Community
- Email Updates
- Serverless Forum
- Gitter Chatroom
- Serverless Meetups
- Stackoverflow
- Contact Us
Consultants
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
Previous Serverless Version 0.5.x
Below are projects and plugins relating to version 0.5 and below. 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.
Projects (v0.5.x)
Serverless Projects are shareable and installable. You can publish them to npm and install them via the Serverless Framework CLI by using $ serverless project install <project-name>
- serverless-graphql - Official Serverless boilerplate to kick start your project
- serverless-starter - A simple boilerplate for new projects (JavaScript) with a few architectural options
- serverless-starter-python - A simple boilerplate for new projects (Python) with a few architectural options
- serverless-graphql-blog - A blog boilerplate that leverages GraphQL in front of DynamoDB to offer a minimal REST API featuring only 1 endpoint
- serverless-authentication-boilerplate - A generic authentication boilerplate for Serverless framework
- sc5-serverless-boilerplate - A boilerplate for test driven development of REST endpoints
- [MoonMail] (https://github.com/microapps/MoonMail) - Build your own email marketing infrastructure using Lambda + SES
Plugins (v0.5.x)
Serverless is composed of Plugins. A group of default Plugins ship with the Framework, and here are some others you can add to improve/help your workflow:
- Meta Sync - Securely sync your the variables in your project's
_meta/variables
across your team. - Offline - Emulate AWS Lambda and Api Gateway locally to speed up your development cycles.
- Hook Scripts - Easily create shell script hooks that are run whenever Serverless actions are executed.
- CORS - Adds support for CORS (Cross-origin resource sharing).
- Serve - Simulate API Gateway locally, so all function calls can be run via localhost.
- Webpack - Use Webpack to optimize your Serverless Node.js Functions.
- Serverless Client - Deploy and config a web client for your Serverless project to S3.
- Alerting - This Plugin adds Cloudwatch Alarms with SNS notifications for your Lambda functions.
- Optimizer - Optimizes your code for performance in Lambda. Supports coffeeify, babelify and other transforms
- CloudFormation Validator - Adds support for validating your CloudFormation template.
- Prune - Delete old versions of AWS lambdas from your account so that you don't exceed the code storage limit.
- Base-Path - Sets a base path for all API Gateway endpoints in a Component.
- Test - A Simple Integration Test Framework for Serverless.
- SNS Subscribe - This plugin easily subscribes your lambda functions to SNS notifications.
- JSHint - Detect errors and potential problems in your Lambda functions.
- ESLint - Detect errors and potential problems in your Lambda functions using eslint.
- Mocha - Enable test driven development by creating test cases when creating new functions
- Function-Package - Package your lambdas without deploying to AWS.
- Sentry - Automatically send errors and exceptions to Sentry.
- Auto-Prune - Delete old AWS Lambda versions.
- Serverless Secrets - Easily encrypt and decrypt secrets in your Serverless projects
- Serverless DynamoDB Local - Simiulate DynamoDB instance locally.
- Serverless Dependency Install - Manage node, serverless dependencies easily within the project.