Abstract [eng] |
This project aims at systems that operate large pools of physical computing resources in datacenters. It also focuses on systems that automate OpenStack cloud computing operating system initial deployment. In analysis section we compare similar systems, analyze their strengths and weaknesses so we can define main functionalities for the new system that could manage datacenters, install and operate OpenStack so it could cover end-to-end installation. In the following sections we investigate what steps are usually taken to find physical servers in the network, manually or semi-automatically install operating systems to servers, establish remote control. These flows are then documented and activity diagrams created. Using this knowledge we can then proceed to systems engineering. Since OpenStack components are written in Python – this high level programming language was also chosen as a main tool for system development. There are numerous reasons to choose this language – from OpenStack python clients, HP IPMI python client to other libraries that were used to speed up system development (such as NMAP client for network scanning). Django was chosen as a core framework to provide structure for the applications. Since distributed application architecture was chosen – two systems were created: 1) SiteManager for local datacenter deployment which can find and install operating systems to servers and then carry on with OpenStack installation; 2) CloudMap for centralized automated information gathering which can aggregate data from multiple SiteManagers with their respective OpenStack environments. System integration tests took place in several datacenters across the globe and results can be seen in one of the last sections. There are also some suggestions for further development such as deployment with Docker containers, configuration management using tools like Chef, Ansible and cloud capacity forecasting. |