English | 简体中文
Website • Docs • Newsletter • Swag • Gitter • Forum • Meetups • Twitter • We're Hiring • Try 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.
Contents
- Quick Start
- Examples
- Services
- Features
- Plugins
- Contributing
- Community
- Consultants
- Licensing
- 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 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.
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
- 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
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
- 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.
- Andrew Griffiths - Independent consultant specialising in serverless technology
- Trek10
- Parallax – they also built the David Guetta Campaign
- Geniusee
- Nordcloud - they created several plugins, sponsor Serverless Days Helsinki and regularly host Serverless Finland Meetups.
- 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
- OneSpeed
- 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
- Onica - AWS Premier Consulting Partner for Cloud Native Development and host of eleven regional Meetup groups.
- null - maintains Bref to create serverless PHP applications
- Theodo - full stack teams passionate about Serverless that also run the Serverless Transformation Newsletter & Blog.
- JetBridge - cloud-native and serverless application development services.
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.