Cloud¶
See also: How to manage clouds
To Juju, a cloud (or backing cloud) is any entity that has an API that can provide compute, networking, and optionally storage resources in order for application units to be deployed on them. This includes public clouds such as Amazon Web Services, Google Compute Engine, Microsoft Azure and Kubernetes as well as private OpenStack-based clouds. Juju can also make use of environments which are not clouds per se, but which Juju can nonetheless treat as a cloud. MAAS and LXD fit into this last category. Because of this, in Juju a cloud is sometimes also called, more generally, a substrate.
Types of clouds¶
Juju supports two types of cloud: machine clouds and Kubernetes clouds.
Machine cloud¶
A machine cloud is a cloud that provides machine-level infrastructure. Juju uses the cloud API to provision or allocate machines (bare metal, virtual machines, or system containers), plus the networking and storage resources those machines require.
See more: List of supported machine clouds
Kubernetes cloud¶
A Kubernetes cloud is a cloud backed by an existing Kubernetes cluster. Juju uses the Kubernetes API to deploy and manage applications in that cluster, rather than provisioning machine-level infrastructure directly.
See more: List of supported Kubernetes clouds
Cloud definition¶
The structure of a cloud definition and its supported authentication types and configuration keys depend on the specific cloud. See the relevant cloud reference page for details.