Designing a Software-Defined Datacenter
Permanent address of the item is
Palvelinkeskuksen ohjelmistopohjaisen hallinnan suunnittelu
A datacenter is a complex environment, which consists of network equipment, server hardware and storage systems. Traditionally these are managed by system administrators or infrastructure engineers, either manually or by scripting. Cloud computing has pushed this traditional model more into automation-based solutions. Servers and services are expected to be provisioned as fast as possible, usually within minutes. This thesis examines how a datacenter can be designed to enable fast, reliable and scalable automation. It also has to provide certain high-availability and scalability features, such as virtual machine migration. A multi-vendor environment is expected, but all components must support centralized management. The infrastructure has to provide different APIs (Application Programming Interface) in all components of the datacenter. A datacenter which can be controlled by utilizing these APIs can be called as a softwaredefined datacenter. An implementation of a software-defined datacenter is presented. The datacenter is based on VMware virtualization, Hewlett-Packard server hardware, NetApp storage with Hewlett-Packard and Cisco networking equipment. A virtualization environment was installed and configured by using features that helped mass-configuration. An orchestration tool was installed, which is the key building block for providing flexible automation workflows. An orchestration workflow was designed to provide customizable virtual machine provisioning, DNS configuration, storage allocation and network configuration. Additional ideas for improvement are also introduced. These topics include environment upgrades and security patching, IPv6 deployment and automated configuration management. Configuration management is the next step in infrastructure automation, as it enables operating system configuration automation. It is dependent of the infrastructure automation, such as server provisioning, presented in this thesis. The implementation proves that it is possible to build a software-defined datacenter with multi-vendor hardware. All components, however, must some how support automation or provide an API. The same implementation presented in this thesis could be achieved by different components by different vendors, including hardware and virtualization layer.