Open Stack Compute Infrastructure (Nova)
Nova is the computational organization controller in the OpenStack cloud. All activities that support an instance (instances) lifecycle in the OpenStack cloud are handled by the Nova. This makes Nova a platform for managing computing resources, networks, certifications, and scalability requirements. However, the Nova itself does not provide any virtualization capabilities, instead it uses the Libvirt API to interact with the supported hypervisors. Nova provides services externally through a Web Services API that is compatible with the Amazon Web Services (AWS) EC2 API.
Features and Features:
Instance Life Cycle Management
Managing Computing Resources
Network and authentication Management
Rest-style APIs
asynchronous, consistent communication
Hypervisor transparency: Supports XEN,XENSERVER/XCP, KVM, UML, VMware vsphere and Hyper-V
Composition of the OpenStack calculation:
The Nova cloud architecture includes the following major components:
API Server (NOVA-API)
Message Queue (RABBIT-MQ server)
Compute Workers (Nova-compute)
Network Controller (Nova-network)
Volume Worker (Nova-volume)
Scheduler (Nova-scheduler)
API Server (NOVA-API)
API server provides an interface to interact with the cloud infrastructure and is the only component externally available to manage the infrastructure. Administration uses the EC2 API to implement through Web services invocations. API server then rotates with the cloud infrastructure's associated components through Message Queuing. As an alternative to the EC2 API, OpenStack also provides an internally used "OpenStack API".
Message Queue (Rabbit MQ Server)
Communication is completed between OpenStack nodes using AMQP (Advanced message Queue Protocol) between the messages queues. The Nova invokes the response with an asynchronous call, using a callback function to trigger when the response is received. Because of the use of asynchronous communication, no user will be stuck in the waiting state for a long time. This is effective because many APIs invoke expected behavior that is time-consuming, such as loading an instance, or uploading a mirror.
Compute Worker (Nova-compute)
Compute worker handles the management instance lifecycle. They receive instance lifecycle management requests through the message queue and assume operational work. There are some compute workers in the cloud deployment of a typical production environment. An instance is deployed on which available compute worker depends on the scheduling algorithm.
Network Controller (Nova-network)
Network Controller handles host network configuration. It includes IP address assignment, configuring VLANs for the project, implementing security groups, and configuring compute node networks.
Volume Workers (Nova-volume)
Volume workers is used to manage instance volumes based on LVM (Logical Volume manager). Volume workers has volume-related features, such as creating new volumes, deleting volumes, attaching volumes to instances, and separating volumes for instances. The volume provides a persistent store for the instance because the root partition is non-persistent and any changes made to it when the instance terminates are lost. When a volume is detached from an instance or the instance terminates (the volume is attached to the terminated instance), the volume retains the data stored on it. When the volume is attached to the same instance or attached to a different instance, the data can still be accessed.
Important data for an instance is almost always written on a volume, ensuring that it can be accessed at a later time. This typical application of storage requires support for services such as databases.
Scheduler (Nova-scheduler)
The Scheduler scheduler maps NOVA-API calls to OpenStack components. The scheduler runs as a nova-schedule daemon and obtains a computing service from the pool of available resources through an appropriate scheduling algorithm. Scheduler makes scheduling decisions based on such things as load, memory, physical distance from the available domain, CPU architecture, and so on. The Nova Scheduler implements a pluggable structure.
The current Nova-scheduler implements some basic scheduling algorithms:
Stochastic algorithm: Compute host randomly selected in all available domains
Available domain algorithms: The follower algorithm is similar, but the compute host is randomly selected within the specified available domain.
Simple algorithm: This method selects the host running instance with the least load. Load information can be obtained by load balancer.
The above is a small set to introduce the Nova components in the OpenStack, I hope to help you, if you have any questions please give me a message, small series will promptly reply to everyone. Here also thank you very much for the cloud Habitat Community website support!