OpenStack provides the following:
- Compute resources
- Multi-tenant security and isolation
- Management and monitoring
- Storage and networking
The preceding mentioned services are needed for any cloud/data center management tool regardless of which containers, virtual machines, or bare metal servers are being used. Containers complement existing technology and bring a new set of benefits. OpenStack provides the support to run containers on bare metal or virtual machines.
In OpenStack, the following projects have taken initiative or provided support for containers and related technologies.
Nova is a compute service for OpenStack. Nova provides APIs to manage virtual machines. Nova supports the provisioning of machine containers using two libraries, that is, LXC and OpenVZ (Virtuozzo). These container related libraries are supported by libvirt, which Nova uses to manage virtual machines.