SkillAgentSearch skills...

Optscale

FinOps and cloud cost optimization tool. Supports AWS, Azure, GCP, Alibaba Cloud and Kubernetes.

Install / Use

/learn @hystax/Optscale

README

<p align="center"> ⭐ Drop a star to support OptScale ⭐ </p>

Open-Source FinOps & Cloud Cost Optimization Platform

<p align="center"> <a href="documentation/images/cover-GitHub.png"><img src="documentation/images/FinOps-platform.png" width="40%" align="middle"></a> </p>

<br>OptScale is an open-source FinOps and cloud cost optimization platform that helps engineering and finance teams control and reduce spend across AWS, Microsoft Azure, GCP, Alibaba Cloud, and Kubernetes clusters. It provides deep visibility into infrastructure costs, automated optimization recommendations, and governance tools for R&D and data platforms.

<br> <br> <p align="center"> <a href="https://my.optscale.com/live-demo?emailbypass=true&utm_source=github&utm_medium=readme"><img src="documentation/images/button-live-demo-github.svg" width="25%" align="middle"></a> </p> <br> <div align="center">

PyPI - Python Version License Clouds <img src="documentation/images/cloud icons/aws-cloud.svg" height="20" /> <img src="documentation/images/cloud icons/ms-azure.svg" height="20" /> <img src="documentation/images/cloud icons/google.svg" height="20" /> <img src="documentation/images/cloud icons/alibaba.svg" height="20" /> <img src="documentation/images/cloud icons/k8s.svg" height="20" /> Supported technologies <img src="documentation/images/cloud icons/databricks.svg" height="20" /> <img src="documentation/images/cloud icons/mlflow.svg" height="20" /> <img src="documentation/images/cloud icons/pytorch.svg" height="20" /> <img src="documentation/images/cloud icons/tensorflow.svg" height="20" /> <img src="documentation/images/cloud icons/spark.svg" height="20" /> <img src="documentation/images/cloud icons/kubeflow.svg" height="20" />

Customers Average cloud cost savings

</div> <br> <div> <br> <img src="documentation/images/Max_Kuzkin.png" width="80" align="left" style="border-radius: 50%; margin-right: 15px"> <i> “Hystax OptScale has been a game-changer for our FinOps practice. Its powerful capabilities, flexibility, and seamless integration have empowered us to deliver unprecedented transparency, control, and cost optimization for our clients. We truly value our partnership with Hystax and are excited to innovate further together.” </i> <div align="right"> <i><b>Max Kuzkin</b>, General Manager, SoftwareOne Platform</i> </div> </div> <br> <br>

Overview

OptScale connects to your cloud accounts and Kubernetes clusters, ingests billing and usage data, and analyzes infrastructure consumption to surface actionable insights that eliminate waste and optimize resource usage. It supports multi-cloud environments and integrates with popular data platforms, including Databricks, Amazon S3, and Amazon Redshift.

<br>

Key Features

Cost optimization

<li>Unused and idle resource detection for VMs, volumes, databases, and other cloud resources</li> <li>Rightsizing recommendations for overprovisioned instances and workloads</li> <li>R&D resource power management to automatically stop non-production environments outside working hours</li> <li>Commitment utilization analysis for Reserved Instances, Savings Plans, and Spot Instances</li>

FinOps and governance

<li>FinOps dashboards for engineering, finance, and product teams to track and allocate cloud spend</li> <li>Budgeting and alerting for cost anomalies, spikes, and budget overruns</li> <li>Tagging and ownership visibility to attribute costs to teams, projects, and environments</li> <li>Policy-driven governance and automation controls</li>

Data and AI/ML workloads

<li>Databricks cost analytics with detailed visibility into cluster usage and idle time</li> <li>S3 and object storage optimization (lifecycle, unused buckets, storage class recommendations)</li>

Kubernetes and multi‑cloud

<li>Kubernetes cluster cost allocation per namespace, workload, and label with workload-level visibility</li> <li>Multi-cloud support for AWS, Microsoft Azure, Google Cloud, and Alibaba Cloud from a single OptScale instance</li>

<br><br>Learn more about OptScale features for FinOps and multi-cloud cost management.

