@onespeed/serverless
v1.23.0
Published
Serverless Framework - Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more
Downloads
244
Readme
Website • Docs • Newsletter • Gitter • Forum • Meetups • Twitter • We'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
Contents
- Quick Start
- Examples
- Services
- Features
- Plugins
- Example Projects
- Contributing
- Community
- Consultants
- Previous Version 0.5.x
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.
# 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.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:
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.
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>
- serverless-examples
- CRUD - CRUD service, Scala Port
- CRUD with FaunaDB - CRUD service using FaunaDB
- 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
- Ruby - Call a Ruby 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
Note: the serverless install
command will only work on V1.0 or later.
Features
- Supports Node.js, Python, Java, Scala, C#, F#, Groovy, Kotlin, PHP & Swift.
- 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.
| Plugin | Author |
|:-------|:------:|
| Raml Serverless Serverless plugin to work with RAML API spec documents | andrewcurioso |
| Serverless Alexa Plugin Serverless plugin to support Alexa Lambda events | rajington |
| Serverless Api Stage Serverless API Stage plugin, enables stage variables and logging for AWS API Gateway. | leftclickben |
| Serverless Apig S3 Serve static front-end content from S3 via the API Gatewy and deploy client bundle to S3. | sdd |
| Serverless Apigateway Plugin Configure the AWS api gateway: Binary support, Headers and Body template mappings | GFG |
| Serverless Apigw Binary Plugin to enable binary support in AWS API Gateway. | maciejtreder |
| Serverless Apigwy Binary Serverless plugin for configuring API Gateway to return binary responses | ryanmurakami |
| Serverless Aws Alias This plugin enables use of AWS aliases on Lambda functions. | HyperBrain |
| Serverless Aws Documentation Serverless plugin to add documentation and models to the serverless generated API Gateway | 9cookies |
| Serverless Build Plugin A Node.js focused build plugin for serverless. | nfour |
| Serverless Cf Vars Enables use of AWS pseudo functions and Fn::Sub string substitution | kabo |
| Serverless Cljs Plugin Enables Clojurescript as an implementation language for Lambda handlers | nervous-systems |
| Serverless Coffeescript A Serverless plugin to compile your CoffeeScript into JavaScript at deployment | duanefields |
| Serverless Command Line Event Args This module is Serverless Framework plugin. Event JSON passes to your Lambda function in commandline. | horike37 |
| Serverless Crypt Securing the secrets on Serverless Framework by AWS KMS encryption. | marcy-terui |
| Serverless Custom Packaging Plugin Plugin to package your sourcecode using a custom target path inside the zip. | hypoport |
| Serverless Dir Config Plugin EXPERIMENTAL - Serverless plugin to load function and resource definitions from a directory. | economysizegeek |
| Serverless Domain Manager Serverless plugin for managing custom domains with API Gateways. | amplify-education |
| Serverless Dotenv Fetch environment variables and write it to a .env file | Jimdo |
| Serverless Dotnet A serverless plugin to run 'dotnet' commands as part of the deploy process | fruffin |
| Serverless Dynalite Run dynalite locally (no JVM, all JS) to simulate DynamoDB. Watch serverless.yml for table config updates. | sdd |
| Serverless Dynamodb Autoscaling Configure Amazon DynamoDB's native Auto Scaling for your table capacities. | sbstjn |
| Serverless Dynamodb Local Serverless Dynamodb Local Plugin - Allows to run dynamodb locally for serverless | 99xt |
| Serverless Dynamodb Ttl Configure DynamoDB TTL in serverless.yml (until CloudFormation supports this). | Jimdo |
| Serverless Enable Api Logs Enables Coudwatch logging for API Gateway events | paulSambolin |
| Serverless Env Generator Manage environment variables with YAML and load them with dotenv. Supports variable encryption with KMS, multiple stages and custom profiles. | DieProduktMacher |
| Serverless Event Constant Inputs Allows you to add constant inputs to events in Serverless 1.0. For more info see constant values in Cloudwatch | dittto |
| Serverless Export Env Export environment variables into a .env file with automatic AWS CloudFormation reference resolution. | arabold |
| Serverless Gulp A thin task wrapper around @goserverless that allows you to automate build, test and deploy tasks using gulp | rhythminme |
| Serverless Hooks Plugin Run arbitrary commands on any lifecycle event in serverless | uswitch |
| Serverless Jest Plugin A Serverless Plugin for the Serverless Framework which adds support for test-driven development using Jest | SC5 |
| Serverless Kms Secrets Allows to easily encrypt and decrypt secrets using KMS from the serverless CLI | SC5 |
| Serverless Kubeless Serverless plugin for deploying functions to Kubeless. | serverless |
| Serverless Local Dev Server Speeds up development of Alexa Skills, Chatbots and APIs by exposing your functions as local HTTP endpoints and mapping received events. | DieProduktMacher |
| Serverless Log Forwarding Serverless plugin for forwarding CloudWatch logs to another Lambda function. | amplify-education |
| Serverless Mocha Plugin A Serverless Plugin for the Serverless Framework which adds support for test-driven development using Mocha | SC5 |
| Serverless Nested Stack A plugin to Workaround for Cloudformation 200 resource limit | jagdish-176 |
| Serverless Offline Emulate AWS λ and API Gateway locally when developing your Serverless project | dherault |
| Serverless Offline Scheduler Runs scheduled functions offline while integrating with serverless-offline | ajmath |
| Serverless Package Python Functions Packaging Python Lambda functions with only the dependencies/requirements they need. | ubaniabalogun |
| Serverless Parameters Add parameters to the generated cloudformation templates | svdgraaf |
| Serverless Plugin Aws Alerts A Serverless plugin to easily add CloudWatch alarms to functions | ACloudGuru |
| Serverless Plugin Aws Resolvers Resolves variables from ESS, RDS, or Kinesis for serverless services | DopplerLabs |
| Serverless Plugin Bespoken Creates a local server and a proxy so you don't have to deploy anytime you want to test your code | bespoken |
| Serverless Plugin Bind Deployment Id A Serverless plugin to bind the randomly generated deployment resource to your custom resources | jacob-meacham |
| Serverless Plugin Browserifier Reduce the size and speed up your Node.js based lambda's using browserify. | digitalmaas |
| Serverless Plugin Browserify Speed up your node based lambda's | doapp-ryanp |
| 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. | SC5 |
| Serverless Plugin Cloudwatch Sumologic Plugin which auto-subscribes a log delivery lambda function to lambda log groups created by serverless | ACloudGuru |
| Serverless Plugin Common Excludes Adds commonly excluded files to package.excludes | dougmoscrop |
| Serverless Plugin Custom Domain Reliably sets a BasePathMapping to an API Gateway Custom Domain | dougmoscrop |
| Serverless Plugin Deploy Environment Plugin to manage deployment environment across stages | DopplerLabs |
| Serverless Plugin Diff Compares your local AWS CloudFormation templates against deployed ones. | nicka |
| Serverless Plugin Elastic Beanstalk A serverless plugin to deploy applications to AWS ElasticBeanstalk. | rawphp |
| Serverless Plugin Encode Env Var Objects Serverless plugin to encode any environment variable objects. | yonomi |
| Serverless Plugin External Sns Events Add ability for functions to use existing or external SNS topics as an event source | silvermine |
| Serverless Plugin Git Variables A Serverless plugin to expose git variables (branch name, HEAD description, full commit hash) to your serverless services | jacob-meacham |
| Serverless Plugin Graphiql A Serverless plugin to run a local http server for graphiql and your graphql handler | bencooling |
| Serverless Plugin Include Dependencies This is a Serverless plugin that should make your deployed functions smaller. | dougmoscrop |
| Serverless Plugin Iopipe See inside your Lambda functions with high fidelity metrics and monitoring. | iopipe |
| Serverless Plugin Lambda Dead Letter A Serverless plugin that can configure a lambda with a dead letter queue or topic | gmetzker |
| Serverless Plugin Log Subscription Adds a CloudWatch LogSubscription for functions | dougmoscrop |
| Serverless Plugin Multiple Responses Enable multiple content-types for Response template | silvermine |
| Serverless Plugin Offline Kinesis Events Plugin that works with serverless-offline to allow offline testing of serverless functions that are triggered by Kinesis events. | DopplerLabs |
| Serverless Plugin Optimize Bundle with Browserify, transpile with Babel to ES5 and minify with Uglify your Serverless functions. | FidelLimited |
| Serverless Plugin Package Dotenv File A Serverless plugin to copy a .env file into the serverless package | ACloudGuru |
| Serverless Plugin Scripts Add scripting capabilities to the Serverless Framework | mvila |
| Serverless Plugin Select Select which functions are to be deployed based on region and stage. | FidelLimited |
| Serverless Plugin Simulate Simulate AWS Lambda and API Gateway locally using Docker | gertjvr |
| Serverless Plugin Split Stacks Migrate certain resources to nested stacks | dougmoscrop |
| Serverless Plugin Stack Config A serverless plugin to manage configurations for a stack across micro-services. | rawphp |
| Serverless Plugin Stack Outputs Displays stack outputs for your serverless stacks when sls info
is ran | svdgraaf |
| Serverless Plugin Stage Variables Add stage variables for Serverless 1.x to ApiGateway, so you can use variables in your Lambda's | svdgraaf |
| Serverless Plugin Subscription Filter A serverless plugin to register AWS CloudWatchLogs subscription filter | tsub |
| Serverless Plugin Typescript Serverless plugin for zero-config Typescript support. | graphcool |
| Serverless Plugin Warmup Keep your lambdas warm during Winter. | FidelLimited |
| Serverless Plugin Webpack A serverless plugin to automatically bundle your functions individually with webpack | goldwasserexchange |
| Serverless Plugin Write Env Vars Write environment variables out to a file that is compatible with dotenv | silvermine |
| Serverless Prune Plugin Deletes old versions of functions from AWS, preserving recent and aliased versions | claygregory |
| Serverless Pseudo Parameters Use ${AWS::AccountId} and other cloudformation pseudo parameters in your serverless.yml values | svdgraaf |
| Serverless Python Individually A serverless framework plugin to install multiple lambda functions written in python | cfchou |
| Serverless Python Requirements Serverless plugin to bundle Python packages | UnitedIncome |
| Serverless Resources Env After Deploy, this plugin fetches cloudformation resource identifiers and sets them on AWS lambdas, and creates local .-env file | rurri |
| Serverless Run Function Plugin Run serverless function locally | lithin |
| Serverless S3 Remover A serverless plugin to make s3 buckets empty before deleting cloudformation stack when sls remove
| sinofseven |
| Serverless S3 Sync A plugin to sync local directories and S3 prefixes for Serverless Framework, | k1LoW |
| Serverless S3bucket Sync Sync a local folder with a S3 bucket after sls deploy | sbstjn |
| Serverless Sam Exports an AWS SAM template for a service created with the Serverless Framework. | SAPessi |
| Serverless Scriptable Plugin Customize Serverless behavior without writing a plugin. | weixu365 |
| Serverless Sentry Automatic monitoring of memory usage, execution timeouts and forwarding of Lambda errors to Sentry (https://sentry.io). | arabold |
| Serverless Shell Drop to a runtime shell with all the environment variables set that you'd have in lambda. | UnitedIncome |
| Serverless Sqs Alarms Plugin Wrapper to setup CloudWatch Alarms on SQS queue length | sbstjn |
| Serverless Sqs Fifo A serverless plugin to handle creation of sqs fifo queue's in aws (stop-gap) | vortarian |
| Serverless Stack Output Store output from your AWS CloudFormation Stack in JSON/YAML/TOML files, or to pass it to a JavaScript function for further processing. | sbstjn |
| Serverless Step Functions AWS Step Functions with Serverless Framework. | horike37 |
| Serverless Subscription Filter Serverless plugin to register subscription filter for Lambda logs. Register and pipe the logs of one lambda to another to process. | blackevil245 |
| Serverless Vpc Discovery Serverless plugin for discovering VPC / Subnet / Security Group configuration by name. | amplify-education |
| Serverless Webpack Serverless plugin to bundle your lambdas with Webpack | serverless-heaven |
| Serverless Wsgi Serverless plugin to deploy WSGI applications (Flask/Django/Pyramid etc.) and bundle Python packages | logandk |
Example Projects (V1.0)
| Project Name | Author | |:-------------|:------:| | Jwtauthorizr Custom JWT Authorizer Lambda function for Amazon API Gateway with Bearer JWT | serverlessbuch | | Serverless Graphql Api Serverless GraphQL API using Lambda and DynamoDB | boazdejong | | Serverless Screenshot Serverless Screenshot Service using PhantomJS | svdgraaf | | Serverless Postgraphql GraphQL endpoint for PostgreSQL using postgraphql | rentrop | | Serverless Messenger Boilerplate Serverless messenger bot boilerplate | SC5 | | Serverless Npm Registry Serverless private npm registry, proxy and cache. | craftship | | Serverless Pokego Serverless-powered API to fetch nearby Pokemon Go data | jch254 | | Serverless Weekly2pocket App Serverless-powered API for sending posts to pocket app | s0enke | | Serverless Facebook Quotebot 100% Serverless Facebook messenger chatbot which will respond with inspiring quotes | pmuens | | Serverless Slack Trevorbot Slack bot for info on where in the world is Trevor Gerhardt? | conveyal | | Serverless Garden Aid IoT Garden Aid Backend | garden-aid | | Serverless React Boilerplate A serverless react boilerplate for offline development | 99xt | | Serverless Delivery Framework This is a boilerplate for version release pipeline with serverless framework | 99xt | | Serverless Mailgun Slack A Serverless function for posting to a Slack Webhook in response to a Mailgun route | Marcus-L | | 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. | SCPR | | Plaid Cashburndown Service Service for calculating cash burndown with plaid. Frontend code can be found here: https://github.com/cplee/cashburndown-site | cplee | | Cordis Serverless A serverless API for EU Cordis data | marzeelabs | | Serverless Newsletter Signup Saves user details into DynamoDB table. Required values are email, first_name and last_name. | ivanderbu2 | | Serverless Slack Cron Lambda function which sends messages to Slack channel in regular intervals via cron trigger. | ivanderbu2 | | Giphy Bot giphy-bot for Facebook chat | tywong | | Jwt Lambda Python Minimal proof-of-concept implementation of JWT with Serverless / AWS Lambda | mikaelmork | | Sls Access Counter Site visitor counter | takahashim | | Sls Form Mail Send SNS email from form data | takahashim | | Serverless Python Sample A simple serverless python sample with REST API endpoints and dependencies | bennybauer | | Serverless Msg Gateway A messaging aggregator for kik, skype, twilio, telegram, & messenger. Send and receive messages in a standard format. | yonahforst | | Serverless Aws Rekognition Finpics Use AWS Rekognition to provide a faces search of finpics.com | rgfindl | | Serverless Slack Emojibot Serverless slack bot for emoji | markhobson | | Keboola Developer Portal Keboola developer portal built with Serverless | keboola | | Serverless Cloudwatch Rds Custom Metrics A NodeJS-based MySQL RDS Data Collection script to push Custom Metrics to Cloudwatch with Serverless | AndrewFarley | | 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) | bbilger | | Sc5 Serverless Boilerplate A boilerplate that contains setup for test-driven development | SC5 | | Serverless Blog To Podcast Service that reads RSS feed and converts the entries to a podcast feed and audio files using Amazon Polly | SC5 | | 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 | FLGMwt | | Serverless Url Shortener A simple url-shortener, using Serverless framework | aletheia | | Serverless Html Pdf Service that convert HTML to PDF using PhantomJS's rasterize example. | calvintychan | | Serverless Examples Cached Rds Ws A serverless framework example project that uses API Gateway, ElastiCache, and RDS PostgreSQL. | mugglmenzel | | Bittman A serverless project that follows a stock trading algorithm and uses scheduled functions to save data to DynamoDB and send emails through Mailgun. | rhlsthrm | | Adoptable Pet Bot Tweets adoptable pets using Serverless (Node.js) and AWS Lambda | lynnaloo | | Owntracks Serverless A serverless implementation of the OwnTracks HTTP backend | dschep | | Serverless Modern Koa Serverless modern koa starter kit | barczaG | | Serverless Reactjs Universal Rendering Boilerplate ReactJS web app Starter kit does universal (isomorphic) rendering with Serverless | TylorShin | | Open Bot An unoptionated Github bot driven by a configuration file in the repository | open-bot | | Aws Ses Serverless Example AWS SES example in NodeJS using lambda | lakshmantgld | | 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. | yunspace | | Video Preview And Analysis Service An event-driven service that generates labels using Amazon Rekognition and creates preview GIF animation from a video file. | laardee | | 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 | AnomalyInnovations | | Sqs Worker With Aws Lambda And Cloudwatch Alarms Process messages stored in SQS with an auto-scaled AWS Lambda worker function. | sbstjn | | Aws Lambda Power Tuning (Powered By Step Functions) Build a Step Functions state machine to optimize your AWS Lambda Function memory/power configuration. | alexcasalboni | | Amazon Kinesis Streams Fan Out Via Kinesis Analytics Use Amazon Kinesis Analytics to fan-out your Kinesis Streams and avoid read throttling. | alexcasalboni | | Grants Api Serverless ES6 API to consume data from an external API, ingest into Elasticsearch and return a queryable endpoint on top of Elasticsearch | comicrelief | | Honeylambda a simple, serverless application designed to create and monitor URL {honey}tokens, on top of AWS Lambda and Amazon API Gateway | 0x4D31 | | Stack Overflow Monitor Monitor Stack Overflow questions and post them in a Slack channel | picsoung | | React & Stripe Serverless Ecommerce Serverless E-Commerce App with AWS Lambda, Stripe and React | patrick-michelberger | | Serverless + Medium Text To Speech Serverless-based, text-to-speech service for Medium articles | RafalWilinski |
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 easy-pick 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
- EPX Labs - runs Serverless NYC Meetup
- Red Badger
- Langa - They built Trails.js
- Emerging Technology Advisors
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.