CloudBroker in Practice: Scope, Stack, and Getting It Running #

Scope, limits, and how to run it.

We've covered the problem, the data, and the interface. This piece ties it up: scope (multiple providers, ingestion, recommendation API, optional analytics), what CloudBroker does not do (no provisioning, no Kubernetes, no real-time spot streaming), and how to get from clone to first recommendation.

CloudBroker full stack: PostgreSQL, ingestion, recommendation API.

Scope recap

CloudBroker ingests instance types and hourly prices from multiple providers into one PostgreSQL database, normalized to EUR. It exposes a recommendation API: send constraints, get a ranked list. Optional price analytics endpoints (changes, trends) operate on the stored history. The API uses the last ingested snapshot — you control how often ingestion runs.

Out of scope (by design)

  • No VM lifecycle — CloudBroker does not create or delete VMs.
  • No cluster awareness — it doesn't know about Kubernetes or pods.
  • Self-hosted — there is no SaaS offering in this project; you run it, you own the data and credentials.
  • No non-compute products — focus is compute instance pricing for recommendation.

How to run it

  1. Clone the repo.
  2. Copy .env.example to .env and set any required vars (e.g. DB URL, optional API key).
  3. Start the stack: make up (API + PostgreSQL).
  4. Migrate: make migrate.
  5. Ingest for the providers you care about: make ingest-hetzner, make ingest-gcp, or make ingest-all. For TCO: make ingest-egress or make ingest-all-costs.

The API is available at http://localhost:8000; interactive docs at /docs. Any client can call POST /api/recommendations. For a Kubernetes controller that uses this API to provision burst nodes, see Cloudburst Autoscaler (separate project and docs).

Ready to run it?

Follow the step-by-step quickstart to get CloudBroker up in 5 minutes.

Go to Quickstart →

Closing

CloudBroker is the place you ask "what's cheapest?" What you do with the answer — script, dashboard, or autoscaler — is up to you.

Done See working examples Request and response samples, TCO, other endpoints.

← All articles