This thesis describes the virtualization, storage, and network connection subsystems' development for the CIRCLE cloud manager.
Analyzes the solutions of the prototype system, and introduces new requirements based on operation experience. Examines the technologies selected for use: structure and interface of libvirt virtualization API, the AMQP message transfer protocol, the use of Celery distributed task queue for remote procedure calls, the Open vSwitch virtual switch and OpenFlow, and the qcow2 format used for storing disk images.
Introduces a new architecture, and documents parts of the implemented classes, their relations, and the dynamic behavior of the distributed components in detail.
Designs the life cycle and state transitions of virtual machines and disks. Describes the state monitoring of compute nodes, the system's fault tolerance, and the testability of specific components.
Tests and evaluates the implemented solution, and suggests further development directions.