Tuesday, November 4, 2014

OpenStack Series: Part 4 – Nova – Compute Service

Nova is the module that handles the management of virtual machine instances in the OpenStack infrastructure by being an abstraction layer that interfaces with supported hypervisors

A list of supported hypervisors for Nova can be found here.  Supported hypervisor includes the KVM (libvirt/QEMU), ESXi from VMware, Hyper-V from Microsoft and XenServer.  It is interested to know that Nova categorize the hypervisors into 3 groups based on the number of testing done with the drivers that interface with the hypervisor.

Group A

These drivers are fully supported. Test coverage includes:
  • unit tests that gate commits
  • functional testing that gate commits
Drivers in this group include:
  • libvirt (qemu/KVM on x86)

Group B

These drivers are in a bit of a middle ground. Test coverage includes:
  • unit tests that gate commits
  • functional testing providing by an external system that does not gate commits, but advises patch authors and reviewers of results in gerrit (the code review system).
Drivers in this group include:
  • Hyper-V
  • VMware
  • XenServer 6.2

Group C


These drivers have minimal testing and may or may not work at any given time. Use them at your own risk. Test coverage includes:
  • (maybe) unit tests that gate commits
  • no public functional testing
Drivers in this group include.
  • baremetal
  • docker          <- I believe due to popularity, Docker is coming back in Kilo.
  • Xen via libvirt
  • LXC via libvirt
NOTE: Drivers in Group C will be deprecated by the Icehouse release. See DeprecationPlan for details.

I think the hypervisor technology is the most matured for VMware's ESXi/vCenter Server.  However, user has to pay licensing fee.  On the other hand, KVM is free with Linux and is becoming more and more "enterprise ready".  Of course if we compare the feature between VMware, KVM the number will favor ESXi.  We have to take into consideration that not all the features are necessary for most enterprise requirement and user will have to decide which hypervisor has the best ROI (Return on Investment).

The Nova Developer Guide has a good description of the sub-components that make up of Nova services: 
Nova consists of seven main components, with the
  1. Cloud Controller component representing the global state and interacting with all other components.
  2. API Server acts as the Web services front end for the cloud controller.
  3. Compute Controller provides compute server resources,
  4. Object Store component provides storage services.
  5. Auth Manager provides authentication and authorization services.
  6. Volume Controller provides fast and permanent block-level storage for the compute servers.
  7. Network Controller provides virtual networks to enable compute servers to interact with each other and with the public network.
Scheduler selects the most suitable compute controller to host an instance.

This diagram shows the inter-relationship of the different Nova components.


image source: http://docs.openstack.org/developer/nova/_images/Novadiagram.png

Please note that Message Queue and back-end database are also vital to the operation of Nova.

For Message Queue, it can be any AMPQ message queue but the more popular ones used by OpenStack are RabbitMQ, Apache Qpid (used by Red Hat OpenStack) and ZeroMQ.

For back-end database, the popular used in OpenStack are sqlite3, MySQL or PostgreSQL.

An article by Ken Pepple describes Nova very well in three sentences along with a diagram:
This complicated, but not overly informative, diagram as it can be summed up in three sentences:
  • End users (DevOps, Developers and even other OpenStack components) talk to nova-api to interface with OpenStack Nova
  • OpenStack Nova daemons exchange info through the queue (actions) and database (information) to carry out API requests
  • OpenStack Glance is basically a completely separate infrastructure which OpenStack Nova interfaces through the Glance API
- See more at: http://ken.pepple.info/openstack/2011/04/22/openstack-nova-architecture/#sthash.I0qjs82T.dpuf

  • End users (DevOps, Developers and even other OpenStack components) talk to nova-api to interface with OpenStack Nova
  • OpenStack Nova daemons exchange info through the queue (actions) and database (information) to carry out API requests
  • OpenStack Glance is basically a completely separate infrastructure which OpenStack Nova interfaces through the Glance API


