All Projects → nullserve → faaskit

nullserve / faaskit

Licence: Apache-2.0 License
A lightweight middleware framework for functions as a service

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to faaskit

Grant
OAuth Proxy
Stars: ✭ 3,509 (+14520.83%)
Mutual labels:  middleware, lambda, aws-lambda, azure, gcp
Flogo
Project Flogo is an open source ecosystem of opinionated event-driven capabilities to simplify building efficient & modern serverless functions, microservices & edge apps.
Stars: ✭ 1,891 (+7779.17%)
Mutual labels:  lambda, aws-lambda, faas, faas-framework
Jazz
Platform to develop and manage serverless applications at an enterprise scale!
Stars: ✭ 254 (+958.33%)
Mutual labels:  aws-lambda, azure, faas, azure-functions
Serverless Application Model
AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications
Stars: ✭ 8,305 (+34504.17%)
Mutual labels:  lambda, sam, aws-sam
Cloud Custodian
Rules engine for cloud security, cost optimization, and governance, DSL in yaml for policies to query, filter, and take actions on resources
Stars: ✭ 3,926 (+16258.33%)
Mutual labels:  lambda, azure, gcp
Serverless Express
Run Node.js web applications and APIs using existing application frameworks on AWS #serverless technologies such as Lambda, API Gateway, Lambda@Edge, and ALB.
Stars: ✭ 4,265 (+17670.83%)
Mutual labels:  lambda, aws-lambda, sam
Laravel Bridge
Package to use Laravel on AWS Lambda with Bref
Stars: ✭ 168 (+600%)
Mutual labels:  lambda, aws-lambda, faas
Aws Serverless Airline Booking
Airline Booking is a sample web application that provides Flight Search, Flight Payment, Flight Booking and Loyalty points including end-to-end testing, GraphQL and CI/CD. This web application was the theme of Build on Serverless Season 2 on AWS Twitch running from April 24th until end of August in 2019.
Stars: ✭ 1,290 (+5275%)
Mutual labels:  lambda, aws-lambda, sam
Components
The Serverless Framework's new infrastructure provisioning technology — Build, compose, & deploy serverless apps in seconds...
Stars: ✭ 2,259 (+9312.5%)
Mutual labels:  lambda, aws-lambda, faas
Komiser
☁️ Cloud Environment Inspector 👮🔒 💰
Stars: ✭ 2,684 (+11083.33%)
Mutual labels:  lambda, azure, gcp
Prisma-Enhanced-Remediation
Create custom auto-remediation solutions using serverless functions in the cloud.
Stars: ✭ 31 (+29.17%)
Mutual labels:  aws-lambda, azure-functions, gcp-cloud-functions
hyperform
⚡ Lightweight serverless framework for NodeJS
Stars: ✭ 156 (+550%)
Mutual labels:  lambda, aws-lambda, faas
Micro Aws Lambda
A 7KB and 0 dependencies AWS Lambda library which supports middleware and easy debug.
Stars: ✭ 181 (+654.17%)
Mutual labels:  middleware, lambda, aws-lambda
Lambdalogs
A CLI tool to trace AWS Lambda calls over multiple CloudWatch log groups.
Stars: ✭ 18 (-25%)
Mutual labels:  lambda, aws-lambda, faas
Bref
Serverless PHP on AWS Lambda
Stars: ✭ 2,382 (+9825%)
Mutual labels:  lambda, aws-lambda, faas
Lambcycle
🐑🛵 A declarative lambda middleware with life cycle hooks 🐑🛵
Stars: ✭ 88 (+266.67%)
Mutual labels:  middleware, lambda, aws-lambda
pipeline-as-code-with-jenkins
Pipeline as Code with Jenkins
Stars: ✭ 56 (+133.33%)
Mutual labels:  lambda, azure, gcp
DurableDungeon
A game designed to teach and learn serverless durable functions in C#
Stars: ✭ 55 (+129.17%)
Mutual labels:  azure, azure-functions
cfworker-middware-telegraf
Make telegraf (a telegram bot framework) useable in Cloudflare Workers
Stars: ✭ 23 (-4.17%)
Mutual labels:  cloudflare, cloudflare-workers
lambda-cron
LambdaCron - serverless cron tool
Stars: ✭ 22 (-8.33%)
Mutual labels:  lambda, aws-lambda

FaaSKit

npm version

A lightweight functional middleware framework for AWS lambda that stays out of your way and lets you build kick-ass, composable middleware for your lambdas.

Zero dependencies. Functional interface. Reusable code.

Table of Contents

Installation

To use faaskit in your nodejs project,

yarn add @faaskit/core

or

npm i @faaskit/core

@faaskit/core has no dependencies itself (peer or otherwise), so that's it!

Project Purpose

The goal of this project is to provide a very thin middleware framework for functions as a service. Without a well-established middleware pattern, too many bad habits can fossilize from one-off functions into bad middleware. This library provides a compose function for creating coposition-style middleware and wrapping around a handler without having deeply nested code. This function wrapping pattern allows explicitly definied, functional and onion-style (a well-established style) middleware. @faaskit/core also builds on the basic compose function, offering a few patterns that the author(s) have seen in the wild for rapid customization.

Too many middlework frameworks enforce bad designs and opinions onto their users. faaskit doesn't impose much at all and it stays out of your way once you define your stack.

Packages

FaasKit provides a number of small packages so developers can easily pick and choose features and middleware which are applicable to their use case. The packages are organized using the following naming scheme:

  • adapter-<name>: Adapter packages are used for changing the structure of the call site. These are useful for hooking up FaasKit to existing systems in a variety of ways. Including different function runtimes, different middleware stacks or existing legacy functions.
  • middleware-<name>: Middleware packages are used to provide some common middleware functionality. They typically identify their use case in the name of the middleware. These middleware are common patterns and expected workflow that have already been established and should be easy to use just by installing the package and composing the middleware into a middleware stack.
  • <name>: Common goal packages are named without any prefix and are designed around a common goal of middleware. For example, the http package defines a number of utility functions, middleware, contexts and adapters which help anyone using http and will be used by other external packages including middleware-<name> packages and adapter-<name> packages. Typically these packages are foundational and used by middleware authors to create a consistent experience between FaaS platforms.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].