Git Product home page Git Product logo

anlexn / serverless Goto Github PK

View Code? Open in Web Editor NEW

This project forked from serverless/serverless

0.0 2.0 0.0 88.97 MB

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

Home Page: http://www.serverless.com

License: Other

JavaScript 99.08% Java 0.40% Python 0.07% Scala 0.20% Shell 0.24%

serverless's Introduction

Serverless Application Framework AWS Lambda API Gateway

serverless Build Status npm version Coverage Status gitter dependencies license

WebsiteDocsNewsletterGitterForumMeetupsTwitter

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 CloudFunctions, 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 guide here.

Serverless Framework Feedback Survey

Contents

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
  • Create a Service:
    • Creates a new Serverless Service/Project
    • serverless create --template aws-nodejs --path my-service
    • cd my-service
  • Or 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 [GITHUB URL OF 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 Function:
    • Use this to quickly upload and overwrite your AWS Lambda code on AWS, allowing you to develop faster.
    • serverless deploy function -f myfunction
  • Invoke a Function:
    • Invokes an AWS Lambda Function on AWS and returns logs.
    • serverless invoke -f hello -l
  • Fetch 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 a Service:
    • Removes all Functions, Events and Resources from your AWS account.
    • serverless remove

Check out our in-depth 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 & Scala.
  • 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!

Plugins (V1.0)

Use these plugins to overwrite or extend the Framework's functionality…

Example Projects (V1.0)

Why Serverless?

We want to make sure that you and your team don't have to manage or think about Servers in your day to day development. Through AWS Lambda and similar Function as a Service providers you can focus on building your business code without having to worry about operations. While there are of course still servers running, you don't have to think about them. This turns you into a Serverless Team and thats why we think Serverless is a fitting name.

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

Community

Consultants

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


Previous Serverless 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. Guide on building v1.0 plugins

You can read the v0.5.x documentation at readme.io.

Projects (v0.5.x)

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>

Plugins (v0.5.x)

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.
  • 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
  • Serverless DynamoDB Local - Simulate DynamoDB instance locally.
  • Serverless Dependency Install - Manage node, serverless dependencies easily within the project.
  • Serverless Header Function - Automatically run a javascript script on every Serverless action hooks.

serverless's People

Contributors

austencollins avatar eahefnawy avatar pmuens avatar flomotlik avatar minibikini avatar nopik avatar nikgraf avatar davidwells avatar erikerikson avatar ryansb avatar johncmckim avatar svdgraaf avatar jonsharratt avatar mthenw avatar joostfarla avatar horike37 avatar dougmoscrop avatar rowanu avatar andymac4182 avatar dekz avatar davidtanner avatar wedgybo avatar nicka avatar gwsii avatar patoncrispy avatar jordanmack avatar boushley avatar shortjared avatar worldsoup avatar lamroger avatar

Watchers

James Cloos avatar anlex N avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.