Saturday, November 1, 2014

OpenStack Series: Part 1 - How do you look at OpenStack?



OpenStack is an open source cloud computing platform that is made up of different services.  Each service performs a specific function and is inter-related.


I am always amazed at how human is created.  Each person is unique and depending on the brain, we look at things different.  Or we memorize things differently also.

To look at OpenStack, some people may prefer this in tabular format:

The following table describes the OpenStack services that make up the OpenStack architecture:

Table 1.1. OpenStack services
Service Project name Description
Dashboard Horizon Provides a web-based self-service portal to interact with underlying OpenStack services, such as launching an instance, assigning IP addresses and configuring access controls.
Compute Nova Manages the lifecycle of compute instances in an OpenStack environment. Responsibilities include spawning, scheduling and decommissioning of virtual machines on demand.
Networking Neutron Enables Network-Connectivity-as-a-Service for other OpenStack services, such as OpenStack Compute. Provides an API for users to define networks and the attachments into them. Has a pluggable architecture that supports many popular networking vendors and technologies.
Storage
Object Storage Swift Stores and retrieves arbitrary unstructured data objects via a RESTful, HTTP based API. It is highly fault tolerant with its data replication and scale out architecture. Its implementation is not like a file server with mountable directories.
Block Storage Cinder Provides persistent block storage to running instances. Its pluggable driver architecture facilitates the creation and management of block storage devices.
Shared services
Identity service Keystone Provides an authentication and authorization service for other OpenStack services. Provides a catalog of endpoints for all OpenStack services.
Image Service Glance Stores and retrieves virtual machine disk images. OpenStack Compute makes use of this during instance provisioning.
Telemetry Ceilometer Monitors and meters the OpenStack cloud for billing, benchmarking, scalability, and statistical purposes.
Higher-level services
Orchestration Heat Orchestrates multiple composite cloud applications by using either the native HOT template format or the AWS CloudFormation template format, through both an OpenStack-native REST API and a CloudFormation-compatible Query API.
Database Service Trove Provides scalable and reliable Cloud Database-as-a-Service functionality for both relational and non-relational database engines.

This table shows all the components of OpenStack as of the Havana release.  It gives a good introduction of the components and what each component does.

Anyone who looked into OpenStack will have seen this diagram:



This is a diagram that shows the components of OpenStack as well as how they relate to each other.  While this picture truly represents OpenStack it is very overwhelming.  If I show you this diagram and ask you if you want to deploy OpenStack, I think you answer will be NO. This diagram goes more and more complex as more and more projects are included in OpenStack. 

I happened to stumble upon an article by Sean Dague: “OpenStack as Layers”.  I am a software developer for networking equipment.  I am used to the 7 layers of the OSI model that depicts different aspects of a network.  Sean did a good job in breaking down all the components of OpenStack into a finer logical layer. 

Image source: https://dague.net/wp-content/uploads/2014/08/screenshot_184.png

In his model OpenStack has 4 layers:
  • Layer 1 - Basic Compute Infrastructure
  • Layer 2 - Extended Infrastructure
  • Layer 3 - Optional Enhancements
  • Layer 4 - Consumption Services

Grouping the OpenStack components into logical layers does help me to understand OpenStack more.

Recently I am digging into OpenStack in terms of deployment as well as reading the Python source code to see how it really works.   For prove of concept or playing around in the lab or even for development there is DevStack on the Ubuntu platform and there is PackStack for the CentOS platform.  There is an all-in-one option where we can deploy OpenStack on a single Linux machine.  While I am looking into OpenStack Neutron, I came across this diagram



It groups the OpenStack components/services into:
  • Basic Services
  • Optional Services
  • Supporting Services
Each node has it’s specific function which are:
  • Controller
  • Network
  • Compute
We can see that Neutron Agents runs in the Network node while the ML2 Plug-in runs on the Controller node, Network nod as well as the Compute Node.  Layer-2 Agent (OVS) runs on the Network node and the Compute node.

For the Telemetry Service, there is the Ceilometer Core running on the Controller node and the Ceilometer Agent running on the Compute node.

While this diagram is to illustrate OpenStack Neutron, I find that this is the best way to look at OpenStack.  Each node represents a function namely controller, Network and compute with all the OpenStack components clearly shown.   With this I can see clearly how each OpenStack component is related to each other or group together by its function.  For me the first diagram in this blog is too complex, the second one is a little bit abstract and this third diagram is just right. Of course this is not the only way to deploy OpenStack but this give a clear picture (at least for me).

