In my last article Why Use OpenStack , I had given a very basic introduction to OpenStack and how to get started with it. In this article , I will be providing basic information about various OpenStack components and its architecture (for IceHouse Openstack release).
OpenStack has a modular architecture having various modules that work in an integrated manner to provider cloud services to users. These components may all be present on one machine or may reside on different modules thus providing loose coupling among them.
OpenStack deployment has following components :
Nova (compute) : the controller component in OpenStack and is responsible for managing compute resources like virtual machine instances, hosts, firewalls etc .It looks up from other components for spawning virtual machine instances and manages the life cycle of instances hosted in OpenStack.
Neutron/Quantum (network) : the networking component of OpenStack that is responsible for managing networks and IP addresses of virtual machines. The name of networking component was Quantum till Grizzly release and thereafter it was named Neutron. It provides features like creating networks, subnets, public IP pools .
Cinder (block storage) : this component provides mechanism for horizontally scaling disk capacity of instances and makes use of Logical Volume Manager for catering to such needs of additional volume requirements of virtual machines.
Horizon (dashboard) : the graphical user interface provided to OpenStack administartors and end users to manage the resources easily through a thin client browser. It also provides the resource utilization charts keeping the users well informed of their capacity and resource usage. It provides multilingual support for about 16 languages.
Keystone (identity) : the security component of OpensStack is known as Keystone and is responsible for validating each API request received. All components of OpenStack use it to authenticate and authorize request coming to them by means of an authorization token provided by Keystone. The token generated by Keystone also contains service catalog which contains API endpoints information for all components.
Glance (image) : virtual machine instances are spawned over operating system images like rhel , windows etc. Glance is the component that allows users to upload new images in some specified formats or create snapshots from existing instances.
Swift (object storage) : it is the data repository for OpenStack and is responsible for managing storage capabilities .
Cielometer (telemetry) : it is metering system of Openstack for managing customer billings and charge back purposes.
Trove (dbaas) : it is the newest addition to family of OpenStack components and provides database as a service to users.
Heat (orchestration) : automated scaling of instances in OpenStack is achieved via Heat component.
For more information on OpenStack , please visit http://www.openstack.org/