Aqua is something like Docker but for Urbit; it is a virtualization tool whose primary purpose is testing and development.
Aqua is a Gall app that runs an Arvo instance or instances in userspace. It pretends to be Vere, and as such it loads pills to boot up a virtual ship or fleet of ships and then manages them from within the parent Arvo instance. Running tests for a virtual fleet of Aqua ships is done using pH.
Aqua is jetted with the usual Nock interpreter and thus virtual ships do not run any slower than the parent ship.