1

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 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.

2
  • 3
    Can this be deployed on a public cloud? Then simply pack it into an AMI on AWS marketplace – jdog Oct 24 '19 at 6:40
  • 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 Oct 24 '19 at 17:15
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.

1
  • 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 Oct 24 '19 at 17:19

Not the answer you're looking for? Browse other questions tagged or ask your own question.