Abstract
A fundamental component of any large-scale computer system is infrastructure. Cloud computing has completely changed the way infrastructure is viewed, offering more simplicity, flexibility, and monetary benefits compared to a traditional view of infrastructure. At the core of this transformation is the notion of virtualization of infrastructure as a whole, with providers offering infrastructure-as-a-service (IaaS) to consumers. However, just offering IaaS alone is insufficient for software defined environments (SDEs). This paper examines infrastructure in the context of SDE and discusses what we believe are some of the fundamental characteristics required of such infrastructure - called software defined infrastructure (SDI) - and how it fits into the larger landscape of cloud computing environments and SDEs. Various components of SDI are discussed, including core intelligence, monitoring pieces, and management, in addition to a brief discussion on silos such as compute, network and storage. Consumer and provider points of view are also presented along with infrastructure-level service-level agreements (SLAs). Also presented are the design principles and high-level architectural design of the infrastructure intelligence controller, which constantly transforms infrastructure to honor consumer requirements (SLAs) amidst provider constraints (costs). We believe that the insights presented in this paper can be used for better design of SDE architectures and of data-center systems software in general. © 2014 IBM.