Skip to content

Files

Latest commit

 

History

History
23 lines (14 loc) · 1.25 KB

08-architecture.md

File metadata and controls

23 lines (14 loc) · 1.25 KB
id title hide_title
architecture
Architecture
true

faast.js architecture

The core of faast.js is the FaastModuleProxy class, which implements the FaastModule interface. This proxy class contains the local proxy functions and invokes the provider implementation to perform provider-specific work. In addition, FaastModuleProxy contains the faast.js "runtime" which includes managing throttling and queues for outstanding invocations, statistics tracking, and acting as the controller by invoking the Provider API.

The Provider API is the interface between FaastModuleProxy and provider-specific implementations:

faastjs-architecture

Each provider implements the interface in provider.ts.

Cost Analyzer

The cost analyzer takes a Workload as input in addition to the User Module. The workload invokes the cloud functions, and is required because the Cost Analyzer creates multiple faast.js instances, one for each configuration.

Implementing Providers

Review the implementation for the AWS to understand the Provider API.