惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
S
SegmentFault 最新的问题
博客园 - 司徒正美
aimingoo的专栏
aimingoo的专栏
U
Unit 42
GbyAI
GbyAI
B
Blog RSS Feed
博客园 - Franky
L
LangChain Blog
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog
Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
How to Cut AWS ECS Fargate Costs by 60–70%
Matt · 2026-06-04 · via DEV Community

How to Cut AWS ECS Fargate Costs by 60–70%

Originally published at https://fortem.dev/blog/ecs-fargate-cost-optimization
Your ECS Fargate dev and staging environments run 168 hours a week. Your team works 40. Here's the math on what that costs — and four methods to fix it.


Guide

Your ECS Fargate bill is higher than it needs to be. The AWS documentation will tell you to buy Savings Plans and right-size your instances. That's not wrong — but it misses the biggest lever by a wide margin. This guide covers four methods, starting with the one that cuts 60–70% before you touch a single task definition.

TL;DR

  • Dev/staging environments run 168 hrs/week. Your team works ~40. You're paying for the other 128.
  • Scheduling environments to stop during off-hours cuts dev/staging spend by 60–70% — no infrastructure changes.
  • Right-sizing vCPU and memory adds another 10–20% on top.
  • Fargate Spot gives 40–70% discount on interruption-tolerant workloads.
  • Real example: 12 environments, $1,730/mo → $380/mo. 78% reduction. $16,200/yr saved.

Where the money goes — Fargate pricing breakdown

AWS Fargate charges for two resources per task: $0.04048 per vCPU-hour and $0.004445 per GB-hour (us-east-1, Linux/x86, on-demand), per the AWS Fargate pricing page (verified May 2026).

A single service running 0.5 vCPU and 1 GB costs:

0.5 × $0.04048 + 1 × $0.004445 = $0.024685/hr

× 730 hrs/month = $18.02/service/month

× 8 services/environment = $144/environment/month

× 12 environments = $1,730/month

That's for a conservative fleet — 12 environments, 8 services each, half a vCPU per service. Most teams have more. The math compounds: it's not any single expensive environment causing the bill. It's 12 small ones, each billing quietly around the clock.

The 24/7 problem — what you're actually paying for

There are 168 hours in a week. A typical engineering team works 40–50 of them. The rest — nights, weekends, holidays — those 12 dev and staging environments are sitting idle, billing AWS by the second.

The Flexera State of the Cloud 2025 report puts average cloud waste at 32% across organizations. For ECS Fargate development fleets, the number is higher — because dev environments are structurally different from production. Nobody's on-call for them at 3am, but they're running anyway.

$1,730/mo

$515/mo

24/7 (always on)

168 hrs/week

Business hours only

50 hrs/week · Mon–Fri 9am–7pm

Monthly AWS Fargate cost — 12 environments−70% savings

KEY INSIGHT: The biggest Fargate cost driver for most teams isn't their largest environment. It's the 12 small ones running overnight and on weekends — each individually invisible, collectively expensive.

Business-hours scheduling (Mon–Fri 9am–7pm = 50 hrs/week) reduces active compute time to 50 ÷ 168 = 29.8% of the 24/7 baseline. On our 12-environment example: $1,730 → $515/month. Before touching a single task definition.

Method 1 — Environment scheduling (60–70% reduction)

Scheduling means stopping all ECS services in an environment during off-hours and restarting them at the start of the workday. The environment is unavailable overnight and on weekends — which is fine for anything that isn't on-call.

“Mon–Fri 9am–7pm = 50 hours/week = 29.8% of baseline cost. Weekend default: off. One-click override for ad-hoc work.”

— Fortem scheduling model, per-environment, per-timezone

Two implementation paths:

  • AWS EventBridge Scheduler— native, no extra cost. Write a Lambda or Step Functions rule per environment that sets each ECS service's desired count to 0 (stop) or N (start). Requires code per environment; gets tedious past 10–15 environments.

  • Fortem — set a schedule per environment in the UI. Fortem stops and starts all services atomically, handles per-timezone configuration, and lets developers request one-click overrides for ad-hoc work without touching the schedule.

Per-timezone matters:your EU team's workday starts 6 hours before your US team's. A single UTC schedule shuts down environments while one team is still working. Configure schedules per team, not globally.

