Funcatron is a complex system that needs to be highly available,
rolling upgradeable, and generally "just work". This document contains
some of the stuff to think about.
Messages -- how can we version message between Funcatron elements (current elements: Frontend, Tron, Runner)?
All Funcatron elements run in ephemeral Docker containers...
Where do we store uploaded Func bundles?
Shared filesystem again?
Or HTTP direct connection?
Shared filesystem?
HTTP direct connection?
Could something like Dynamic Routing work?
And how would that impact using queue depth to choose
how to fire up new Runners?