All Projects → faastjs → Faast.js

faastjs / Faast.js

Licence: apache-2.0
Serverless batch computing made simple.

Programming Languages

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

Projects that are alternatives of or similar to Faast.js

Mkvtoolnix Batch
Windows Batch script to automate batch processing using mkvtoolnix.
Stars: ✭ 42 (-96.83%)
Mutual labels:  batch, batch-processing
Alagarr
🦍 Alagarr is a request-response helper library that removes the boilerplate from your Node.js (AWS Lambda) serverless functions and helps make your code portable.
Stars: ✭ 58 (-95.62%)
Mutual labels:  serverless, faas
Openwhisk Runtime Nodejs
Apache OpenWhisk Runtime NodeJS supports Apache OpenWhisk functions written in JavaScript for NodeJS
Stars: ✭ 43 (-96.75%)
Mutual labels:  serverless, faas
Saasify
The easiest way to monetize your API. 🚀
Stars: ✭ 912 (-31.07%)
Mutual labels:  serverless, faas
Openwhisk Cli
Apache OpenWhisk Command Line Interface (CLI)
Stars: ✭ 73 (-94.48%)
Mutual labels:  serverless, faas
Je
A distributed job execution engine for the execution of batch jobs, workflows, remediations and more.
Stars: ✭ 30 (-97.73%)
Mutual labels:  faas, batch
Openwhisk Apigateway
Apache OpenWhisk API Gateway service for exposing actions as REST interfaces.
Stars: ✭ 56 (-95.77%)
Mutual labels:  serverless, faas
Openwhisk Runtime Php
Apache OpenWhisk Runtime PHP supports Apache OpenWhisk functions written in PHP
Stars: ✭ 26 (-98.03%)
Mutual labels:  serverless, faas
Best Of Web Python
🏆 A ranked list of awesome python libraries for web development. Updated weekly.
Stars: ✭ 1,118 (-15.5%)
Mutual labels:  serverless, library
Community Cluster
OpenFaaS Cloud Cluster for Community
Stars: ✭ 59 (-95.54%)
Mutual labels:  serverless, faas
Navagraha
Simple FaaS Framework
Stars: ✭ 15 (-98.87%)
Mutual labels:  serverless, faas
Tensorflow Lambda Layer
Lets you import Tensorflow + Keras from an AWS lambda
Stars: ✭ 79 (-94.03%)
Mutual labels:  serverless, faas
Microless
Using docker and nodejs to build Microservice
Stars: ✭ 14 (-98.94%)
Mutual labels:  serverless, faas
Serverless Faas Workbench
FunctionBench
Stars: ✭ 32 (-97.58%)
Mutual labels:  serverless, faas
K8s On Raspbian
Kubernetes on Raspbian (Raspberry Pi)
Stars: ✭ 839 (-36.58%)
Mutual labels:  serverless, faas
Mongodb Function
OpenFaaS Function that makes use of a connection pool to access MongoDB
Stars: ✭ 44 (-96.67%)
Mutual labels:  serverless, faas
Lambdalogs
A CLI tool to trace AWS Lambda calls over multiple CloudWatch log groups.
Stars: ✭ 18 (-98.64%)
Mutual labels:  serverless, faas
Jazz Installer
Installer for Jazz Serverless Developer Platform!
Stars: ✭ 24 (-98.19%)
Mutual labels:  serverless, faas
Apex
Old apex/apex
Stars: ✭ 20 (-98.49%)
Mutual labels:  serverless, faas
Hook.io
Open-Source Microservice Hosting Platform
Stars: ✭ 1,201 (-9.22%)
Mutual labels:  serverless, faas

faast.js

License CircleCI codecov Codacy Badgesemantic-release FOSSA Status

Faast.js makes regular functions callable as serverless functions on AWS Lambda and Google Cloud. It handles the details of uploading your code, creating cloud infrastructure, and cleaning up. Scale up your functions to a thousand cores in seconds 🚀

Faast.js is a pure library with no service dependencies, operational overhead, or unnecessary complexity.

Installation

Faast.js requires node version 8+.

$ npm install faastjs

Example

First write the functions you want to run in a serverless function. Make sure to export them:

// functions.ts
export function hello(name: string) {
    return "hello " + name;
}

Use faast.js to turn this into a serverless function:

// main.ts
import { faast } from "faastjs";
import * as funcs from "./functions";

(async () => {
    const m = await faast("aws", funcs);
    const { hello } = m.functions;
    const result = await hello("world!");
    console.log(result);
    await m.cleanup();
})();

Make 1000 concurrent calls if you like:

const promises: string[] = [];
for (let i = 0; i < 1000; i++) {
    promises.push(hello(`world ${i}!`));
}
await Promise.all(promises);

How much did that cost...?

const cost = await m.costSnapshot();
console.log(`$${cost.total()}`);

Relax. It's just half a penny:

$0.00420858

Features

  • Frictionless. Faast.js takes care of packaging your code, setting up IAM roles, and other infrastructure complexity. Run your code on a thousand cores in seconds. All you need is an AWS or GCP account.
  • Scalable. Use serverless functions to scale your batch jobs up to thousands of cores.
  • Cost-effective. Understand and optimize your workload costs in real time. Pay only for compute time actually used.
  • Ephemeral. No clusters or services to manage. Faast.js creates the infrastructure it uses on the fly and cleans up when it's done.
  • Productive. First class support for TypeScript and JavaScript. Type safety, documentation, and extensive testing are part of our DNA.
  • Multi-cloud: Built-in support for AWS Lambda and Google Cloud Functions, as well as local processing mode when you don't have network access. Switch with one line of code.

Ready to learn more?

Check out our getting started documentation.

Work through some examples

Review the detailed API documentation.

Join our discord channel.

Follow us on twitter.

Contributing

See contributing.

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].