[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Ideas for: Networking / RPC, Cross Language Support, and Provisioning and deployment.



So I've been a big lurker on mirage since 2018.

Overtime I've had a few ideas on how to improve the project and gain more adoption.

Cross Lang Support.

So I'm not an expert on compiler tools and transpilation, but a lot of people in the communities do, but I think we can use WASM and WASI to port from other languages and export access to our underlying runtimes, WE GET A FREE BROWSER TARGET, and  we can use it as a sort of intermediate image we're able to covert into multiple others.


My next suggestions are in an area I'm more familiar with deployment, rpc, and provisioning.


Scheduling / Deployments:
Making a side car service that can start and stop unikernels, list it's supported targets,  running unikernels, and host different metrics.

Make a secure image registry, an auth service, and a acl service built on TUF.
Make it a target for the popular schedulers.


Build a custom scheduler that is compatible with the omega and mesos models so backends are pluggable.




RPC / Inter Networking:
Build a Simple multiplexed pathrouted stream named MS using yamux and a multistream, so you have multiple virtual sessions on your connection and you can run different protocols on each session on the stream.

A more Complex Session Protocol call MSP with Path, Headers, Payload  similar to grpc, ubers TChannel, twitters mux, thrift, etc.. , that can carry metadata such as encoding used, tracing data, metrics, names of function called, that runs on top of MS.


Add a simple RPC protocol named RPC  that allows you to select your encoding and what functions you want to serve, lists them, and can call them built on MSP.

A METRICS SERVICE for MSP that you can instrument.



A  CLIENT SIDE LOAD BALANCING LIBRARY
A SERVICE DISCOVERY LIBRARY


LIBS/SERVICES FOR OCAML TO ATTRACT DYST SYS NERDS .

A service that can answer to Go's serf built on cyclon +  vicinity and ringcast/poldercast, with the advantage of isolating virtual views that you can select as a means of forming a topology given by an algorithm of your choosing we should allow users to be able to contribute their own algorithms.

This means you can like create service groups that use ring cast, and then apply lifegaurds failure detector on that constructed view. 

You can create a group that contains instances of a service and run a failure detector algorithm on it.

This will allow us

WE NEED TO MAKE PIMP ASS IRMIN STORES

A CASPAXOS library
  
   Esposes, Get, Set, Seal, and Snapshot Operations.
   Takes user supplied function to change the state of named register.
   Takes user supplied view.
    
    Build on it with pluggable leader election,  failure detectors, autoscaling policies.

I have plenty of more ideas but this is too long already I'm already working on a few just hit me up if you think I'm on to somethig.

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.