serverless/README.md

20 KiB
Executable File
Raw Blame History

Serverless Application Framework AWS Lambda API Gateway

Serverless Framework v.1.0

serverless npm version Coverage Status gitter dependencies license

Serverless computing is quickly becoming a defacto way to build highly scalable fault tolerant systems.

The Serverless Framework is the application framework for building web, mobile and IoT applications on serverless, event-driven compute services.

We currently support AWS Lambda and are adding support for Google CloudFunctions, Azure Functions and more.

The Serverless command line interface provides scaffolding, automation and best practices for developing and deploying your serverless architecture.

Designed from the ground up to be extendable via plugins, It's easy to extend functionality to fit your unique needs.

This project is maintained by a full-time, venture-backed team.

For updates, join our mailing list.

For help, join our gitter chatroom.

Also, we're hiring :)

Quick start

Follow these simple steps to install serverless.

Create and deploy your first service in under 5 minutes.

Step Command Description
1. npm install -g serverless@beta Install Serverless CLI
2. mkdir my-first-service && cd my-first-service Create the project directory
3. serverless create --template aws-nodejs Create an AWS node lamdba function
4. serverless deploy Deploy to live AWS account
5. serverless invoke --function hello run the live API endpoint

Run serverless remove to clean up this function from your account.

Features

  • Manage the lifecycle of your serverless architecture (build, deploy, update, delete)
  • Group functions into services for easy management of code, resources & processes across large projects and teams
  • Support for AWS Lambda, Azure Functions, Google CloudFunctions & more
  • Safely, easily deploy functions, events and their required resources
  • 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 fantastic and welcoming community!

Contributing

We love our contributors! If you'd like to contribute to the project, feel free to submit a PR. But please keep in mind the following guidelines:

  • Propose your changes before you start working on a PR. You can reach us by submitting a Github issue, or discuss it in the Gitter Chatroom. This is just to make sure that no one else is working on the same change, and to figure out the best way to solve the issue.
  • If you're out of ideas, but still want to contribute, check out our Road Map. There's a lot we want to get done, and we'd love your help!
  • Contributions are not just PRs! We'd be grateful for having you in our community, and if you could provide some support for new comers, that be great! You can also do that by answering Serverless related questions on Stackoverflow.
  • You can also contribute by writing. Feel free to let us know if you want to publish a useful original guide in our docs (attributed to you, thank you!) that you feel will help the community.

Documentation

Take a look at our documentation to get started with Serverless and understand how it works behind the scenes.

Contribute

Please read our Contributing Document to learn more how you can start working on the Framework yourself.

Community

Some of the awesome people who contribute to Serverless. Join the community


Austen


Ryan Pendergast


Eslam λ Hefnawy


Egor Kislitsyn


Kamil Burzynski


Ryan Brown


Erik Erikson


Joost Farla


David Wells


Frank Schmid


Jacob Evans


Philipp Muens


Jared Short


Jordan Mack


stevecaldwell77


Aaron Boushley


Michael Haselton


visualasparagus


Alexandre Saiz Verdaguer


Florian Motlik


Kenneth Falck


akalra


Martin Lindenberg


Tom Milewski


Antti Ahti


Dan


Mikael Puittinen


Jeremy Wallace


Jonathan Nuñez


Nick den Engelsman


Kazato Sugimoto


Matthew Chase Whittemore


Joe Turgeon


David Hérault


Austin Rivas


Tomasz Szajna


Daniel Johnston


Michael Wittig


pwagener


ianserlin


nishantjain91


michaelorionmcmanus


rma4ok


laurisvan


MrRio


rajington


weitzman


kpotehin


brentax


ryutamaki


picsoung


colinramsay


kevinold


forevermatt


maclennann


InvertedAcceleration


Ninir


mparramont


hmeltaus


thomasv314


fuyu


alexcasalboni


markogresak


derekvanvliet


friism


stevecrozz


worldsoup

Consultants

These consultants use the Serverless Framework and can help you build your serverless projects.


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.

v0.5.x Projects

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>

v0.5.x Plugins

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