Operations: cost optimization
This course looks at cost for a small application that runs on one server. It compares the flat infrastructure bill with the operator's time, which is the larger expense at this size. It reviews how the Solid stack, jobs inside Puma, Disk storage and one Postgres instance each removed a component. It also covers the usual order in which costs grow with scale, the price of deferred decisions, how to read a sorted bill, and which few things are worth paying for.
What you'll learn
- ✓Why operator time outweighs a small, fixed infrastructure bill
- ✓How reducing the number of components lowers infrastructure cost
- ✓The usual order of rising costs: compute, egress, managed database, per-request services
- ✓How to judge whether waiting makes a deferred decision more expensive
- ✓Sorting a bill and separating fixed lines from usage-based ones
- ✓What is worth paying for: off-site backups, uptime detection and error tracking
The bill is not the cost
Cost optimization at small scale is mostly about something other than the bill. Starting from the bill produces weeks of work to save the price of a sandwich.
Read the full lesson free →Curriculum
7 lessonsThe bill is not the cost
Compares the small, fixed infrastructure bill with operator time, the expensive resource for a system this size.
The decisions that already saved money
Reviews how the Solid stack, jobs in Puma, Disk storage and one Postgres reduced the component count.
Where money goes at scale
Describes the usual order of rising costs at scale and why egress and per-request pricing surprise people.
The cost of a decision not taken
Lists declined options, what each one deferred, and how the cost of waiting differs between decisions.
Measuring before optimizing
Explains sorting the itemized bill, looking at the top lines, and asking which ones grow with usage.
What this application should spend on
Names what is worth paying for: off-site backups, uptime detection, error tracking and a bigger server.
Putting it together
Recaps the course and sets a challenge to implement monthly_cost, which sorts a bill and projects growth.