Open In App

What is Openstack Nova Service?

Improve
Improve
Like Article
Like
Save
Share
Report

Nova is an OpenStack service that provides users with virtual machine instances for launching applications on these virtual machines, which are treated as servers. It also works with different virtualization technologies like Hyper-V, KVM, VMware, Xen, etc. It is similar to the EC2 service in the Amazon Web Services (AWS) cloud. Since OpenStack is a private cloud, enterprises use OpenStack for more security for their private purposes. It uses a central database that can be used by other services too.

The following services are required for the basic functioning of OpenStack:

  1. Keystone: Use for the authentication purpose of the user.
  2. Glance: Works as a storage service that provides compute image repository.
  3. Neutron: This service is responsible for network provisioning.

Features of Nova:

  • Nova is written in Python language. The python libraries which are used by Nova include, Eventlet (used for networking) and SQLAlchemy (used for SQL purposes).
  • Nova follows the horizontal scaling architecture instead of vertical scaling in which the load is on only one server, which distributes to different servers.
  • It is in charge of managing an infrastructure-as-a-service (IaaS) platform that enables companies to develop cloud services.
  • The volume to the Nova virtual machine is provided by cinder, which is also an OpenStack service.
  • The dashboard provides the web-based user interface to nova.
  • Nova makes use of traditional SQL databases to store information. They are (logically) shared by multiple components.
  • It runs as a set of daemons on top of existing Linux servers to provide the services.

Use Cases of Nova:

  • Nova is used to creating virtual machines.
  • It also supports bare-metal servers.
  • It has limited support for the system containers services like docker

Nova Architecture:

Below is a helpful description of the major components of a typical Nova deployment. Keystone is the dashboard in OpenStack, which is an interface to the client. Network services are provided by neurons. Glance and Cinder are used to store non-structured data like images, videos, and other docs. Nova consists of multiple server processes, and each server is performing different functions.

Architecture of Nova

Nova Architecture

Components: 

  •  DB: DB is a SQL database used for data storage. It works as a central database that is shared between all components.
  •  API: API is a component that connects with other components via the Oslo. messaging queue or HTTP translates commands, and receives HTTP requests.
  •  Scheduler: Which host receives each instance is decided by the scheduler to reduce the load on the hosts.
  •  Compute: Manages interaction with the virtual machines and hypervisors.
  • Conductor: Handles requests that require coordination (build/resize), acts as a database proxy, and handles object transformations.

Sources To Use Nova Services:

  1. Horizon: It is also one of the services provided by OpenStack. It is a user interface through which a user can interact and avail of the nova services and other OpenStack services.
  2. CLI: A user can interact through the command line interface by login into their account through CLI.
  3. Novaclient:  A python API and a command-line script (installed as a nova) each of them install the complete OpenStack nova API.

Last Updated : 13 Nov, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads