OpenStack is rapidly emerging as a de-facto standard for provisioning and managing public and private IaaS cloud infrastructures. It has several advantages over proprietary solutions including that it is open source and supports multiple operating environments and hypervisors. With so many vendors backing the effort, OpenStack promises freedom of choice, interoperability, and reduced risk of proprietary lock-in for organizations deploying the technology. Today OpenStack is being regarded as the underlying capability to effectively deploy Cloud and Software Defined Infrastructures. Organizations are embracing OpenStack and are excited about the movement and the collaboration. But users must be careful about deploying OpenStack in enterprise-class environments. Specifically, the current capabilities of the platform don’t live up to the marketing hype hence enterprise IT practitioners must be certain to deploy OpenStack in the right use cases—i.e. limited, non-production environments today. Here’s some of what I’ve learned: The function of the Nova resource scheduler in OpenStack compute is to place VM-based workloads on the hypervisors in the private or public cloud best suited to running the workload. While the scheduler in OpenStack is flexible and extensible, the present implementation has two key limitations:
- It makes decisions based on static information stored in the Nova SQL database
- It schedules resources only once when workloads are initially placed. It has no mechanism to re-visit placement decisions on an ongoing basis.
These limitations inevitably lead to situations where some hypervisors are “too hot” (overloaded because retrieved metrics understate actual resource requirements) while others are “too cold” (with too few VMs being placed on a hypervisor). In the former case, clients may suffer from performance issues and even outages generating an excess of support requests and trouble tickets. In the latter case infrastructure will sit idle, consuming power, cooling and floor-space and increasing delivery costs or eroding profitability. Regardless of whether hypervisors are too hot or too cold, administrators will need to intervene; continually re-balancing workloads – a solution that is time-consuming and error prone and that rapidly becomes impractical as environment scale. While the scheduler will get things “just right” on occasion, given that applications and infrastructure evolve, even those just-right hypervisor placements are almost sure to become problematic over time. These challenges are enough to surface the three bears in any organization:
- Cloud application users will be unhappy about over-subscribed resources that lead to poor performance, outages and even downtime
- Financial and line-of-business managers will be concerned about the cost of other resources sitting idle, translating into poor return on infrastructure investments
- Administrators will be upset about the need to constantly fire-fight issues and deal with the wrath of unhappy internal and external customers
Getting resource scheduling “just right”
What is needed is a resource smart scheduler – one that is able to place workloads more effectively based on actual resource utilization along with other constraints, but that is also able to automatically adjust and optimize resource placement on an ongoing basis in a fashion that is transparent to cloud users and administrators. What schedulers do is analogous to a game of Tetris. In Tetris, the challenge is to optimally place game pieces of different shapes and sizes while minimizing gaps in the two-dimensional game board. The more efficiently the pieces (representing workloads) are placed, the less space (representing resources and time) is required. Fortunately for IBM customers deploying OpenStack clouds, IBM is a multi-dimensional Tetris grand-master. Platform Computing schedulers are production proven, sharing resources in clusters comprised of tens of thousands of cores among hundreds of application workloads in some of the words largest production clusters and clouds.
IBM Platform Resource Scheduler is an OpenStack add-on that brings the enterprise-grade capabilities of the Platform Computing scheduler to private and public OpenStack clouds. As part of IBM Software Defined Environments, Platform Resource Scheduler maintains full compatibility with OpenStack, but extends the OpenStack scheduler via the Nova plug-in architecture to include a richer set of criteria based on which resource selections can be made. It provides a versatile SQL-like query language that allows cloud administrators to match workloads to resources in a more precise fashion, presenting the opportunity to improve hardware utilization and service levels. Even more importantly, IBM Platform Resource Scheduler provides policy-driven resource optimization not just on initial VM placement, but on an ongoing basis. It employs the VM live migration capabilities of underlying hypervisors to seamlessly re-balance VMs to meet specific business objectives without user or administrator intervention. By applying a variety of pre-set policies, IBM Platform Resource Scheduler will work with IBM SmartCloud offerings based on OpenStack to ensure that VM workloads remain “just right” - enough to keep all of our three bears happy.
- Cloud users enjoy a better quality of service by avoiding scenarios where hypervisor resources become over-subscribed
- Cloud managers improve average utilization helping their reduce infrastructure costs or helping them accommodate additional tenants on existing infrastructure
- Busy cloud administrators benefit from automated self-management meaning that they can devote less time to on-going management of OpenStack clouds.
IBM Platform Resource Scheduler is supported across IBM’s portfolio of OpenStack-based cloud management solutions including IBM SmartCloud® Entry and IBM SmartCloud Orchestrator. Learn more about IBM Platform Computing and IBM SmartCloud offerings and learn how to deploy a more cost-efficient OpenStack cloud environment today. Do not forget to leave your comments on Twitter @IBMSDE.
Product Marketing Manager - Platform Symphony
IBM Systems & Technology Group