Quantum is a virtual network service that provides a powerful API to define the network connectivity and addressing used by devices from other services, such as OpenStack Nova.
The OpenStack Nova API has a virtual server abstraction to describe compute resources. Similarly, the Quantum API has virtual network, subnet, and port abstractions to describe network resources. In more detail:
Network. An isolated L2 segment, analogous to VLAN in the physical networking world.
Subnet. A block of v4 or v6 IP addresses and associated configuration state.
Port. A connection point for attaching a single device, such as the NIC of a virtual server, to a Quantum network. Also describes the associated network configuration, such as the MAC and IP addresses to be used on that port.
You can configure rich network topologies by creating and configuring networks and subnets, and then instructing other OpenStack services like Nova to attach virtual devices to ports on these networks. In particular, Quantum supports each tenant having multiple private networks, and allows tenants to choose their own IP addressing scheme, even if those IP addresses overlap with those used by other tenants. This enables very advanced cloud networking use cases, such as building multi-tiered web applications and allowing applications to be migrated to the cloud without changing IP addresses.
Even if a cloud administrator does not intend to expose these capabilities to tenants directly, the Quantum API can be very useful even when used as an admin API because it provides significantly more flexibility for the cloud administrator to customize network offerings.
The Quantum API also provides a mechanism that lets cloud administrators expose additional API capabilities through API extensions. Commonly, new capabilities are first introduced as an API extension, and over time become part of the core Quantum API.