/serverless

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

Primary LanguageJavaScriptMIT LicenseMIT

👋🏾 Please consider donating to these organizations to help fund an education in technology, entrepreneurship and leadership for POC. #BLM


Serverless Application Framework AWS Lambda API Gateway

serverless Build Status npm version codecov gitter Known Vulnerabilities license

English | 简体中文

WebsiteDocsNewsletterSwagGitterForumMeetupsTwitterWe're HiringTry Pro

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 Cloud Functions, 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 overview here.

In 2020, the Serverless Framework began introducing advanced functionality for specific serverless use-cases, known as Serverless Framework Components. Check out the Components featured below, and more here.

serverless framework fullstack application serverless framework express.js serverless framework website serverless framework dynamodb

Contents

Quick Start

  1. Install via npm:
npm install -g serverless
  1. Set-up your Provider Credentials. Watch the video on setting up credentials

  2. 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 on AWS:

Invokes an AWS Lambda Function on AWS and returns logs.

serverless invoke -f hello -l
  1. Invoke the Function on your machine:

Invokes an AWS Lambda Function on your local machine and returns logs.

serverless invoke local -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 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>

Note: the serverless install command will only work on V1.0 or later.

Features

  • Supports Node.js, Python, Java, Go, C#, Ruby, Swift, Kotlin, PHP, Scala, & F#
  • 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!

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 good first issue labels to find issues we want to move forward on with your help.

Community

Consultants

We recommend the following professional services organizations who are experts in serverless development:

If you'd like to be featured here, please contact us.


Licensing

Serverless is licensed under the MIT License.

All files located in the node_modules and external directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms in the MIT License.

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.