Generated by GPT-5-mini| Nova (OpenStack) | |
|---|---|
| Name | Nova |
| Developer | OpenStack Foundation |
| Released | 2011 |
| Programming language | Python |
| Operating system | Linux |
| License | Apache License 2.0 |
Nova (OpenStack) is the compute service component of the OpenStack cloud computing platform, providing virtual machine lifecycle management, orchestration interfaces, and driver abstractions for hypervisors and bare-metal provisioning. It integrates with storage, networking, identity, and image services to enable Infrastructure as a Service across public, private, and hybrid clouds. Nova is developed and governed within the OpenStack community and is used by enterprises, research institutions, and cloud providers worldwide.
Nova serves as the compute engine in OpenStack, coordinating virtual machine instances, bare-metal nodes, and container-based workloads. It interfaces with projects such as Glance, Neutron (OpenStack), Keystone (OpenStack), Cinder (OpenStack), and Horizon (OpenStack) to present a cohesive cloud platform. Major contributors include organizations like Red Hat, IBM, Intel, Canonical (company), Mirantis, and SUSE. Nova’s releases follow the OpenStack release cadence alongside projects like Keystone (OpenStack), Glance, and Neutron (OpenStack).
Nova’s architecture separates control plane services from compute resources. Key services include the nova-api, nova-compute, nova-scheduler, nova-conductor, and nova-placement. The nova-api exposes RESTful endpoints compatible with Amazon EC2 and OpenStack API conventions while integrating with OpenStack Identity for authentication. nova-compute interacts with hypervisors such as KVM, Xen, Microsoft Hyper-V, and VMware ESXi, and with bare-metal drivers like Ironic (OpenStack). The nova-scheduler uses filtering and weighing algorithms to decide placement, leveraging the Placement API for resource tracking. Messaging backends like RabbitMQ and Apache Kafka are common, and databases such as MySQL and PostgreSQL store persistent state. Nova’s driver model supports libvirt, Hyper-V, XenAPI, and custom compute drivers developed by vendors including NVIDIA, ARM Limited, and Broadcom.
Nova manages instance boot, rebuild, resize, suspend, resume, shelve, live migration, cold migration, and deletion. Its APIs map to operations familiar to users of Amazon EC2, OpenStack API, and cloud orchestration tools such as Heat (OpenStack). Nova integrates with image services like Glance for VM images and with block storage via Cinder (OpenStack) for persistent volumes. Identity and authentication are handled through Keystone (OpenStack), with role-based access compatible with platforms like LDAP and Active Directory. Nova’s metadata service and config-drive mechanisms provide instance configuration similar to mechanisms used by Cloud-init and Ignition.
Nova deployments range from small private clouds to hyperscale public clouds operated by companies like Rackspace, Huawei, and Yahoo!. Deployment automation commonly uses tools such as Ansible, Puppet, Chef, Juju, and Terraform. Horizontal scaling is achieved by running multiple nova-api, nova-scheduler, and nova-conductor processes, with compute nodes scaled by adding nova-compute services. High-availability and resilience leverage load balancers like HAProxy and Keepalived, and orchestration of upgrades follows practices observed in projects like Kubernetes and OpenShift (software). Monitoring and telemetry commonly employ Ceilometer, Prometheus, Grafana, and Zabbix.
Nova enforces isolation through tenant/project constructs defined by Keystone (OpenStack) and leverages network segregation via Neutron (OpenStack) with plugins like Open vSwitch and Linux Bridge. Role-based access control and policy enforcement use policy.json and integrations with PAM and SAML providers. Nova supports secure boot workflows compatible with UEFI Secure Boot and integrates with hardware security modules from vendors like Thales and Entrust for key management. Compliance and auditing tie into platforms such as OpenSCAP and Auditd, while image signing and provenance practices align with initiatives from The Linux Foundation and Cloud Native Computing Foundation.
Performance tuning for Nova involves CPU pinning, hugepages, NUMA topology alignment, and SR-IOV device assignment, techniques used in environments built by Intel, AMD, and NVIDIA. Benchmarking tools include Rally (OpenStack), PerfSONAR, and industry suites from SPEC, Phoronix Test Suite, and FIO for I/O measurement. Nova’s scheduler performance is assessed alongside networking stacks like DPDK and storage backends such as Ceph, NFS, iSCSI, and LVM. Real-world scale evaluations reference deployments by providers like Google of similar distributed systems and research from institutions such as NASA and CERN.
Nova’s codebase is hosted and reviewed through the OpenStack community infrastructure with governance involving the OpenStack Foundation. Contributions follow workflows using Git, Gerrit, and continuous integration pipelines with Zuul and Jenkins. The extensible driver model enables vendors like Red Hat, Canonical (company), Mirantis, and SUSE to add features and hardware support. Ecosystem projects and integrations include Ironic (OpenStack), Zun (OpenStack), Nova Cells, Placement API, and orchestration tools such as Heat (OpenStack) and Terraform. Commercial distributions and managed services are offered by Rackspace, IBM, Amazon Web Services, and cloud consultancies like Accenture and Capgemini.