Skip to main content
← All posts·
AI Infrastructure

FINOS 5-Spot Scheduler: Time-Based Kubernetes Scheduling for Financial Services Infrastructure

Most Kubernetes schedulers are reactive — they scale when load hits. 5-Spot Scheduler is proactive: it provisions and de-provisions physical machines on a time schedule. Born at RBC, now a FINOS open-source project, it's the missing piece for market-hours infrastructure in regulated finance.

Luca Berton14 min read

Here's a pattern every financial services infrastructure team recognises: trading systems need full compute capacity from 07:00 to 18:00 CET. Risk analytics run from 18:00 to 22:00. Overnight batch processing runs from 01:00 to 05:00. Between 05:00 and 07:00, and on weekends, most of that compute sits idle — burning electricity, depreciating hardware, and costing money for zero business value.

Cloud-native teams solve this with autoscaling: HPA and VPA react to load. But reactive autoscaling has a cold-start problem. When the trading desk opens at 07:00, the first 5-10 minutes of requests hit under-provisioned infrastructure because the autoscaler hasn't caught up yet. For financial services, those first minutes are some of the most critical of the day.

5-Spot Machine Scheduler — a Kubernetes operator being contributed to FINOS (the Fintech Open Source Foundation) — takes a different approach. It's proactive, not reactive. You define time-based schedules: "provision 8 bare-metal GPU nodes at 06:45 CET on weekdays, de-provision at 18:15." Infrastructure is ready before the workload arrives.

Why Time-Based Scheduling Matters

Financial services workloads are uniquely predictable. Unlike consumer web traffic (unpredictable spikes), financial markets operate on fixed schedules:

  • European markets: 08:00-16:30 CET
  • US markets: 14:30-21:00 CET
  • Asian markets: 01:00-07:00 CET
  • Risk calculations: End-of-day, typically 17:00-22:00
  • Batch processing: Overnight, 01:00-05:00
  • Development/testing: Business hours, 08:00-18:00

If your compute follows these patterns — and in regulated finance, it overwhelmingly does — then time-based scheduling isn't just an optimisation. It's the correct architecture. You know exactly when you need capacity. Schedule it.

What 5-Spot Scheduler Does

5-Spot is a Kubernetes operator that manages the lifecycle of physical machines based on time schedules:

# 5-Spot Machine Schedule CRD (conceptual)
apiVersion: scheduling.finos.org/v1alpha1
kind: MachineSchedule
metadata:
  name: trading-gpu-cluster
  namespace: trading-infra
spec:
  machinePool:
    provider: bare-metal     # or cloud, edge
    count: 8
    machineClass: gpu-a100   # Maps to machine profile
  schedule:
    timezone: Europe/London
    windows:
      - name: trading-hours
        days: [monday, tuesday, wednesday, thursday, friday]
        startTime: "06:45"   # 15 min before market open
        endTime: "18:15"     # 15 min after market close
      - name: risk-batch
        days: [monday, tuesday, wednesday, thursday, friday]
        startTime: "18:00"
        endTime: "22:00"
        machineCount: 4       # Reduced capacity for batch
  lifecycle:
    gracefulShutdownPeriod: 15m  # Drain workloads before shutdown
    preWarmMinutes: 10           # Start provisioning 10 min early
    killSwitch: true             # Emergency immediate shutdown
  priority: high                 # Resource allocation priority
  observability:
    metrics: true
    events: true
    costTracking: true

Key Capabilities

  • Physical infrastructure focus: Unlike cloud autoscalers that spin up VMs, 5-Spot manages bare-metal servers, edge devices, and hybrid deployments. It integrates with Cluster API and k0smotron for machine lifecycle management
  • Timezone-aware scheduling: Financial services operate across time zones. A single cluster might have London, New York, and Singapore schedules running simultaneously. 5-Spot handles timezone math, DST transitions, and holiday calendars
  • Graceful lifecycle: Configurable drain periods ensure workloads migrate cleanly before machines are de-provisioned. No abrupt shutdowns. No orphaned processes. Emergency kill-switch available for immediate shutdown when needed
  • Pre-warming: Machines provisioned before the schedule window opens. By the time traders arrive, infrastructure is ready, warm, and serving. Zero cold-start latency
  • GitOps-native: Schedules defined as Kubernetes CRDs, stored in Git, deployed via ArgoCD. Schedule changes go through PR review — auditable, version-controlled, and reversible
📘 Book

Kubernetes Recipes

Practical guide for container orchestration and deployment — hands-on patterns you can use today.

View on Amazon →

The Cost Impact

The economics of time-based scheduling are straightforward:

Cost Analysis: 8x A100 GPU Nodes

ItemDetail
24/7 Operation (current):
Hours/week168
Monthly cost52,000 EUR (cloud) / 18,000 EUR (on-prem amortised + power)
Time-Scheduled Operation:
Trading hours (M-F, 0645-18:15): 57.5 hours
Risk batch (M-F, 1800-22:00): 20 hours (4 nodes)
Total active~67.5 node-equivalent hours
Monthly cost21,000 EUR (cloud) / 7,200 EUR (on-prem)
Savings:
Cloud31,000 EUR/month (60% reduction)
On-prem10,800 EUR/month (60% reduction — mostly power + cooling)
Annual cloud savings372,000 EUR
Annual on-prem savings129,600 EUR
Energy reduction:
24/78 nodes x 700W = 5.6kW continuous = 4,032 kWh/month
Scheduled~1,620 kWh/month
Reduction60% energy, ~2.4 tonnes CO2/year avoided

For a regulated financial institution running dozens of these clusters, the savings compound to millions annually. And the energy reduction maps directly to ESG reporting metrics.

Integration with AI Infrastructure

