StormForge architecture
2 minute read
The following components run in a dedicated namespace (by default, stormforge-system) on your Kubernetes cluster:
- StormForge Agent
- StormForge Applier
- StormForge Forwarder
- StormForge Node Agent (optional)
The following components exist outside of your cluster:
- The StormForge cloud
- The
stormforgeCLI tool (optional) - The StormForge UI (web application)
The StormForge Agent is a Kubernetes Pod with an application written in Go. The Agent discovers and reports on workloads in the namespaces in the cluster. You can restrict access to namespaces by using an allowNamespaces or a denyNamespaces list.
The StormForge Forwarder collects resource usage, performance metrics, and kube-state-metrics data and sends them to the StormForge cloud.
The StormForge Node Agent is an optional DaemonSet that runs on GPU nodes and collects per-workload and device-level GPU metrics, which the Forwarder sends on with the rest of the metrics.
The StormForge machine learning algorithm analyzes workload usage patterns to provide CPU and memory recommendations on the schedule that you define.
The StormForge Applier is installed by default and applies recommendations automatically or on demand. You can also download recommendations as patches to apply as part of a CI/CD workflow.
The StormForge web application (UI) enables you to visualize the projected impact of recommendations, configure and apply recommendations, and view overall cluster and workload health. You can interact with workloads and recommendations by using the optional StormForge CLI.
Related information:
- Namespace allowList and denyList
- Schedule setting
- Applier configuration
- Node Agent configuration
- GPU optimization
- View and apply recommendations
- CLI reference
