🌜
🌞
serverless

serverless

v3.21.0

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

npm install serverless

README

Serverless Application Framework AWS Lambda API Gateway

serverless Build Status npm version codecov gitter Known Vulnerabilities license

WebsiteDocsCommunity SlackForumTwitterMeetupsWe're Hiring简体中文

The Serverless Framework – Build applications on AWS Lambda and other next-gen cloud services, that auto-scale and only charge you when they run. This lowers the total cost of running and operating your apps, enabling you to build more and manage less.

The Serverless Framework is a command-line tool that uses easy and approachable YAML syntax to deploy both your code and cloud infrastructure needed to make tons of serverless application use-cases. It's a multi-language framework that supports Node.js, Typescript, Python, Go, Java, and more. It's also completely extensible via over 1,000 plugins that can add more serverless use-cases and workflows to the Framework.

Actively maintained by Serverless Inc.

Contents

Quick Start

Installation

Install the serverless CLI via NPM:

npm install -g serverless

Note: If you don’t already have Node on your machine, install it first. If you don't want to install Node or NPM, you can install serverless as a standalone binary.

Getting started

To create your first project, run the command below and follow the prompts:

# Create a new serverless project
serverless

# Move into the newly created directory
cd your-service-name

The serverless command will guide you to:

  1. create a new project
  2. configure AWS credentials
  3. optionally set up a free Serverless Dashboard account to monitor and troubleshoot your project

Note: users based in China get a setup centered around the chinese Tencent provider. To use AWS instead, set the following environment variable: SERVERLESS_PLATFORM_VENDOR=aws.

Your new serverless project should contain a serverless.yml file. This file defines what will be deployed to AWS: functions, events, resources and more. You can learn more about this in the Core Concepts documentation.

If the templates proposed by serverless do not fit your needs, check out the project examples from Serverless Inc. and our community. You can install any example by passing a GitHub URL using the --template-url option:

serverless --template-url=https://github.com/serverless/examples/tree/v3/...

Deploying

If you haven't done so already within the serverless command, you can deploy the project at any time by running:

serverless deploy

The deployed functions, resources and URLs will be displayed in the command output.

Learn more about deploying.

Invoking function

If you deployed an API, querying its URL will trigger the associated Lambda function. You can find that URL in the serverless deploy output, or retrieve it later via serverless info.

If you deployed a function that isn't exposed via a URL, you can invoke it via:

serverless invoke -f hello

# Invoke and display logs:
serverless invoke -f hello --log

Fetching function logs

All logs generated by a function's invocation are automatically stored in AWS CloudWatch. Retrieve those logs in the CLI via:

serverless logs -f hello

# Tail logs
serverless logs -f hello --tail

Monitoring

You can monitor and debug Lambda functions and APIs via the Serverless Dashboard.

To set it up, run the following command in an existing project and follow the prompts:

serverless

Remove your service

If you want to delete your service, run serverless remove. This will delete all the AWS resources created by your project and ensure that you don't incur any unexpected charges. It will also remove the service from Serverless Dashboard.

serverless remove

What's next

Now that Serverless Framework is installed, here is what you can do next:

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!


Try Serverless Console

Monitor, observe, and trace your serverless architectures.
Real-time dev mode provides streaming logs from your AWS Lambda Functions.

Get started instantly with serverless --console
-or-
Register feature

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

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 read the v0.5.x documentation at readme.io.

Release Notes

3.21.0
By Serverless CI Bot • Published on July 14, 2022

Features

Bug Fixes


Comparison since last release

3.20.0
By Serverless CI Bot • Published on July 8, 2022

Take the 2022 Serverless Community Survey 🎉

Features

Bug Fixes

Maintenance Improvements


Comparison since last release

3.19.0
By Serverless CI Bot • Published on June 2, 2022

Features

Maintenance Improvements


Comparison since last release

3.18.2
By Serverless CI Bot • Published on May 24, 2022

Bug Fixes

Maintenance Improvements


Comparison since last release

3.18.1
By Serverless CI Bot • Published on May 20, 2022

Bug Fixes

Maintenance Improvements


Comparison since last release

3.18.0
By Serverless CI Bot • Published on May 19, 2022

Features

Bug Fixes

Maintenance Improvements


Comparison since last release

3.17.0
By Serverless CI Bot • Published on May 10, 2022

Features


Comparison since last release

3.16.0
By Serverless CI Bot • Published on April 29, 2022

Features

Bug Fixes

Maintenance Improvements


Comparison since last release

3.15.2
By Serverless CI Bot • Published on April 22, 2022

Maintenance Improvements


Comparison since last release

3.15.1
By Serverless CI Bot • Published on April 22, 2022

Maintenance Improvements


Comparison since last release

General

License
MIT
Typescript Types
Tree-shakeable
No

Popularity

GitHub Stargazers
43.5K
Community Interest
47.5K
Number of Forks
5,382

Maintenance

Commits
10/219/220350
Last Commit
Open Issues
913
Closed Issues
4,839
Open Pull Requests
48
Closed Pull Requests
749

Versions

Versions Released
10/219/220150
Latest Version Released
Jul 14, 2022
Current Tags
latest3.21.0
bea1.0.3
beta1.1.0
alpha1.17.0-alpha.1
pre-22.0.0-pre.154d965f
pre-33.0.0-pre.b463d7e2
canary3.21.0-2b98e35b
latest-11.83.3
latest-22.72.3
components1.63.0-components-v2-beta

Contributors

medikoo
medikoo
Commits: 2,272
pmuens
pmuens
Commits: 1,293
ac360
ac360
Commits: 1,262
eahefnawy
eahefnawy
Commits: 889
pgrzesik
pgrzesik
Commits: 409
dschep
dschep
Commits: 310
DavidWells
DavidWells
Commits: 267
nikgraf
nikgraf
Commits: 195
horike37
horike37
Commits: 140
minibikini
minibikini
Commits: 117
erikerikson
erikerikson
Commits: 115
HyperBrain
HyperBrain
Commits: 110
flomotlik
flomotlik
Commits: 100
RafalWilinski
RafalWilinski
Commits: 100
Nopik
Nopik
Commits: 95