Which view is best for you?

Related Post:

Reference:
"Chapter 1. Get Started with OpenStack." Document ATOM. N.p., n.d. Web. 26 Oct. 2014.

45 comments:

  1. openstack disaster recovery is actual an umbrella topic that describes which is needed to be done for security and application.

    ReplyDelete
  2. Well written post. I appreciate your guidance for sharing about OpenStack. I really need to know about it. Great work!

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

    ReplyDelete
  4. I enjoy what you guys are usually up too. This sort of clever work and coverage! Keep up the wonderful works guys I’ve added you guys to my blog roll.
    Hadoop Training in Chennai

    ReplyDelete
  5. Thanks for one marvelous posting! I enjoyed reading it; you are a great author. I will make sure to bookmark your blog and may come back someday. I want to encourage that you continue your great posts, have a nice weekend!
    Hadoop Training in Bangalore

    ReplyDelete
  6. Thank you for an additional great post. Exactly where else could anybody get that kind of facts in this kind of a ideal way of writing? I have a presentation next week, and I’m around the appear for this kind of data.
    python training in tambaram
    python training in annanagar
    python training in OMR

    ReplyDelete
  7. After seeing your article I want to say that the presentation is very good and also a well-written article with some very good information which is very useful for the readers....thanks for sharing it and do share more posts like this.

    angularjs Training in chennai
    angularjs Training in chennai

    angularjs-Training in tambaram

    angularjs-Training in sholinganallur

    angularjs-Training in velachery

    ReplyDelete
  8. Well written post. I appreciate your guidance for sharing about OpenStack. I really need to know about it. Great work!

    ReplyDelete
  9. Attend The Python training in bangalore From ExcelR. Practical Python training in bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Python training in bangalore.
    python training in bangalore

    ReplyDelete
  10. For Hadoop Training in Bangalore Visit - Hadoop Training in Bangalore

    ReplyDelete

  11. I'm very happy to search out this information processing system. I would like to thank you for this fantastic read!!
    Openstack Training
    Openstack Training Online
    Openstack Training in Hyderabad

    ReplyDelete
  12. I feel very grateful that I read this. It is very helpful and very informative and I really learned a lot from it.
    artificial intelligence course in patna

    ReplyDelete
  13. I feel very grateful that I read this. It is very helpful and very informative and I really learned a lot from it.
    artificial intelligence course in patna

    ReplyDelete
  14. I am impressed by the information that you have on this blog. It shows how well you understand this subject.
    data science course in indore

    ReplyDelete

  15. After reading your article I was amazed. I know that you explain it very well. And I hope that other readers will also experience how I feel after reading your article.
    data science course in bhilai

    ReplyDelete
  16. I have express a few of the articles on your website now, and I really like your style of blogging. I added it to my favorite’s blog site list and will be checking back soon…
    data science course in kochi

    ReplyDelete
  17. Actually I read it yesterday but I had some thoughts about it and today I wanted to read it again because it is very well written.
    arttificial intelligence course in aurangabad

    ReplyDelete
  18. Actually I read it yesterday but I had some thoughts about it and today I wanted to read it again because it is very well written.
    Data Science Training in Bangalore

    ReplyDelete
  19. Great blog found to be well written in a simple manner that everyone will understand and gain the enough knowledge from your blog being more informative is an added advantage for the users who are going through it. Once again nice blog keep it up.

    360DigiTMG Cloud Computing Course

    ReplyDelete
  20. You finished certain solid focuses there. I did a pursuit regarding the matter and discovered almost all people will concur with your blog.
    data science course noida

    ReplyDelete
  21. Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work! contact us

    ReplyDelete
  22. Thanks for posting this info. I just want to let you know that I just check out your site and I find it very interesting and informative. I can't wait to read lots of your posts.
    business analytics course

    ReplyDelete
  23. ExcelR provides Data Science course. It is a great platform for those who want to learn and become a Data Science Courses. Students are tutored by professionals who have a degree in a particular topic. It is a great opportunity to learn and grow.

    Data Science courses
    data science course in pune
    data scientist course in pune with placement
    data scientist course in pune

    ReplyDelete
  24. This post is so interactive and informative.keep update more information...
    hadoop training in velachery
    Big data training in chennai

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

    ReplyDelete
  26. This post is so interactive and informative.keep update more information...
    AWS Training in Tambaram
    AWS Training in Chennai

    ReplyDelete