From today’s blog, we are going to discuss all the component of OpenStack in detail. The first component is Compute (nova), about which we have already given an overview in the previous blog on Concept of OpenStack and Components of OpenStack.
Let’s dive in:
Compute (Nova) is a component of OpenStack. OpenStack is a free and open source software platform which was developed to allow as and when access to the compute (Nova) resources by distributing and controlling big networks of VMs i.e. Virtual Machines. This component is also called OpenStack Compute, which provides hugely accessible, whenever needed, self-serving rights to the compute (Nova) resources like Virtual Machines, servers, etc. The Compute (Nova) also functions with VMware, LXC, and LXD which are the Linux container technologies and virtualization technologies.
Let’s first discuss what exactly Nova is?
As mentioned earlier Nova is a component of OpenStack project which offers a method for providing standards like virtual servers. It helps in building virtual machines, servers which are single tenant physical server’s also known as a bare metal server. It also offers restricted support. It works as a daemon on the Linux servers for all services.
Nova is considered as the most complex component present in the OpenStack platform. It communicates with some other components of the OpenStack such as Keystone for achieving verification, it also works with Horizon due to Horizon’ Web interface and with Glance for providing its own images.
When OpenStack Austin was released in 2010, Nova is considered as the main component along with Swift. The Rackspace and HP companies offer to compute trading services which are developed on OpenStack Nova and there are some companies which use Nova as an internal part, for example, Libre, NASA, etc.
Nova takes help of some extra OpenStack services for the fundamental functions. These are as follows
- Keystone: The identification and validation required for every OpenStack services are provided by Keystone.
- Glance: The storage space for computing image is provided by Glance. Each and every compute instance is released from images of Glance.
- Neutron: This service is accountable for providing the networks which can be virtual or physical, to which the compute requests connect at the time of boot.
- Placement: This service is accountable for monitoring the inventory of all the resources which are present in a cloud and also helps to support in selecting a supplier for these resources that can be used while building a virtual machine.
The Nova component of OpenStack combines with some other services for incorporating fixed block storage, ciphered disks and the compute requests related to the bare metal servers.
Uses of Nova for the end users:
If you are an end user of Nova, then you will be able to use Nova for building and managing servers with the help of various tools or directly with the help of API.
Let’s see the different tools offered for using Nova:
- Horizon: It is an authorized web user interface for the OpenStack Project.
- OpenStack Client: It is an authorized Command Line Interface for the OpenStack projects. As an end user, you should use this tool as your Command line interface for many activities, which not only involves Nova commands but also involves the commands for many other projects in the OpenStack.
- Nova Client: As an end user this tool can be required to use, whenever you need very few developed features i.e. administrative commands. It provides support but still the command line interface of the OpenStack is suggested.
Let’s see how you can use API directly for building complicated logic with the help of Nova:
The REST API which stands for RESTful web services which are established on the representational state transfer i.e. REST reveals each and every end user as well as few administrative aspects; these can be utilized for creating some more complex logic with Nova. This can be absorbed directly or through different Software Development Kit.
Following is the list of all the resources which will be helpful to you while getting started with the APIs directly:
- Compute API Guide: It is a conception guide for the API. It helps in arranging the ideas behind the API for easily immersing the API referral.
- Compute API Reference: It offers an overall referral for the compute API, which involves each and every method and instance parameters as well as their meanings.
- Compute API Microversion History: Using Microversion, the compute API develops over the period of time. It also offers history of each and every changes, i.e. in simple words we can call it as a “What else is new” in the compute API.
- Mapping Block Device: This resource is one of the most difficult parts to figure out, which is used for connecting distinct block devices with the computes.
- Configuration Drive: This resource supplies information to the visitor instance at the time when it was built.
You can use Nova in such a way that it can be configured to issue notifications across Remote Procedure Call which stands for RPC.
- Versioned Notifications: This resource supplies the catalog of all the present versioned notifications with the help of sample charges.
Let’s look at the overview of Nova architecture for operators:
Nova architecture: It is an introduction to how entire parts in nova are favorable together.
Install guide for nova is available under Installation. For working with nova it is also required to have keystone, glance, neutron and placement installed as well as making sure that you obey their install guides at the beginning.
Let’s see which information is required to be considered at the time of deployment:
As an end user you may want to look after some considerations before starting the deployment, specifically if it is a large deployment but the default considerations from the install guide are sufficient for deployments which are small.
You can take help of nova with few other compute driver features which support the nova deployments. Nova tries to supply an integrated feature over these, but it is not possible to implement entire features on every backend and also every feature is not equally tested.
- Use Case Feature Support: It provides a view for which features that every driver assists on the basis of what is important for few large cases like General Purpose Cloud etc.
- Full list Feature Support: It provides details about features in every backend of the compute driver.
- Cells v2 Planning: Cells v2 provides breaking of compute space for deployments which are large. Sincere planning is essential for successfully lay outing Cells v2.
- Running Nova-API on Web Server Gateway Interface: It is helpful in using a genuine Web Server Gateway Interface rather than the eventlet web servers which are used by Nginx.
At the time of working with Nova it is important to consider the following points:
- Admin Guide: It provides information about the collection of library for managing Nova.
- Flavors: It provides information about different flavors and the reason for their use.
- Upgrades: It provides information regarding how nova can be designed to get upgraded for creating a negligible effect on the services and also the sequence in which you should perform them.
- Quotas: It provides information about how to manage the quotas in Nova project.
- Aggregates: These are helpful for scheduling purposes by creating the groups of the hosts.
- Filter Schedule: It provides information about how the filter scheduler is setup and also how it will affect when the compute requests come in your domain. Suppose if you find a sudden distribution of compute results inside hosts then you may want to plunge into Filter Scheduler configuration.
- Exposing custom metadata to compute results: It provides information about how and when do you want to stretch the fundamental metadata revealed to the compute results using either metadata or using configuration derive, for the special reasons.
Following is the list of Nova reference material:
- Nova CLI Command References: It provides overall command resource for every daemons as well as for every tools for admin which comes with Nova.
- Configuration Guide: It provides information related to setting up a system on the basis of role for accessing the rules of control policy.
In today’s blog I tried to provide you detail explanation about the Compute (nova) component of OpenStack. I think you find this information helpful. Please do not forget to leave a comment in the comment section below.