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 — runs custom optimization scripts against Azure subscriptions using Azure metrics

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 toggled on or off in strawly-deployment.yml 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
optimizations-azure Azure cost optimization scripts

Deployment model

Strawly is distributed as Docker images. To run it, you only need the deployment repository, which contains:

  • A strawly-deployment.yml config file you edit to choose your modules
  • Scripts that generate a docker-compose.generated.yml from your config
  • Health check and secret generation utilities

All images are pulled from the container registry at deploy time.