Cost Optimization in System Design

Reduce waste while keeping the required service

Resources become costs under different units

Compute

Instances × hours × rateBudget peak and failure capacity

Stored data

Capacity over time × rateInclude copies, retention and overhead

Delivery

Transferred bytes × rateTraffic mix and geography matter
Compute uses instance-hours. Stored bytes and delivered bytes have different measures. Useful actions give a business context for the combined spend.

A system can meet its speed goal and still exceed its operating budget. Another can look cheap until outages or maintenance consume the team’s time. Cost optimization connects resource use with useful outcomes and the requirements that must remain true.

Separate compute, storage, transfer, requests, software and operating effort. Choose improvements from observed usage and a clear service goal, rather than simply selecting the lowest listed price.

What you’ll learn

  • Separate major resource and billing units.
  • Explore illustrative compute, storage and transfer costs in a calculator.
  • Evaluate savings alongside capacity, recovery and operating consequences.

Multiply a quantity by the matching rate

A compute rate per instance-hour multiplies running instances and hours. Storage may be billed per stored capacity over time. Data transfer, requests and processing jobs can use other units and tiers.

Check location, discounts, billing rules, minimums and what a quote includes. GB, GiB and prorated capacity-month units need careful interpretation. A larger instance may have a different performance/cost curve rather than a fixed multiple of a smaller one.

Track cost by workload or environment when possible. An average monthly total can hide unused development resources, retained uploads or an unexpected transfer path.

Change quantities under fictional rates

See which resource drives the estimate

Compute cost units144.00
Storage cost units2.00
Transfer cost units50.00
Model total cost units196.00
Units / 1,000 useful actions0.196

Fictional rates produce 196.00 total cost units. This is not a provider quote.

Fictional rates: 0.10/instance-hour · 0.02/stored GB-month · 0.05/transferred GB · 720 hours/month · one million useful actions · many costs omitted.

Compute, storage and transfer are separate line items. Quantity changes update the model total and cost per 1,000 useful actions.

This calculator uses fictional cost units: 0.10 per instance-hour, 0.02 per stored GB-month and 0.05 per transferred GB. It assumes a 30-day month, 720 hours per instance, fixed rates and one million useful actions.

Adjust instance count, stored GB and monthly delivered GB. Cost per 1,000 useful actions divides total model cost by 1,000. These are not provider prices or financial forecasts. The model excludes requests, replicas beyond the selected count, taxes, support, licences, staff effort, tiers and discounts.

Compare savings with their effect on users

Right-sizing can reduce unused capacity, but measure busy periods and one-instance failure. Removing every spare instance may lower today’s bill while violating tomorrow’s recovery requirement.

Retention rules can remove abandoned media or old logs when business, recovery and applicable constraints permit it. Caching can reduce suitable source work while adding cache and freshness costs. Compression trades processing for fewer bytes and depends on the content.

Commitment discounts can change rates while reducing flexibility. Evaluate expected use and terms for the actual product; the lab’s rates do not model those decisions.

Validate resource use and total operating work

The FinOps Foundation framework provides context for connecting technology usage, accountability and business value. Source checked 6 October 2026. Use provider billing data and current pricing documentation for a real estimate.

For media delivery, transferred bytes may dominate a simple model. For a compute-heavy batch service, execution time may dominate instead. Measure actual workload and include dependencies before choosing an optimization.

Test the changed system against latency, correctness and recovery goals. An optimization is useful when it reduces the intended cost without silently breaking a required promise.

Check your design decision

Why must a real estimate check the billing unit and region?
Choose one answer. You can try again.

Answer and explanation

Rates and quantities must match the actual service’s pricing rules.

A fictional or mismatched unit can produce a misleading total.

Check your design decision

Removing the only spare instance saves money but breaks the required failure capacity. Is that a complete optimization?
Choose one answer. You can try again.

Answer and explanation

No. The required service and recovery goals still need to be met.

Savings must be evaluated against the agreed promises.

Optimise a measured workload within its promises

Keep billing quantities and rates explicit, and connect the total with useful outcomes. Include operating effort and omitted dependencies.

Reduce waste with representative evidence, then recheck user experience and recovery. A lower line item alone is not proof of a better system.

Reaching the recap and completing the quizzes are separate milestones.

    Next lesson: How to Approach System Design Questions →