unige-geohealth / accessmod

accessmod 5 : anisotropic accessibility analysis.
GNU Lesser General Public License v3.0
42 stars 14 forks source link

Transition to Docker #269

Open fxi opened 5 years ago

fxi commented 5 years ago

AccessMod has some challenging constraints :

The current solution was to build a web app and ship it inside a Linux-based virtual machine. The interface is visible in any web browser.

AccessMod updates are provided as patches and only diffs are transferred : it's very efficient, but sometime unstable without supervision.

The main issue with that approach is that updating the dependencies is not possible unless providing a new virtual machine.

The solution is to use a "container" system to "ship" AccessMod : dependencies update and AccessMod update will be shipped as precompiled "layers". The updates will be heavier to transfer via the network, but not as much as a full virtual machine (current optimized size : ~700MB).

This approach could provide a big improvement on the application performance and also a big improvement on the storage issue users are experiencing.

The issue is that docker is not well supported on all operating systems. To have a better view on what this implies, here is a flowchart on the different options :

image

Note: to be completed with alternatives such as Singularity, Vagrant boxes or any other system that could solve our issues.

mmschmitz commented 5 years ago

Good flow chart, and this is a useful way to conceptualise the problem. I have to ask:

mmschmitz commented 5 years ago

I'll preface this next comment by admitting that I've only heard of these terms in the abstract, and never have considered the full ramifications of using either. I'm only writing a clarification post to ensure that the terms are clearly defined.

Just to clarify/keep things simple, here's what I believe you're defining your terms as. Is this how you conceptualised it in the flowchart above?