Giter Club home page Giter Club logo

yukiotime / aegis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from module-federation/aegis

0.0 0.0 0.0 3.18 MB

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: Apache License 2.0

Shell 0.18% JavaScript 98.53% C 0.14% TypeScript 0.57% HTML 0.58%

aegis's Introduction

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

aegis's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.