Technology Choices for Encapsulating Users Code
Docker (a 'containerization' technology) has recently become a popular approach for creating rerunnable executables. In Docker these executables are called 'images'.
As of December 2014 there is a new alternative called Rocket, https://coreos.com/blog/rocket/
Should Synapse be concerned with running containers supplied by users?
...
No image sharing (e.g. ALS Stratification Challenge)
In this approach a challenge administrator creates containers (running images) on users' behalf. Users 'log in' and modify containers as if they're in a unix account.
Advantages: Users need not learn Docker. Containers can be run on a shared system where users are denied admin access. Little or no Synapse development.
Disadvantages: Users don't have visibility as to how images are stored and organized. Mechanism is needed to 'signal' to the administrator to create an image from a configured container. While submission may be streamlined, later sharing with or reuse by third parties is not provided and must be supported separately.
...