FAQ

Q: What hypervisors does ops currently support?

A: Currently, the only hypervisor that is supported is QEMU. We are obviously open to adding more support for other various hypervisors but there are considerations to be had.

Q: Can I contribute?

A: Sure! We accept pull requests and if you have prior kernel experience please get in touch with NanoVMs - they might even want to pay you.

Q: What artifact does ops produce?

A: ops builds a disk image artifact that you can typically find (by default) in the same current working directory after you run an instance, as the filename "image". This is what is executed by qemu to run your code or application.

Q: Can I run ops inside a container?

A: Yes, it is possible to run ops within a container such as docker. Although, it is NOT recommended to do so, especially for production environments. You will likely run into performance related issues.

Q: What if I need to 'shell out'?

A: We consider this an anti-pattern of software development and a scourge on the software ecosystem. It is advised to utilize your native language API and libraries to achieve the task instead.

Q: What about the filesystem?

A: The tool was originally addressed for transient services yet full fs functionality is on the way.

Q: How do I run ops on a cloud provider with bridged networking?

A: Yes, it is possible to setup bridged networking on various cloud providers, but it is recommended to run it on a physical linux server with an ethernet connection. In order to do so, you need to create a second network interface on the instance. Use one interface for the network bridge, and the other for your SSH connection.

Google Cloud Additional Interface

https://cloud.google.com/vpc/docs/create-use-multiple-interfaces

Digital Ocean Additional Interface

https://www.digitalocean.com/community/questions/more-network-interfaces-for-droplet

Amazon AWS EC2 Additional Interface

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html

Note: We are currently looking at providing native AWS and GCE support.

Q: My ssh connection gets terminated while running ops net setup

A: This also could happen on a cloud instance (AWS, digital ocean, google cloud) when there is only a single network interface.

You can bridge on a different interface than the one you are ssh'ing on to remedy this.

Q: Does this work with kubernetes?

A: This could work with kubernetes but kubernetes is a container orchestrator and is typically deployed on top of an existing virtual machine whereas the intention for these are to run as virtual machines.