Skip to content

cloudfit-io

Cloud-agnostic machine type recommender for computational workloads.

Like a load balancer for cloud instances that recommends the best machine type for your workload across AWS, GCP, and Azure, and stays current as providers deprecate and release new types.

Built with bioinformatics and batch workflow orchestration as the primary use case, but designed to be domain-agnostic.

New here? Try the one-click demo, or read the launch post: Why I built cloudfit for the gap in existing free tooling (Compute Optimizer, Recommender, Advisor) and what cloudfit does about it.


Libraries

Package Description Status
cloudfit-core Scoring engine · workload profiles · hard floor filters · region-aware · fit-based scoring (v0.3+) PyPI
cloudfit-provider-gcp GCP Compute Engine machine type fetcher (multi-region capable) PyPI
cloudfit-provider-aws AWS EC2 instance fetcher planning phase
cloudfit-api REST API. /recommend · /instances · /providers · /diff. Multi-region snapshot bundled. PyPI · live demo ↗
cloudfit-ui One-click Gradio demo over the scoring engine. Workload profile in, ranked instances out. live demo ↗

Architecture

flowchart TD
    GCP["GCP Compute Engine<br/>+ Cloud Billing Catalog"]:::live
    AWSAZ["AWS EC2 · Azure VMs"]:::planned

    PGCP["cloudfit-provider-gcp<br/>fetch → normalize → price"]:::live
    PAWS["cloudfit-provider-aws"]:::planned

    SNAP[("MachineType data<br/>bundled JSON snapshot, multi-region<br/>Postgres registry planned")]:::live

    CORE["cloudfit-core · scoring engine<br/>hard-floor filter → weighted score<br/>cost · performance · availability"]:::live

    API["cloudfit-api · FastAPI service<br/>/recommend · /instances · /providers · /diff"]:::live
    UI["cloudfit-ui · Gradio demo<br/>form input · ranked table"]:::live

    DOCS["Swagger UI · /docs"]:::live
    HTTP["curl / HTTP clients"]:::live
    SDK["Python · import cloudfit"]:::live
    BROWSER["Browser · one-click demo"]:::live

    GCP --> PGCP --> SNAP
    AWSAZ -.-> PAWS -.-> SNAP
    SNAP --> API
    SNAP --> UI
    API -->|ranks with| CORE
    UI -->|ranks with| CORE
    API --> DOCS
    API --> HTTP
    UI --> BROWSER
    CORE --> SDK

    classDef live fill:#10261d,stroke:#4dff91,color:#e8eaf0;
    classDef planned fill:#191919,stroke:#777,color:#aaa,stroke-dasharray:4 4;
Loading

Solid green = shipped · dashed grey = planned.

Quick example

from cloudfit import WorkloadProfile, MachineType, rank

profile = WorkloadProfile(
    vcpu=60,
    ram_gb=224,
    archetype="io",                # io | cpu | mem | gpu | burst
    optimize_for="balanced",       # cost | performance | availability | balanced
    region="us-central1",          # optional region hard floor (v0.2+)
)

# Candidate instances come from a cloudfit-provider-* package
# (e.g. `pip install cloudfit-provider-gcp`), or supply your own list:
candidates = [
    MachineType(id="t2d-standard-60",      provider="gcp", vcpu=60, ram_gb=240, price_hr=2.31, region="us-central1"),
    MachineType(id="c3d-standard-60-lssd", provider="gcp", vcpu=60, ram_gb=240, price_hr=3.39, region="us-central1"),
]

best = rank(profile, candidates)[0]
print(f"{best.instance.provider} {best.instance.id}  ${best.instance.price_hr}/hr  score: {best.score}")
# → gcp t2d-standard-60  $2.31/hr  score: 0.9782

Related projects

  • samplesheet-parser: Format-agnostic Illumina SampleSheet parser (BCLConvert V2 + IEM V1)
  • clinops: Clinical ML data quality library

Author: Chaitanya Krishna Kasaraneni  ·  Google Scholar  ·  ORCID 0000-0001-5792-1095

Popular repositories Loading

  1. .github .github Public

  2. cloudfit-core cloudfit-core Public

    Cloud-agnostic machine type scoring engine for bioinformatics workloads

    Python

  3. cloudfit-io.github.io cloudfit-io.github.io Public

    HTML

  4. cloudfit-provider-gcp cloudfit-provider-gcp Public

    GCP Compute Engine provider plugin for cloudfit-core to fetche machine types, pricing, and availability from the GCP API

    Python

  5. cloudfit-api cloudfit-api Public

    REST API for cloudfit — /recommend, /instances, /providers, /diff endpoints. FastAPI service deployable on Cloud Run.

    Python

  6. cloudfit-provider-aws cloudfit-provider-aws Public

    AWS EC2 provider for cloudfit-core. Planned, public tracker for the AWS provider milestone

Repositories

Showing 7 of 7 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…