<br>You can check OptScale live demo to explore product features on a pre-generated demo organization. <br>Learn more about the Hystax OptScale platform and its capabilities at our website.

Demos

| Databricks connection | Cost and performance recommendations | | :------------------------------------------------------------: | :---------------------------------------------------------------: | | <img src="documentation/images/Databricks-connection.png" width="500"> | <img src="documentation/images/Cost-and-performance-recommendations.png" width="500"> |

| Pools of resources | Shared Environments | | :-------------------------------------------------------------------------: | :--------------------------------------------------------------: | | <img src="documentation/images/Pools.png" width="500"> | <img src="documentation/images/Shared-environments.png" width="500"> |

| Cost geo map | VM Power Schedules | | :-------------------------------------------------------: | :--------------------------------------------------------------: | | <img src="documentation/images/Cost-map.png" width="500"> | <img src="documentation/images/Power-Schedules.png" width="500"> |

| Reserved Instances and Savings Plans | Cost breakdown by owner | | :---------------------------------------------------------: | :---------------------------------------------------------------------: | | <img src="documentation/images/RI-SP-page.png" width="500"> | <img src="documentation/images/Cost-explorer-by-owner.png" width="500"> |

OptScale components and architecture

<div align="center"> <img src="documentation/images/optscale-architecture-services.drawio.png" height="400" /> <br> <br> </div>

Getting started

The minimum hardware requirements for OptScale cluster: CPU: 8+ cores, RAM: 16Gb, SSD: 150+ Gb.

NVMe SSD is recommended.

OS Required: Ubuntu 24.04.

The current installation process should also work on Ubuntu 22.04

Updating old installation

please follow this document to upgrade your existing installation on Ubuntu 20.04.

Installing required packages

Run the following commands:

sudo apt update; sudo apt install python3-pip sshpass git python3-virtualenv python3 python3-venv python3-dev -y

Pulling optscale-deploy scripts

Clone the repository

git clone https://github.com/hystax/optscale.git

Change current directory:

cd optscale/optscale-deploy

Preparing virtual environment

Run the following commands:

virtualenv -p python3 .venv
source .venv/bin/activate
pip install -r requirements.txt

Kubernetes installation

Run the following command: comma after ip address is required

ansible-playbook -e "ansible_ssh_user=<user>" -k -K -i "<ip address>," ansible/k8s-master.yaml

where <user> - actual username; <ip address> - host ip address, ip address should be private address of the machine, you can check it with the command ip a.

Note: do not use 127.0.0.1 or localhost as the hostname. Instead, prefer providing the server's hostname (check with the command hostname) and make sure it is resolveable from host that the Ansible Playbooks ran from (if needed, add to the /etc/hosts files).

If your deployment server is the service-host server, add -e "ansible_connection=local" to the ansible command.

When ansible is completed, re-login, or simply run

source ~/.profile

to add local ~/bin path to the system $PATH variable

Note: you can build local images running

cd .. && ./build.sh --use-nerdctl

Images will build with version(tag) = local

Creating user overlay

Edit file with overlay - optscale-deploy/overlay/user_template.yml; see comments in overlay file for guidance.

Pay attention to "service_credentials" parameter, as OptScale uses it to retrieve cloud pricing data for recommendations calculation.

Cluster installation

Run the following command to start cluster from the required version:

./runkube.py --with-elk  -o overlay/user_template.yml -- <deployment name> <version>

or use --no-pull to start cluster from local images:

./runkube.py --with-elk --no-pull -o overlay/user_template.yml -- <deployment name> local

If you want to use socket:

./runkube.py --use-socket --with-elk  -o overlay/user_template.yml -- <deployment name> <version>

If you have insecure registry (with self-signed certificate) you can use --insecure flag with runkube.py:

./runkube.py --insecure --with-elk  -o overlay/user_template.yml -- <deployment name> <version>

deployment name must follow the RFC 1123: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/

version:

  • Use hystax/optscale git tag (eg: latest) if you use optscale public version.
  • Use your
View on GitHub
GitHub Stars2.0k
CategoryDevelopment
Updated21h ago
Forks307

Languages

Python

Security Score

100/100

Audited on Mar 28, 2026

No findings