Incus
Incus is a system container and Virtual Machine (VM) manager (infrastructure virtualization) that provides a unified Application Programming Interface (API) and tooling to run and manage Linux containers and optional virtual machines on a single host or across multiple clustered hosts.
- System container and VM management with a single Representational State Transfer (REST) API and command-line client (infrastructure virtualization).
- Support for running multiple isolated Linux environments on a single host using system containers (operating system virtualization).
- Optional support for hardware-virtualized workloads as virtual machines alongside containers (compute virtualization).
- Built-in clustering to manage multiple Incus servers as a single logical entity (cluster management).
- Integrated features for storage backends, networking, and instance lifecycle operations (infrastructure automation).
More About Incus
Incus is a system container and VM manager (infrastructure virtualization) designed to run full Linux environments on a single host or across a cluster of hosts through a consistent API and toolset. It focuses on system containers, which provide isolated Linux instances that share the host kernel while maintaining separate user spaces. Alongside containers, Incus can also manage virtual machines, enabling mixed deployments where administrators can choose between containers and Vulnerability Management System (VMS) based on workload requirements.
At its core, Incus exposes a REST API (infrastructure automation) that underpins all management operations, including instance creation, configuration, lifecycle control, and monitoring. The project ships with a command-line client that consumes this API, allowing administrators and automation systems to script and integrate Incus into broader infrastructure workflows. This API-centric design supports remote management of Incus servers and cluster-wide operations, providing a consistent interface regardless of whether workloads run on a single node or a multi-node environment.
Incus supports the creation and management of system containers (operating system virtualization), which are suited for running full Linux distributions in an isolated manner with lower overhead than traditional virtual machines. It also supports virtual machines (compute virtualization) using hardware virtualization, allowing workloads that require a distinct kernel or non-Linux guests where documented as supported. Both containers and VMS are treated as “instances” within Incus, with common lifecycle operations such as start, stop, snapshot, copy, and migrate.
The project includes clustering capabilities (cluster management) that allow multiple Incus servers to operate as a single cluster. In a clustered mode, instances can be scheduled across nodes, and administrators can manage resources in a more flexible way. Incus integrates with various storage backends (storage management), network configurations (virtual networking), and image distribution mechanisms, which together provide a framework for building multi-tenant or multi-environment infrastructure on top of Linux hosts.
Enterprises use Incus to host development, testing, and production environments where isolated Linux systems are required and where operational consistency between containers and virtual machines is valuable. Its use of a documented API and declarative configuration models supports integration with configuration management tools and Continuous Integration and Continuous Deployment (CI/CD) systems. Within a technical directory, Incus is categorized under infrastructure virtualization, system container management, and cluster management, with relevance for platform engineering, private cloud, and on-premises (on-prem) infrastructure teams that require controlled lifecycle management of Linux containers and virtual machines.