5-Spot is particularly valuable for AI workloads in financial services, where GPU compute is the most expensive resource:

  • AI inference during market hours: Real-time inference (pricing models, risk scoring, fraud detection) needs GPU capacity during trading hours. Schedule it. De-provision after close
  • Model training overnight: Large model training jobs run on the same GPU nodes during overnight windows. Same hardware, different schedule, different workload
  • Development environments: Data scientists need GPU access during business hours. Schedule GPU nodes for the data science team from 08:00 to 19:00, de-provision overnight. No more forgotten dev instances running all weekend
  • Batch analytics: End-of-day risk calculations, portfolio rebalancing, and regulatory reporting — schedule the compute window, run the batch, de-provision. Scale-to-zero between windows
🎓 Course

Evaluating RAG Solutions

Choose the right RAG model, configure, test, and optimise.

Start on Pluralsight →

Compliance and Auditability

For regulated financial services under DORA and NIS2, time-based scheduling provides compliance benefits:

  • Auditable schedules: Every schedule change is a Git commit. Regulators can see exactly when infrastructure was provisioned, who approved the change, and why. GitOps provides the audit trail DORA requires for ICT change management
  • Reduced attack surface: Machines that are de-provisioned aren't vulnerable. An overnight attack against trading infrastructure hits nothing if the nodes are shut down. Smaller operational window = smaller attack surface
  • Cost governance: Budget controls enforced through scheduling. Teams can't leave GPU instances running over the weekend because the scheduler de-provisions them. Accidental cost overruns eliminated by design
  • Emergency controls: Kill-switch functionality provides immediate shutdown capability required by DORA for ICT incident response. "Shut down all trading compute immediately" is one kubectl command

Combining 5-Spot with KEDA and Cluster Autoscaler

5-Spot handles predictable, time-based capacity. But within those windows, you still need reactive scaling for variable load. The architecture layers:

Layered Scheduling Architecture

Layer 1: 5-Spot (Proactive, Time-Based)

"Provision 8 GPU nodes at 06:45 on weekdays" · → Ensures base capacity is ready before demand

Layer 2: Cluster Autoscaler (Reactive, Node-Level)

"Add more nodes if pending pods can't be scheduled" · → Handles unexpected spikes within the time window

Layer 3: KEDA (Reactive, Pod-Level)

"Scale inference pods from 2 to 20 based on queue depth" · → Handles workload-level scaling within available nodes · Combined effect: · 06:45 → 5-Spot provisions 8 GPU nodes (proactive) · 07:00 → Trading opens, load increases · 07:02 → KEDA scales inference pods to match demand · 09:30 → Unusual market volatility, demand spikes · 09:31 → Cluster Autoscaler adds 2 more nodes (reactive) · 16:30 → Market closes, demand drops · 16:35 → KEDA scales pods down · 17:00 → Cluster Autoscaler removes extra nodes · 18:15 → 5-Spot de-provisions trading GPU nodes · 18:00 → 5-Spot provisions risk batch nodes (4x) · 22:00 → 5-Spot de-provisions batch nodes

📋 Free Resource

EU AI Act Compliance Checklist

40-point checklist covering risk classification, data governance, transparency, and human oversight. Based on the official regulation.

Get Free Checklist →

Getting Involved

5-Spot is being contributed to FINOS as an open-source project. This matters for financial services adoption because:

  • FINOS governance: Neutral foundation governance means no single vendor controls the roadmap. Financial institutions can contribute, influence, and trust the project
  • Complementary to OpenGRIS: 5-Spot handles compute scheduling (when machines are available), while OpenGRIS handles task scheduling (what runs on those machines). Together, they provide complete grid computing orchestration
  • Community validation: Born from real needs at RBC, one of the largest financial institutions. The problem it solves is universal across financial services
  • Standards-based: Built on CNCF standards (Kubernetes, Cluster API). No proprietary lock-in. Integrates with existing Kubernetes infrastructure

The project is in the FINOS onboarding process. Follow the progress at the FINOS community issue.

What Open Empower Delivers

  • Time-based scheduling design: Analyse your workload patterns and design optimal scheduling windows. Map market hours, batch processing, development, and AI training to time-based schedules
  • 5-Spot implementation: Deploy and configure 5-Spot Scheduler on your Kubernetes infrastructure with Cluster API integration for bare-metal and hybrid cloud
  • Layered scaling architecture: Combine 5-Spot (proactive) with Cluster Autoscaler (reactive nodes) and KEDA (reactive pods) for optimal cost and performance
  • Cost modelling: Before/after cost analysis for your specific infrastructure. Calculate savings from time-based scheduling across all workload types
  • Compliance integration: GitOps-native schedule management with DORA-compliant audit trails, change management, and emergency controls

Your infrastructure doesn't need to run 24/7 to be ready when you need it. Let's schedule it intelligently.

finos
5-spot scheduler
kubernetes operator
time-based scheduling
financial services
bare metal
cost optimisation
green computing
edge
hybrid cloud
gitops

Need help applying this in your organization?

Get a free 30-minute assessment with actionable recommendations — whether we work together or not.

Book Your Free AI Platform Assessment

Or see AI readiness assessment scope & pricing

18+ years experience · Ex-Red Hat & Dell · Speaker at KubeCon EU 2026

Luca Berton

Written by

Luca Berton

CEO at Open Empower. 18+ years building enterprise infrastructure at JPMorgan Chase, Red Hat & Dell. Author of 9 technical books. Speaker at Red Hat Summit and KubeCon EU 2026. Instructor on Coursera, Pluralsight & Udemy.

Get more insights like this

Practical AI infrastructure and platform engineering guides — delivered to your inbox.

Subscribe to Newsletter →