Roadmap doc for project MAXIMUS

Mike Hearn
 

Hello,

 

For those of you interested in scaling to large numbers of hosted identities, Matthew has published a document for review on the various stages we are planning to get there in Corda Enterprise:

 

https://github.com/corda/corda/blob/9390b61a47164dd58696916bd8bf6476216d0cb3/docs/source/design/maximus/design.md

 

Please put comments here:

 

https://github.com/corda/corda/pull/4055

 

Executive summary:

 

  • There is an expressed desire to be able to on-board large numbers of small / low commitment users as first class Corda citizens. This is partly so they can do more with their Corda identity in future if they want to, even if in the beginning they just use an app as a service.

  • Currently the Corda node only supports one identity at a time. MAXIMUS is a project to support many identities per node, with some measure of horizontal scalability such that the node can scale up to handle higher traffic levels too.

  • Several different stages are outlined, with the first being delivered in Corda [Enterprise] 4. This first phase enables splitting Apache Artemis out of the node to run as a standalone MQ broker, with wire protocol extensions to support TLS SNI.

  • In the end state the MQ broker becomes the nervous system of a multi-service architecture (or ‘microservice architecture’ if you like). App workers switch identities on the fly as work comes in. They can be run on separate machines and thus this architectural direction opens up the possibility for physical isolation of hosted apps on e.g. dedicated hardware, behind different internal firewalls, different root accounts etc. The node becomes a logical rather than physical entity, made up of different cooperating servers.

 

MAXIMUS has a clearly defined scope. It does not include things like human interaction or allowing keys to be hosted outside of the super-node. That would be a separate project. MAXIMUS unlocks various other features like advanced flow control and being able to isolate apps from each other even if you aren’t hosting multiple nodes. However, those are also not part of this project.

This design has been discussed before, like at CordaCon Japan, so it won’t be news to some of you. There will also be a TAC review session on MAXIMUS soon. For everyone else, comments to the PR please!

 

thanks,

-mike

Join corda-dev@groups.io to automatically receive all group messages.