Method 2 — Right-sizing vCPU and memory (10–20% additional)

Most development services are over-provisioned. When a service was first deployed, someone picked a reasonable allocation — 1 vCPU, 2 GB — and never revisited it. In production, that allocation might be justified. In a dev environment processing one request per minute from a developer doing manual testing, it's paying for four times what's needed.

How to check: CloudWatch → ECS → your cluster → CPU and Memory Utilization per service. Look at the 7-day average. A service averaging under 30% CPU utilization on 1 vCPU can be safely dropped to 0.5 vCPU for dev. Under 15%: try 0.25 vCPU.

Savings per environment: 1 vCPU → 0.5 vCPU, per service

Before: 1 × $0.04048 × 730 hrs = $29.55/service/mo

After: 0.5 × $0.04048 × 730 hrs = $14.78/service/mo

8 services × $14.78 saved = $118 saved/environment/mo

Apply right-sizing only to dev and staging. Keep separate task definition files for dev and prod so changes don't drift. Never right-size production without load testing under realistic traffic.

Method 3 — Fargate Spot for non-production (40–70% discount)

Fargate Spot runs tasks on spare AWS capacity at roughly a 70% discount versus on-demand, per AWS Fargate pricing. The tradeoff: AWS can interrupt your tasks with a 2-minute warning when that capacity is reclaimed.

For many dev workloads, a 2-minute interruption is completely tolerable — especially combined with scheduling that already stops environments overnight.

Right for Spot: CI/CD test runners, batch jobs, dev environments for individual engineers, any workload that restarts cleanly.

Wrong for Spot: staging used for customer demos, environments with stateful in-memory state, anything with a guaranteed uptime requirement during business hours.

To enable: update your capacity provider strategy to FARGATE_SPOT. You can split — 80% Spot / 20% On-Demand — to maintain capacity during interruptions.

Method 4 — Kill orphaned environments

Every team has them. An environment was spun up for a feature branch three quarters ago. The engineer who owned it left. The project was deprioritized. The environment is still running, billing $200–$400/month, and nobody has noticed because it doesn't appear in any deployment dashboard.

How to find them: pull the last task run timestamp from CloudWatch Logs Insights — any service with no log events in the last 30 days is a candidate. Cross-reference with your deployment records. No deploy in 60+ days and no active owner: safe to stop.

KEY INSIGHT: In a fleet of 20+ environments, most teams find 2–3 orphaned environments when they look seriously. At $300/month each, that's $900/month — $10,800/year — for compute serving exactly zero requests.

Fortem surfaces last deploy time, last access time, and environment owner for every environment in your fleet. Orphan identification goes from a 2-hour CloudWatch archaeology project to a 2-minute filter. Without tooling, most teams never do this audit — the environments just keep billing.

Putting it together — $1,730 → $380/month

Same fleet throughout: 12 environments, 8 services each, 0.5 vCPU, 1 GB, AWS us-east-1 on-demand rates. Each method applied cumulatively.

Cumulative savings — 12 environments

$1,730

$515

−70%

$440

−15%

$380

−14%

Baseline (24/7)

+ Scheduling

+ Right-sizing

+ Spot (4 envs)

Monthly cost — same 12 environments$1,730 → $380 · −78%

Step by step:

Baseline (24/7): $1,730/mo

+ Business-hours scheduling (29.8% of baseline): $515/mo −70%

+ Right-sizing (0.5→0.25 vCPU on 8 dev envs): ~$440/mo −15%

+ Fargate Spot on 4 eligible environments: ~$380/mo −14%

Total: $380/mo · 78% reduction · $16,200/yr saved

This is conservative — zero orphaned environments assumed, lowest Fargate size, Spot applied to only 4 of 12 environments. Larger fleets, bigger services, and multiple AWS accounts scale these numbers proportionally.

The Fortem ROI calculator lets you plug in your actual fleet size — number of environments, services, vCPU, memory — and see the number for your specific bill.

Common questions

Does stopping ECS environments lose any data?

How long does an ECS environment take to start up after scheduling?

Can I schedule only some services within an environment?

Is Fargate Spot safe for staging environments?

How do I find out which of my environments are costing the most?

### See what your fleet would save Run the calculator in 30 seconds, then book 2