Optimization components
The Optimize service (watcher) components work together to analyze metrics, create optimization strategies, and run action plans. The Optimize service architecture enables the service to continuously monitor your infrastructure and recommend improvements to resource utilization.
The Red Hat OpenStack Services on OpenShift (RHOSO) Optimize service (watcher) components are hosted on the Red Hat OpenShift Container Platform (RHOCP) worker nodes that host the RHOSO control plane. The Optimize service consists of the following components:
- AMQP bus
- Handles internal asynchronous communications between the different watcher components.
- Data sources
- Stores the metrics related to the cluster. Prometheus, an open source, time series database is the primary data source for watcher.
- Watcher API
- Implements the REST API provided by watcher to external users through a CLI, a Dashboard (horizon) plugin, and the Python SDK.
- Watcher applier
- Manages the execution of the action plan built by the watcher decision engine. Taskflow is the default workflow engine for watcher.
- Watcher CLI
- Used to interact with the watcher components.
- Watcher dashboard
- Used to interact with the watcher components through the Dashboard (horizon).
- Watcher database
-
Stores all the watcher objects, used for resource optimization in a RHOSO environment:
- Goals
- Strategies
- Audit templates
- Audits
- Action plans
- Efficacy indicators via the action plan API.
- Actions
- Watcher Decision Engine
- Responsible for creating a set of potential optimization Actions to fulfill the goal of an audit.