openstack watcher

16
OpenStack Watcher Resource Optimization in OpenStack Cloud July 2016 Divya K Konoor [email protected] IBM OpenStack

Upload: openstackindia

Post on 16-Apr-2017

714 views

Category:

Technology


0 download

TRANSCRIPT

OpenStack WatcherResource Optimization in OpenStack CloudJuly 2016

Divya K Konoor

[email protected]

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

Many Contributors

3

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

Overview of Watcher Decision Engine

11

Watcher Newton Specs

12

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

14

Backup Slides

15

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