Open gjwgit opened 6 years ago
There are alternatives too. A container is quite a sizeable object (e.g., 1GB). The concept of SNAPs may also be a contender, though it targets Linux. Nonetheless, even Microsoft (e.g., Skype) seem to be getting in on the SNAP concept for Linux packaging.
Alternative may be to simply mimic virtual environment with local installs within the model folder. Use R_LIBS to affect R's search path. Similarly for Python
Another scenario for container: It is slow and time-consuming to create a new DLVM on Azure for testing a model package extensively from scratch without any dependencies pre-installed. You have to setup username, password, SSH key, and install mlhub, though all these can be automated by Azure script. But it may a lot easier to clone a container image locally within the DLVM with all already setting up for test a model package.
I collect a list of possible solutions at https://github.com/simonzhaoms/pkgdep which is still in progress and will be updated as I learn more.
A fresh installation of mlhub takes 4 minutes and 26 seconds. And docker pull kayon/mlhub
takes 5 minutes.
This is a sizeable task for someone to build their experience of containers and Azure Kubenete Services
Consider whether we have a single mlhub container fully stacked with all that is needed. A user could download this once and all mlhub packages run in this container. Or can we host a container on AKS?
We could have a single mlhub image running Ubuntu, Python3, R, mlhub. Build it from the official ubuntu image (70MB)