Generated by GPT-5-mini| OpenStack Nova | |
|---|---|
| Name | OpenStack Nova |
| Developer | OpenStack Foundation |
| Released | 2010 |
| Programming language | Python (programming language) |
| Operating system | Linux |
| Genre | Cloud computing |
| License | Apache License |
OpenStack Nova OpenStack Nova is a cloud computing project providing compute services within the OpenStack ecosystem. It manages large networks of virtual machines and other instances to enable infrastructure-as-a-service offered by providers such as Rackspace and NASA. Nova integrates with numerous projects and vendors including KVM, Xen (hypervisor), QEMU, Libvirt, Ceph, and Neutron (OpenStack) to deliver scalable, programmable compute resources.
Nova originated from collaboration between Rackspace and NASA during the early 2010s and has evolved within the OpenStack Foundation governance model alongside projects like Glance (OpenStack), Keystone (OpenStack), Swift (OpenStack), and Cinder (OpenStack). Its purpose aligns with initiatives such as Infrastructure as a Service and interoperates with standards advanced by organizations including The Apache Software Foundation, Linux Foundation, and Cloud Native Computing Foundation. Major adopters and contributors encompass companies like Canonical (company), Red Hat, IBM, Intel, and Dell Technologies.
Nova's architecture is modular and service-oriented, following principles similar to microservices architecture. Core compute management components run as distinct services and communicate via messaging systems such as RabbitMQ and Apache Kafka, while identity and policy are provided through integration with Keystone (OpenStack). Storage and networking are decoupled through plugins connecting to Cinder (OpenStack), Glance (OpenStack), Neutron (OpenStack), and external systems like Ceph and NFS. Hypervisor support includes KVM, Xen (hypervisor), VMware ESXi, and Microsoft Hyper-V, enabling deployments across heterogeneous environments. Nova's scheduler and conductor components coordinate instance placement analogous to scheduling systems like Kubernetes and Mesos.
- nova-api: exposes RESTful endpoints and integrates with Keystone (OpenStack) for authentication and with projects such as Glance (OpenStack) for image lookup. - nova-scheduler: responsible for host selection, comparable to algorithms used in Google Borg and Apache Mesos. - nova-compute: interacts with hypervisors via drivers like Libvirt and tools used by QEMU and KVM. - nova-conductor: mediates database access to reduce direct connections from compute nodes, reflecting patterns from Database administration projects at scale. - nova-cellsv2: supports large-scale multi-cell topologies used by operators including eBay, CERN, and Wikimedia Foundation. - nova-consoleauth and novncproxy: enable remote console access with similarities to remote tools maintained by VMware and Microsoft. These components integrate with orchestration systems such as Heat (OpenStack) and configuration tools like Ansible, Puppet, and Chef (software).
Operators deploy Nova using packaging and automation tools from vendors including Canonical (company), Red Hat, and distributions like Ubuntu (operating system) and CentOS. Typical deployment models mirror practices from Continuous integration and Continuous delivery pipelines, using Jenkins (software), GitLab, or GitHub for CI/CD. High-availability designs borrow concepts from load balancing solutions like HAProxy and Keepalived, while telemetry and monitoring rely on Prometheus (software), Nagios, Zabbix, and Elasticsearch. Scalability strategies use cell-based architectures and resource tracking inspired by large cloud providers such as Amazon Web Services, Google Cloud Platform, and Microsoft Azure.
Nova exposes a REST API compatible with the OpenStack API guidelines and integrates with SDKs maintained by communities like OpenStack SDK and client libraries in Python (programming language), Go (programming language), and Java (programming language). Authentication and multi-tenant access conform to Keystone (OpenStack) tokens and policy described by OpenID Connect and OAuth 2.0 patterns seen in projects such as Kubernetes and Cloud Foundry. Developers use Nova APIs in conjunction with image management from Glance (OpenStack), block storage from Cinder (OpenStack), and networking from Neutron (OpenStack) to construct platforms analogous to Platform as a Service offerings like Heroku and Cloud Foundry.
Nova is used for private clouds in sectors including research institutions like CERN and NASA, telecommunications providers engaged with 5G infrastructure, and enterprises managing hybrid clouds with vendors such as Red Hat and IBM. Use cases include virtual machine provisioning for High-Performance Computing research, continuous integration build farms for software organizations like Mozilla and Canonical (company), and testbeds for projects such as OpenStack itself. Public cloud operators and hosting providers have deployed Nova-derived platforms in parallel with services from Amazon Web Services and Google Cloud Platform for workloads requiring control over hardware locality and compliance relevant to standards from bodies like ISO.
Security practices for Nova involve integration with Keystone (OpenStack), role-based access control patterns comparable to SAML federations used by institutions like MIT and Stanford University, and hardening advice from vendors such as Red Hat and Canonical (company). Network isolation leverages Neutron (OpenStack) features and compatible plugins from projects like Open vSwitch and SR-IOV enhancements advocated by Intel. Performance tuning addresses hypervisor-level optimizations found in KVM and Xen (hypervisor), NUMA-aware scheduling influenced by practices at HPC centers, and storage I/O improvements via Ceph or vendor arrays like NetApp and Dell EMC. Incident response and compliance reference operational playbooks used by organizations such as US-CERT and security frameworks promoted by NIST.