Harnessing the compute resources of the cloud to optimize efficiency and costs of batch and service tasks.
Spare Cores, a Python-based open-source ecosystem, provides a comprehensive and standardized inventory, along with performance evaluations of available compute resources across public cloud and server providers.
Spare Cores is an ecosystem, including Python packages, SDKs in other programming languages, CLI tools, public APIs, and web applications, providing:
- A standardized server type listing of several cloud and other server providers. It includes data on compute/memory/storage/graphical processing units etc, along with benchmark scenarios and related performance/cores/cost metrics.
- An easy-to-search web application to compare listings, along with detailed product pages for each server type, including historical on-demand and spot prices, and lists of similar machines.
- HTTP API and SDKs to search programmatically.
- A generalized launcher CLI tool to start any instance type at the supported vendors.
- Coming soon: SaaS for seamlessly launching batch jobs and services on any supported instance type at the Spare Cores cloud environment without any vendor engagement.
Using Spare Cores to find the optimal instance type among many supported vendors might be useful for the below use-cases (among many other):
- Batch jobs, for example, in Data Science or ETL, often have unusual compute requirements that may not be a good fit for Kubernetes. While binpacking potentially works great for microservices, batch jobs have varying memory and compute needs, as well as long run times. This makes them a better fit to run on dedicated (spot) instances.
- Digital artists rendering videos using GPUs.
- One-off scripts requiring a lot of memory (e.g. ad-hoc analysis you cannot run on your laptop).
- Classic CI/CD tasks, like compiling and testing software, are also common use-cases. This includes scenarios such as utilizing expensive GitHub Action runners on private repositories.
- Training ML/AI models.
Spare Cores is still in the early development phase, initiated in Q3 of 2023 and gaining momentum in 2024, particularly due to the support from NGI Search funding. Below, you can find the status and brief descriptions of all the existing and planned components:
- Attila Nagy (@bra-fsn): Infrastructure and Python veteran.
- Balazs Hodobay (@palabola): Guardian of the front-end and Node.js tools.
- Gergely Daroczi (@daroczig): Hack of all trades, master of
NaN
.
Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or European Commission. Neither the European Union nor the granting authority can be held responsible for them. Funded within the framework of the NGI Search project under grant agreement No 101069364.