Glance and Nova
Gaurav Janjal
Building Scalable Observability Solutions @ Qualys | CKA | Crafting Resilient, Data-Driven Systems
Nova:
Nova is the OpenStack project that provides a way to provision computer instances (aka virtual servers). Nova supports creating virtual machines, baremetal servers (through the use of ironic), and has limited support for system containers. Nova runs as a set of daemons on top of existing Linux servers to provide that service.
It requires the following additional OpenStack services for basic function:
- Keystone: This provides identity and authentication for all OpenStack services.
- Glance: This provides the compute image repository. All compute instances launch from glance images.
- Neutron: This is responsible for provisioning the virtual or physical networks that compute instances connect to on boot.
- Placement: This is responsible for tracking inventory of resources available in a cloud and assisting in choosing which provider of those resources will be used when creating a virtual machine.
It can also integrate with other services to include: persistent block storage, encrypted disks, and baremetal compute instances.
Glance :
The glance (Image service) project provides a service where users can upload and discover data assets that are meant to be used with other services. This currently includes images and metadata definitions.Glance image services include discovering, registering, and retrieving virtual machine (VM) images. Glance has a RESTful API that allows querying of VM image metadata as well as retrieval of the actual image.
VM images made available through Glance can be stored in a variety of locations from simple filesystems to object-storage systems like the OpenStack Swift project.
Glance, as with all OpenStack projects, is written with the following design guidelines in mind:
- Component based architecture: Quickly add new behaviors
- Highly available: Scale to very serious workloads
- Fault tolerant: Isolated processes avoid cascading failures
- Recoverable: Failures should be easy to diagnose, debug, and rectify
- Open standards: Be a reference implementation for a community-driven api