Abstract: Openstack is an open source software platform for infrastructure provisioning in cloud and hence commonly deployed as Infrastructure as a Service (IaaS). Openstack Architecture has multiple flavours based on usage scenarios. Openstack has specific and coordinated components to manage hardware and storage pool which can be accessed through well define REST API endpoints, command line tool or Web UI. The main challenge in cloud offerings is to handle the growing demands for the infrastructure catering diverse needs. This results in dynamic infrastructure provisioning with efficient and robust scalability design. The main objective of Openstack cloud operator is to hide from user, the failure caused due to the resource limitation and to provision the required infrastructure adhering to Service Level Agreement (SLA). This paper gives in-depth understanding of Openstack design principles like Infrastructure segregation. Host Aggregates and Availability zones to achieve massive scalability in Openstack components and also discuss the architecture design of major Openstack components based on different usage scenarios.

Keywords: IaaS, Openstack nova, Openstack neutron, Host Aggregates, Openstack Heat.