👋🏾 Please consider donating to these organizations to help fund an education in technology, entrepreneurship and leadership for POC. #BLM
English | 简体中文
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.
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.
- Quick Start
- Previous Version 0.5.x
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
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 on AWS:
Invokes an AWS Lambda Function on AWS and returns logs.
serverless invoke -f hello -l
- Invoke the Function on your machine:
Invokes an AWS Lambda Function on your local machine and returns logs.
serverless invoke local -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.
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.
The following are services you can instantly install and use by running
serverless install --url <service-github-url>
- CRUD - CRUD service, Scala Port
- CRUD with FaunaDB - CRUD service using FaunaDB
- CRUD with S3 - CRUD service using S3
- CRUD with Flask and SQLAlchemy - Python CRUD API service with Flask, SQLAlchemy and Swagger
- 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
- Cloudwatch Alerts on Slack - Get AWS Cloudwatch alerts notifications on Slack
serverless install command will only work on V1.0 or later.
- 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!
We love our contributors! Please read our Contributing Document to learn how you can start working on the Framework yourself.
- Email Updates
- Serverless Forum
- Gitter Chatroom
- Serverless Meetups
- Contact Us
We recommend the following professional services organizations who are experts in serverless development:
- Serverless Guru
- Theodo - full stack teams passionate about Serverless that also run the Serverless Transformation Newsletter & Blog.
- null - maintains Bref to create serverless PHP applications
- Nordcloud - they created several plugins, sponsor Serverless Days Helsinki and regularly host Serverless Finland Meetups.
- API talent - who also run Serverless-Auckland Meetup
- EPX Labs - runs Serverless NYC Meetup
- Seraro - Who also runs Atlanta Serverless Meetup (https://www.meetup.com/Atlanta-CABI-Camp-Cloud-AI-Blockchain-IOT) and Delhi Serverless Meetup (https://www.meetup.com/Delhi-NCR-Serverless-Architecture-Meetup/)
- superluminar - runs serverlessdays Hamburg and Serverless Meetup Hamburg
- JetBridge - cloud-native and serverless application development services.
If you'd like to be featured here, please contact us.
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.
You can read the v0.5.x documentation at readme.io.