Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OpenStack Watcher


Published on

by Divya Konoor, IBM

Published in: Technology
  • Be the first to comment

OpenStack Watcher

  1. 1. OpenStack Watcher Resource Optimization in OpenStack Cloud July 2016 Divya K Konoor IBM OpenStack
  2. 2. What’s OpenStack Watcher ? An OpenStack project - Watcher performs resource optimization post VM deployment to rebalance the environment over time. Joined the big tent in May 2016 Leverages capabilities provided by other core services Mission Statement – to provide resource optimization of your cloud – a framework to implement a wide range of optimization goals – pluggable architecture for new optimization algorithms and new data metrics 2
  3. 3. Many Contributors 3
  4. 4. Integration with OpenStack Keystone integration (registration, authentication) CLI - openstackclient (optimize) and watcherclient Horizon UI plugin oslo integration (log, policy, gmr , config etc) bandit integration 4
  5. 5. Key Features for Watcher Watcher provides: • Cloud optimization using VM live migration in case of imbalance detection • Granularity of optimization with multiple goals setting from a set of hosts to an entire cloud • Evolutivity via its flexible plugin structure • « On-the-shelf » optimization strategies based on CPU, RAM and Energy Watcher can run in: • “ADVISE MODE” for auditing before acting • “ACTIVE MODE” for always-on optimization (under development) • “VERBOSE MODE” for detailed optimization decision tracking (under development) 5
  6. 6. Use Cases 1. As a cloud administrator, I want to optimize my cloud by way of live migration of VMs when imbalances are detected. 2. As a cloud administrator, I want to attach an optimization goal to a set of hosts, so that I can have multiple goals within my cloud to meet various workload demands. 3. As a Watcher plugin developer, I want an easy way to feed in new metrics, so that I can make Watcher aware of new data to optimize upon. 6 4. As a cloud administrator, I want to run Watcher in “advise mode”, so that I can see what Watcher would do without it actually altering the state of my cloud. 5. As a cloud administrator, I want to run Watcher in “active” mode, so that my cloud runs in a fully automated mode. 6. As a cloud administrator, I want to see what optimizations Watcher has made, so I know what it’s doing while I’m not watching.
  7. 7. Watcher Workflow and Maturity Profile Apply Plan Monitor Optimize Analyse cost model constraints Virtual machine metrics, energy consumption, resources usage Aggregate flows of events from the infrastructure and take action Profile and predict virtual machine resource usage Find trade-offs between objectives and constraints Schedule actions such that all security, dependency and performance requirements are met. Apply the optimal state where the infrastructure is utilized as efficiently as specified in goals. 6 of 8 objective 3 of 8 1 of 8 Maturity level 7
  8. 8. Service components 8 • watcher-api: • provides REST api • sends audit request to decision-engine • watcher-decision-engine: • runs audit on part of your IaaS • returns an action plan in order to optimize resource • watcher-applier: • applies the action plan. • leverages other services like nova to apply action
  9. 9. Dependencies 9 Identity service (keystone) for request authentication and to locate other OpenStack services Telemetry service (ceilometer) for consuming the resources metrics Compute service (nova) works with the Watcher service and acts as a user-facing API for instance migration.
  10. 10. Admin Control Nova Neutron Cinder Cloud Infrastructure Ceilometer Monasca Horizon Watcher Command Line Watcher Dashboard WatcherAPI Cluster Data Model Cluster History Time series databasesMetrics Collection OpenStackBus Watcher decision engine Watcher actions planner Watcher actions applier Watcher DB 10
  11. 11. Overview of Watcher Decision Engine 11
  12. 12. Watcher Newton Specs 12
  13. 13. You can learn more about Watcher at: • Wiki : • IRC : #openstack-watcher • Architecture : • Source code : • Mitaka Priorities : priorities.html • Mitaka specs: • Newton specs: • Watcher specs: 13
  14. 14. 14
  15. 15. Backup Slides 15
  16. 16. Examples of Goals 16 minimize the energy consumption minimize the number of compute nodes (consolidation) balance the workload among compute nodes minimize the license cost (some software have a licensing model which is based on the number of sockets or cores where the software is deployed) find the most appropriate moment for a planned maintenance on a given group of host (which may be an entire availability zone): power supply replacement, cooling system replacement, hardware modification