<p>I argue that K8s+docker is a good approach even for a non tech person. For k8s you can use microk8s which is available on linux, windows and macos. It creates a local, single-node k8s cluster for you. You can write a script (if the target OS is linux or mac) and automate the installation of kubectl, microk8s, enable addons and install your component k8s yaml file. If the target OS is windows you have to see how they automate stuff and use that method.</p>

CC BY-SA 4.0
2019-10-24T17:19:29.587Z
I agree with you. In case I am able to automate everything in a way the user won't need any other action than running an installer. I basically was and still am hoping for some very easy and simple solution due to I am talking about an very old application that is just used by few people. Probably two nested VMs are the easiest thing to do.
Bee
CC BY-SA 4.0
2019-10-24T09:37:26.427Z
2019-10-24T09:37:26.427Z
AVarf
<h1>About</h1>

<p>I am developing a piece of software which consists of a Node.js application which controls a virtual machine that runs Android-x86. Also there are some pieces of the Android SDK like ADB the software depends on.</p>

<h1>My current approach</h1>

<p>Currently there is no smart way of deployment whatsoever at all. Everything has to be installed manually. Depending on the system I also get issues regarding networking and so on from time to time. I also created another question <a href="https://devops.stackexchange.com/questions/9466/deploying-software-that-depends-on-a-virtual-machine-using-docker">here</a> where I first thought about using Docker.</p>

<h1>My problem</h1>

<p>While researching if I can solve this using Docker I came up with solutions that require Kubernetes as well. I want to deploy the software to non-tech savvy users as well. So I cannot afford to have Docker and Kubernetes as dependencies due to the complexity of the installation process.</p>

<h1>My question</h1>

<p>Is there any technology that I am not aware of that can simplify the setup process for the end user? The perfect scenario would be a virtual machine or container containing the whole environment that can somehow be converted to a single binary which can be installed/executed.</p>

CC BY-SA 4.0
2019-10-24T06:40:21.360Z
Can this be deployed on a public cloud? Then simply pack it into an AMI on AWS marketplace
jdog
CC BY-SA 4.0
2019-10-24T17:15:12.707Z
That would definitely be the best solution in my opinion but it would require internet connection which I cannot ensure. Also internal servers hosting such a service are not an option unfortunately.
Bee
<deployment><virtualbox>
Deploying software that depends on a virtual machine for non-tech savvy users
Bee
# Deploying software that depends on a virtual machine for non-tech savvy users

(Asked by: username_0 on 2019-10-23)

# About

I am developing a piece of software which consists of a Node.js application which controls a virtual machine that runs Android-x86. Also there are some pieces of the Android SDK like ADB the software depends on.

# My current approach

Currently there is no smart way of deployment whatsoever at all. Everything has to be installed manually. Depending on the system I also get issues regarding networking and so on from time to time. I also created another question [here](https://devops.stackexchange.com/questions/9466/deploying-software-that-depends-on-a-virtual-machine-using-docker) where I first thought about using Docker.

# My problem

While researching if I can solve this using Docker I came up with solutions that require Kubernetes as well. I want to deploy the software to non-tech savvy users as well. So I cannot afford to have Docker and Kubernetes as dependencies due to the complexity of the installation process.

# My question

Is there any technology that I am not aware of that can simplify the setup process for the end user? The perfect scenario would be a virtual machine or container containing the whole environment that can somehow be converted to a single binary which can be installed/executed.

**Tags:** deployment, virtualbox

> **Comments:**
> **username_1**: Can this be deployed on a public cloud? Then simply pack it into an AMI on AWS marketplace  
> **username_0**: That would definitely be the best solution in my opinion but it would require internet connection which I cannot ensure. Also internal servers hosting such a service are not an option unfortunately.  

---

## 1 answers

### Answer by username_2 on 2019-10-24. Score: 2

I argue that K8s+docker is a good approach even for a non tech person. For k8s you can use microk8s which is available on linux, windows and macos. It creates a local, single-node k8s cluster for you. You can write a script (if the target OS is linux or mac) and automate the installation of kubectl, microk8s, enable addons and install your component k8s yaml file. If the target OS is windows you have to see how they automate stuff and use that method.

> **Comments:**
> **username_0**: I agree with you. In case I am able to automate everything in a way the user won't need any other action than running an installer. I basically was and still am hoping for some very easy and simple solution due to I am talking about an very old application that is just used by few people. Probably two nested VMs are the easiest thing to do.  

---

