Skip to main content

Spare Cores Navigator

The Spare Cores Navigator is a Python-based open-source framework and managed service offering the most detailed and transparent dataset on cloud servers, managed databases, storage and a growing number of other cloud resources.

We continuously discover what each cloud vendor offers, such as the available server types in every region, and keep their prices fresh, checking spot prices multiple times per hour. We then launch thousands of these servers to run low-level hardware inspection and a diverse set of benchmarks, collecting reliable and reproducible performance data, and combine the results with the prices into cost-efficiency metrics. Everything is published as Python packages, public datasets, and a public API, making it easy to search, analyze, and integrate.

The Navigator is not just about data. It's a full platform: open-source code, interactive data visualizations at sparecores.com, and managed infrastructure. For teams that need SLA-backed support or custom features, enterprise-grade services are available too. See the Navigator page on sparecores.com for the current coverage and what the community is saying about it.

Components​

The Navigator consists of several well-scoped, interconnected components:

ComponentSource licenseReferencesDescription
RunnerMPL 2.0 Pulumi wrapper to launch instances across clouds.
InspectorMPL 2.0 Python tools to inspect and benchmark cloud servers.
Inspector DataCC BY-SA 4.0Raw hardware information and benchmark results.
CrawlerMPL 2.0 Cloud vendor API and Inspector Data integrations.
Crawler DataCC BY-SA 4.0JSON dumps of collected cloud resource information.
DatabaseBSL 1.1 SQLite database dump of current cloud resource information.
Data WrapperMPL 2.0 Python package for easy integration of the Database.
HTTP APIMPL 2.0 Programmatic access to the Database.
Web UIMPL 2.0 Web frontend for human access to the Database.

To make the Spare Cores Navigator available to the community, our software components are licensed under MPL 2.0 and all raw collected data under CC BY-SA 4.0. For deep production integrations and enterprise reliability, we offer commercial API and database access, expert support, and consulting services.

How it works​

  1. The Crawler pulls the products (SKUs) and prices of the supported cloud vendors from their APIs, standardizes them, and publishes them as JSON dumps and as an SQLite database. See the Crawler docs, and the Schemas section for the structure of the database.
  2. The Inspector selects the servers to be inspected based on the database, starts them with the Runner, and runs hardware discovery and benchmark tasks on each, collecting the raw results. See the Inspector section for the tasks.
  3. The Crawler parses the inspection results into the database, so that the hardware details and benchmark scores are stored along with the prices.
  4. The database is available as a file download, via the Data Wrapper Python package, via the HTTP API (see the API docs), and on the Web UI at sparecores.com.

Legend:

  • GHA (GitHub Actions): GitHub's CI/CD
  • ECS (Elastic Container Service): AWS's container orchestration service
  • ECR (Elastic Container Registry): AWS's Docker container registry
  • S3 (Simple Storage Service): AWS's object storage service
  • ALB (Application Load Balancer): AWS's load balancer
  • Redis: In-memory data store used for caching and session management
  • Parameter Store (AWS Systems Manager Parameter Store): AWS's secure configuration and secrets management service
  • ZITADEL: Open-source identity and access management (IAM) platform
  • SKU (Stock Keeping Unit): Product identifiers from cloud vendors