Resource management in IaaS cloud platforms made flexible through programmability
Abstract Infrastructure as a Service (IaaS) clouds are becoming a customary way to deploy modern Internet applications. Many cloud management platforms are available for one who wants to build a private or public IaaS cloud ( e.g. , OpenStack, Eucalyptus, OpenNebula). A common design aspect of current platforms regards their black-box-like controlling nature, where cloud administrators have few opportunities to influence how resources are actually managed ( e.g. , virtual machine placement or virtual link path selection). We envision that administrators could benefit from customizations in resource management strategies to achieve environment specific objectives or to enable application oriented resource allocation. In this article, we introduce a new concept of cloud management platform where resource management is made flexible by the addition of programmability to the core of the platform, with a simplified object-oriented API. We present a proof of concept prototype and an evaluation of three resource management programs on an emulated network using Linux virtualization containers and Open vSwitch running the OpenFlow protocol. Results show the feasibility of our approach and how optimization programs were able to achieve different objectives defined by the administrator.