image source: http://ken.pepple.info/openstack/2011/04/22/openstack-nova-architecture/

Nova-networking is still being use in some use cases.  User can choice between using nova-networking or Neutron.

This is only an brief introduction for OpenStack Nova.  There are a lot more in OpenStack Nova that we can look into and I will share more on this topic in the coming days.



Related Post:
OpenStack Series:Part 1  How do you look at OpenStack?
OpenStack Series:Part 2  What’s new in the Juno Release
OpenStack Series:Part 3  Keystone – Identity Service
OpenStack Series: Part 5  Glance - Image Service
OpenStack Series: Part 6  Cinder - Block Storage Service
OpenStack Series: Part 7  Swift - Object Storage Service
OpenStack Series: Part 8  Neutron - Networking Service
OpenStack Series: Part 9  Horizon - a web based UI Service
OpenStack Series: Part 10 Heat - Orchestration Service
OpenStack Series: Part 11 Ceilometer - Monitoring and Metering Service
OpenStack Series: Part 12 Trove - Database Service
OpenStack Series: Part 13 Docker in OpenStack
OpenStack Series: Part 14 Sahara - Data Processing Service
OpenStack Series: part 15 Messaging and Queuing System in OpenStack
OpenStack Series: Part 16 Ceph in OpenStack
OpenStack Series: Part 17 Congress - Policy Service
OpenStack Series: Part 18 Network Function Virtualization in OpenStack
OpenStack Series: Part 19 Storage Polices for Object Storage
OpenStack Series: Part 20 Group-based Policy for Neutron
Reference:
"HypervisorSupportMatrix." - OpenStack. N.p., n.d. Web. 04 Nov. 2014.
"Nova Concepts and Introduction¶." Nova Concepts and Introduction — Nova 2012.1.2-dev Documentation. N.p., n.d. Web. 04 Nov. 2014.
"Ken Pepple." OpenStack Nova Architecture. N.p., n.d. Web. 04 Nov. 2014.

24 comments:

  1. I am searching for list hypervisor that OpenStack support. I found all answers in this blog regarding OpenStack hypervisor support and all other important information. Thanks for sharing

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Thank you for your thoughts.. its very useful to update my knoeledge DevOps training in chennai

    ReplyDelete
  4. Thanks for your sharing such a useful information. this was really helpful to me

    zhosters
    Education

    ReplyDelete
  5. Great!it is really nice blog information.after a long time i have grow through such kind of ideas.thanks for share your thoughts with us.
    vmware training institutes in bangalore
    vmware training
    vmware Courses in T nagar
    vmware Training Institutes in T nagar

    ReplyDelete
  6. This is a good post. This post give truly quality information. I’m definitely going to look into it. Really very useful tips are provided here. thank you so much. Keep up the good works.
    Best Android Training in Chennai
    Android Course in Chennai with placement
    Android Training Center in Chennai
    Aws Certification in Chennai
    Amazon Web Services Training in Chennai
    AWS Training centers in Chennai

    ReplyDelete
  7. This is really too useful and have more ideas and keep sharing many techniques. Eagerly waiting for your new blog keep doing more.
    Regards,
    Tableau training in Chennai | Tableau Courses Training in Chennai | Tableau training Institute in Chennai

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. I have gone through your blog, it was very much useful for me and because of your blog, and also I gained many unknown information, the way you have clearly explained is really fantastic. Kindly post more like this, Thank You. thanksa lot guys
    Ai & Artificial Intelligence Course in Chennai
    PHP Training in Chennai
    Ethical Hacking Course in Chennai Blue Prism Training in Chennai
    UiPath Training in Chennai

    ReplyDelete
  10. I expect this is an enlightening promote and it is totally helpful and educated. consequently, I would resulting to gratitude for the endeavors you have made recorded as a hard copy this article. thanks! YTD Pro Crack

    ReplyDelete