ONOS may be run in a variety of ways, in both single-node and distributed/multi-node development configurations.

This section describes several supported development workflows. onos-buck run onos-local is perhaps the simplest way to run ONOS by itself, and is well-suited to running ONOS directly on a macOS development machine. Using Mininet and onos.py allows you to simultaneously start a single ONOS node or ONOS cluster and create a virtual network, and is an easy way to create a virtual ONOS cluster inside a single VM. Using cells describes the cell infrastructure which works well for creating an ONOS cluster using multiple hardware servers or VMs. Multiple instances using LXC describes a way of using cells with LXC containers, and is an alternate way of creating an ONOS cluster in a single VM or server.