Æ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
- built-in, extensible, observable, self-forming, high speed service mesh
- 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, on the edge and beyond (phone, drone, pi, eventually arduino)
- and capabilities that enhance the development experience
- comprehensive, rapid deployment (deploy in seconds to any compute primitive: serverless, container, 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, highly composable, "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
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
Roadmap
- More WebAssembly features
- Run on WasmEdge
- Run in the browser
- Run on Arduino
- Built-in, pluggable, streaming service mesh
- Point cloud support for LiDAR integration
- PyNode - Python on Node - interpreted, not transpiled
- Support for streaming media and realtime AI inference
- Support for QUIC, NDI, WebRTC protocols
- Addt'l datasource adapters: GraphDb, Blockchain, Solid Pod
- 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