Skip to content

Module federation for the backend. Aegis core lib. Regain control of your microservices by consolidating them into one or more shared processes without loosing deployment or language independence. Eliminate the need for deployment automation. Let services deploy themselves.

License

Notifications You must be signed in to change notification settings

module-federation/aegis

Folders and files

NameName
Last commit message
Last commit date
Oct 21, 2022
May 25, 2022
Oct 20, 2022
May 8, 2022
Nov 29, 2022
Nov 1, 2021
Nov 22, 2022
Sep 22, 2022
Dec 29, 2021
Oct 8, 2021
Jul 25, 2021
Mar 18, 2021
May 8, 2022
May 30, 2022
Apr 10, 2021
Nov 12, 2022
Mar 18, 2021
Oct 23, 2022
Nov 18, 2022
Nov 22, 2022
May 25, 2022
Nov 12, 2022
Sep 6, 2021
Nov 22, 2022
Nov 19, 2022
Jul 1, 2022

Repository files navigation

NPM version NPM Downloads Gitpod

ÆGIS

See the aegis-host repo for documentation and a working example of a federation server.

Consolidate your microservices

(by running them together in a single process)

  • for decreased footprint,
  • better performance and
  • simpler operations

without loosing

  • deployment independence,
  • language independence
  • or component independence (i.e. components remain decoupled)

Or distribute your components

(across a self-forming service mesh)

  • dynamically and adaptively
  • outside the datacenter and beyond the edge

with

  • non-functional, boilerplate code done for you
    • dynamically generated APIs and datasources
    • transparent integration and persistence
    • AI inference against streaming data in real time (AIoT)
    • dedicated thread pools supporting CPU-bound workloads
    • shared memory for efficient processing across threads
    • fast streaming using QUIC protocol and async I/0
    • in-process, self-forming service mesh supporting data federation and other application services.
    • autonomous self-administration (e.g. CA certs provisioned/renewed programmatically)
    • exhaustive portability: Aegis can run as a server, cluster, or serverless function, in the datacenter, at the edge, and beyond (browser, phone, drone, pi, eventually arduino)
  • and capabilities that enhance the development experience
    • comprehensive, rapid deployment (deploy in seconds to any compute primitive: serverless, container, IoT, etc)
    • runtime binding and hot reload (e.g. add new functionality on the fly, switch from on-prem to cloud live)
    • zero downtime, zero installation, independent deployment--even for components running in the same process
    • Polyglot, portable, containerless, sandboxed, AoT-compiled modules run safely anywhere, at native speeds
    • decentralized, scalable, "tessellated" hexagonal architecture

And do it all without deployment automation

You don't need that anymore.


Getting started

Install

npm i @module-federation/aegis

Contribute

Open in Gitpod

or

git clone https://github.com/module-federation/aegis
cd aegis
yarn
yarn build
yarn link

cd ..

git clone https://github.com/module-federation/aegis-host
cd aegis-host
cp dotenv.example .env
yarn
yarn link "@module-federation/aegis"
yarn build
yarn start
yarn demo

Learn

Aegis Overview

Roadmap

  • More WebAssembly features
  • Run on WasmEdge
  • Run in the browser
  • Run on Arduino
  • Addtional service mesh plugins.
  • Support ROS2/DDS for low-latency IoT networks
  • Point cloud support for LiDAR integration
  • PyNode - Python on Node - interpreted, not transpiled
  • Support for QUIC, NDI, WebRTC protocols
  • Addt'l datasource adapters: Graph, Blockchain, Solid Pod, timeseries
  • Adaptive Deployment (AIOps based dynamic infra)
  • Data privacy based on Zero Knowledge Proofs
  • OCI wrapper for wasm-based runtime
  • Federated Module Attestation
  • Smart Scaffolding
  • Application-based Sharding
  • Passwordless authentication
  • Medusa integration

About

Module federation for the backend. Aegis core lib. Regain control of your microservices by consolidating them into one or more shared processes without loosing deployment or language independence. Eliminate the need for deployment automation. Let services deploy themselves.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages