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
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
| Item | Detail |
|---|---|
| 24/7 Operation (current): | |
| Hours/week | 168 |
| Monthly cost | 52,000 EUR (cloud) / 18,000 EUR (on-prem amortised + power) |
| Time-Scheduled Operation: | |
| Trading hours (M-F, 06 | 45-18:15): 57.5 hours |
| Risk batch (M-F, 18 | 00-22:00): 20 hours (4 nodes) |
| Total active | ~67.5 node-equivalent hours |
| Monthly cost | 21,000 EUR (cloud) / 7,200 EUR (on-prem) |
| Savings: | |
| Cloud | 31,000 EUR/month (60% reduction) |
| On-prem | 10,800 EUR/month (60% reduction — mostly power + cooling) |
| Annual cloud savings | 372,000 EUR |
| Annual on-prem savings | 129,600 EUR |
| Energy reduction: | |
| 24/7 | 8 nodes x 700W = 5.6kW continuous = 4,032 kWh/month |
| Scheduled | ~1,620 kWh/month |
| Reduction | 60% 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
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
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.
Luca Berton
