A Juju controller is the initial cloud instance that is created in order for Juju to gain access to a cloud. It is created by having the Juju client contact the cloud’s API. The controller is a central management instance for the chosen cloud, taking care of all operations requested by the Juju client. Multiple clouds (and thus controllers) are possible, and each one may contain multiple models and users. Furthermore, a controller can add to it a model which is hosted in another cloud.