Skip to content

Latest commit

 

History

History
136 lines (102 loc) · 4.5 KB

README.md

File metadata and controls

136 lines (102 loc) · 4.5 KB

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
    • distributed worklow
    • distributed cache
    • multithreaded design to integrate I/O and CPU-bound workloads
    • shared memory for efficient processing across threads
    • fast streaming based on Async I/O supporting DDS and QUIC protocols
    • 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
    • self-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

Install just the core lib from NPM:

npm i @module-federation/aegis

Contribute

Open a Gitpod workspace using a local repo:

Open in Gitpod

or

Manually install using Github as a repo.

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
yarn
yarn link "@module-federation/aegis"
cd webpack/remote-entries
cp index-github.js index.js
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
  • Web Bluetooth Low Energy adapter
  • 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