Recently in learning OpenStack, we have learned about its role and architecture. Want to learn more about OpenStack components, for source code reading and learning, want to get everyone's advice?

Source: Internet
Author: User

Reply content:

1, language advice: Learn python.
OpenStack is a pure Python project, so you have to be familiar with the syntax, debugging, and invocation of Python. Like what:
    • PDB: Base use, breakpoint, call stack
    • LOG: Call stack printing, function import parameter printing, bottom command printing
    • Python open source frameworks, components: such as SQLAlchemy, Django
    • Object-oriented: Clear abstraction, inheritance, polymorphism, composition and other concepts
    • Grammar: More of a dictionary of meanings, the idea of decoupling everywhere, etc.
    • Coding rules: Read PEP8.
2. Tips for Learning OpenStack quickly:
    • Frame, ask Google:
      • In Google image, the OpenStack image is filtered over, and the best of the picture is carefully researched to find out the roles and communication mechanisms of each component. (Google OpenStack architecture map )
    • North: Go through the Official handbook and remember the functions and interfaces of each component .
    • South: Figuring out the life cycle of a virtual machine
      • And the underlying functions that are primarily involved, how XML files are structured, and how libvirt converge
      • Different points of adaptation to KVM and Xen
    • Component: Discard Devstack, manually mount OpenStack yourself to clarify the purpose of each component
      • Understand the relationships and interactions of individual components--RABBITMQ, scheduler and other components/modules
      • Figure out the interfaces provided by the various components, the general interface is stable, the definition is not changed (such as *_client)
    • Technology:
      • Find out the technical points of restful APIs, WSGI, Eventlet, etc.
      • Take a look at the interesting implementations, such as L2 population.
    • Industry: Look at the contribution of each component, which company has mastered which piece. Like what role Nicira/cisco in it.
3. It 's easy to read OpenStack, but mastery is hard.
It is recommended to start at some point in a component, such as:
    • The life cycle of a virtual machine
    • Nova-compute calls to the underlying Libvirt
    • Nova-scheduler scheduling mechanism and so on.
I hope you will persevere.

2013/6/11 Update:
Official structure diagram: / http k/openstack-compute/admin/content/conceptual-architecture.html
Look at a thing, generally have to be gradual.
    • First understand its overall structure, and figure out why to use such a framework;
    • Then understand the various components in the architecture, the main functions provided by the component and the interaction between the various components;
    • Then go deep into a module in the component, analyze the use of the module, understand the theory involved in the module;
    • The last is to look at the code in the module, analysis of the code flow, interaction, verification before the analysis, get concrete conclusions.
After four steps, you can basically impersonate the author of the corresponding software.
I wish to see you all happy holidays.

2014/3/17 Update:
Modify the answer structure to delete obsolete content. The previous summary is more detailed, after a certain understanding of Linux, Python and IaaS, you can follow the Unitedstack blog to understand the industry dynamics and best practices have cloud Blog | Unitedstack with Clouds See what the core says: an Ideal OpenStack Developer

Here's the gossip:
Think twice about buying Chinese books related to cloud computing.
Look less at the topics on Weibo and OpenStack.
A reliable team is hard to find and cautious to dig into. Look at the new book to be published in June
"OpenStack design and implementation of cloud computing OpenStack", "Summary book review Probation" If you have the conditions, you can try to set up an OpenStack environment and get familiar with the overall architecture.
Then learn specifically about key components such as Nova, Neutron, cinder, and more. Being able to practice is the key, there are projects that are the foundation
  • Related Article

    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: 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.