OpenStack Watcher
-
Upload
openstackindia -
Category
Technology
-
view
715 -
download
0
Transcript of OpenStack Watcher
OpenStack WatcherResource Optimization in OpenStack CloudJuly 2016
Divya K Konoor
IBM
OpenStack
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
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
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
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.
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
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
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.
Admin Control
Nova
Neutron
Cinder
Cloud Infrastructure
Ceilometer
Monasca
Horizon
Watcher Command Line
Watcher
DashboardW
atc
her A
PI
Cluster Data Model
Cluster History
Time series databasesMetrics Collection
OpenS
tack B
us
Watcher decision
engine
Watcher actions
planner
Watcher actions
applier
Watcher
DB
10
You can learn more about Watcher at:
• Wiki : https://wiki.openstack.org/wiki/Watcher
• IRC : #openstack-watcher
• Architecture : https://factory.b-com.com/www/watcher/doc/watcher/architecture.html
• Source code : https://github.com/openstack/watcher
• Mitaka Priorities : http://specs.openstack.org/openstack/watcher-specs/priorities/mitaka-
priorities.html
• Mitaka specs: http://specs.openstack.org/openstack/watcher-specs/specs/mitaka/index.html
• Newton specs: http://specs.openstack.org/openstack/watcher-specs/specs/newton/index.html
• Watcher specs: http://specs.openstack.org/openstack/watcher-specs/
13
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