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.

66 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. Quantum Binary Signals

    Professional trading signals sent to your cell phone every day.

    Start following our trades today & gain up to 270% a day.

    ReplyDelete
  3. BlueHost is definitely the best web-hosting provider with plans for all of your hosting requirements.

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

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

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

    zhosters
    Education

    ReplyDelete
  7. 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
  8. This information is impressive; I am inspired by your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.

    best openstack training in chennai | openstack course fees in chennai | openstack certification in chennai | redhat openstack training in chennai

    ReplyDelete
  9. 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
  10. 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
  11. Very Informative blog...Glad to find your blog...Keep Sharing...
    Testing & Training on Selenium

    ReplyDelete
  12. I think this is an informative post and it is very beneficial and knowledgeable. Therefore, I would like to thank you for the endeavors that you have made in writing this article. All the content is absolutely well-researched.
    Visit Giant Brand Solutions
    wordpress bundle
    wordpress themes and plugins
    premium wordpress themes and plugins
    wp starter pack
    wordpress theme update
    wordpress update plugins
    wordpress website themes
    worpdress theme sites
    wordpressbundle
    wpstarterpack

    ReplyDelete
  13. Pretty article! I found some useful information in your blog....

    so here we provide,

    We provide you with flexible services and complete hybrid network solutions. It can provide your organisation with exceptional data speeds, advanced external security protection, and high-resilience by leveraging the latest SD-WAN and networking technologies to monitor, manage and strengthening your organisation’s existing network devices.

    https://www.quadsel.in/networking/>
    https://twitter.com/quadsel/
    https://www.linkedin.com/company/quadsel-systems-private-limited/
    https://www.facebook.com/quadselsystems/

    #quadsel #network #security #technologies #managedservices #Infrastructure #Networking #OnsiteResources #ServiceDeskSupport #StorageServices #WarrantyAMCServices #datacentersolutions #DataCenterBuild #EWaste #InfraConsolidation #DisasterRecovery #NetworkingServices #ImagingServices #MPS #Consulting #WANOptimisation #enduserservices

    ReplyDelete