Skip to content

Introduction

Strawly is a modular FinOps platform for managing cloud costs. It gives engineering and finance teams a self-hosted, source-first alternative to SaaS cost management tools, with full control over their data.

What Strawly does

Strawly surfaces cost optimization opportunities across your cloud accounts, tracks savings over time, and helps teams act on recommendations without leaving a single interface.

Work in progress capabilities:

  • Azure Optimizations: finds rightsizing, termination and modernization opportunities in Azure, using Azure Monitor metrics and retail prices

Architecture

Strawly uses a core + modules model. You always deploy the core services, then enable optional modules for the features you need.

Core services

These are always deployed:

Service Description
Backend Express.js REST API
Frontend Next.js web UI
PostgreSQL Shared database

Optional modules

Modules are independent microservices that extend Strawly's functionality. Each module:

  • Has its own Docker image published to a container registry
  • Can be turned on or off per instance without touching the core
  • Connects to the same PostgreSQL database as the backend, scoped by a provider field
  • Runs scheduled scans and exposes a REST API
Module Description
Azure Optimizations (optimizations-azure) Finds rightsizing, termination and modernization opportunities in Azure

Deployment model

Strawly is distributed as Docker images. The deployment repository holds everything needed to run them:

  • An installer that sets up Docker, HTTPS and every secret, and starts Strawly
  • The strawly command for status, backups, upgrades, ports, modules and uninstalling
  • A Docker Compose file and .env template for running Strawly without the installer
  • A ready-made app file for TrueNAS
  • versions.json, the list of releases and which module versions work with which core version

The images are downloaded from the Strawly container registry. See Quick Start to choose an install path.