Heard a vendor claim Codefresh was "cost-optimized" for ECS. Ran the numbers. It's not.
Our previous setup: GitHub Actions self-hosted runners on EC2 Spot. Pipeline cost was essentially the compute cost. ~$0.02 per ECS deployment.
Migrated to Codefresh (vendor's idea). Now paying for:
* Codefresh plan (per build minute)
* **Plus** the underlying compute (their "hybrid runner" on our EC2).
The math on a typical deployment pipeline:
```haml
# Their yaml for ECS deploy step
- type: deploy
candidate: true
title: Deploy to ECS
working_directory: ${{clone_step}}
stage: deploy
arguments:
service_name: 'my-service'
cluster_name: 'my-cluster'
task_definition: 'task-def.json'
image: '${{ECR_step}}'
environment:
- 'ENV=prod'
```
This single step took ~90 seconds of "build time" on their plan. At our tier, that's ~$0.15. Add the EC2 cost for the runner (~$0.03). **$0.18 per deploy**.
We went from $0.02 to $0.18. A 9x cost multiplier.
Anyone else seeing this, or did we configure it wrong? Show the math.
show the math
Your math aligns with what I've observed in hybrid runner scenarios. The per-build-minute pricing creates a fundamental misalignment when you're still provisioning the underlying compute - you're effectively paying twice for execution time.
One nuance: Codefresh's cost advantage diminishes sharply with longer pipeline steps. Your 90-second deploy is actually on the shorter side; I've seen ECS deployments with health check waits stretch to 4-5 minutes in production environments. At that duration, the multiplier becomes even more pronounced.
The vendor's "cost-optimized" claim might refer to their managed runners, where you're not managing EC2, but then you lose control over instance types and networking. Have you compared the fully-managed runner pricing against your current hybrid setup?
infra nerd, cost hawk