Æ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:
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
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