I have recently learned about the role and architecture of OpenStack. I want to further study the components of OpenStack and read and learn the source code. would you like to get your suggestions?

Source: Internet
Author: User
Php Chinese network (www.php.cn) provides the most comprehensive basic tutorial on programming technology, introducing HTML, CSS, Javascript, Python, Java, Ruby, C, PHP, basic knowledge of MySQL and other programming languages. At the same time, this site also provides a large number of online instances, through which you can better learn programming... Reply content: 1. language advice: learn python well.
OpenStack is a pure python project, so you must be familiar with python syntax, debugging, and calling. For example:
  • Pdb: Basic usage, breakpoint, call stack
  • Log: Call stack printing, function input parameter printing, and underlying command printing
  • Involved python open-source frameworks and components: such as SQLAlchemy, Django
  • Object-oriented: clear concepts such as abstraction, inheritance, polymorphism, and combination
  • Syntax
  • Encoding Rules: read PEP8.
2. Suggestions for quick learning about OpenStack:
  • Framework, ask google:
    • In google image, you can screen OpenStack images and take the best picture for careful research to find out the roles and communication mechanisms of each component. (Google openstack architecture)
  • Northbound: repeat the official manual and remember eachComponents.
  • Southbound: clarify the virtual machine lifecycle
    • The underlying functions, how to construct xml files, and how to connect libvirt
    • Differences between KVM and XEN
  • Components: abandon devstack and manually create an OpenStack to clarify the purpose of each component.
    • Understand the relationship and interaction methods of each component-components/modules such as RabbitMQ and scheduler
    • Find out the interfaces provided by each component. Generally, the interfaces are stable and will not change after they are defined (for example, * _ client)
  • Technology:
    • Find out RESTful api, wsgi, eventlet, and other technical points
    • Take a look at interesting implementations, such as L2 population.
  • Industry: look at the contribution of each component, which company has mastered which one. For example, what role does nicira/cisco play in it.
3, It is easy to understand OpenStack, but it is difficult to be proficient.
We recommend that you start from a certain point of a component, for example:
  • Virtual machine lifecycle
  • Call of nova-compute to underlying libvirt
  • Scheduling mechanism of nova-scheduler and so on
I hope you can persevere.

Update:
Official architecture: http://docs.openstack.org/trunk/openstack-compute/admin/content/conceptual-architecture.html
Reading one thing usually requires gradual development.
  • First, understand its overall architecture and find out why it should be used;
  • Then, you can understand the components in the architecture, the main functions provided by the components, and the interaction between the components;
  • Then, go deep into a module in the component, analyze the purpose of the module, and understand the theory involved in the module;
  • The last step is to look at the code in the module, analyze the code flow, interaction trend, verify the previous analysis, and draw a specific conclusion.
After completing the four steps, you can basically counterfeit the author of the corresponding software.
I wish you a happy holiday.

Update:
Modify the answer structure and delete outdated content. After having some knowledge of Linux, Python, and IaaS, you can follow the UnitedStack blog to learn about the dynamics and best practices of this industry. cloud blog | UnitedStack has cloud See what Core says: An Ideal OpenStack Developer

The following is Gossip:
Think twice about purchasing Chinese books related to cloud computing.
Let's look at the topics related to OpenStack on Weibo.
Reliable teams are hard to find and exercise caution when entering the trap. Reading the new book to be released in June
OpenStack Design and implementation of cloud computing OpenStack [abstract: a Review] If there are conditions, you can try to build an OpenStack environment to familiarize yourself with the overall architecture.
Then, you can learn from key components such as nova, neutron, and cinder. Internships are the key, and projects are the foundation.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.