Free — no signup required

Total Cost of Ownership (TCO)

3 min read

It's Not Just the Sticker Price

When you buy a car, the price is not just the sticker price ($30,000). It also includes gas, insurance, repairs, parking, and depreciation over the next 5 years. The true cost of owning that car might be $55,000. If you only looked at the sticker price, you would make a terrible financial decision.

In software and infrastructure, the Total Cost of Ownership (TCO) works the same way. TCO captures every cost associated with a technology decision over its entire lifecycle — not just the purchase price or monthly subscription.

The Equation:

TCO = Acquisition Cost + Operating Cost + Personnel Cost + Hidden Costs

Where:
- Acquisition Cost = licenses, hardware purchases, setup and migration effort
- Operating Cost = hosting, bandwidth, monitoring tools, backups
- Personnel Cost = engineer time for maintenance, on-call, upgrades, troubleshooting
- Hidden Costs = training, security patching, compliance auditing, opportunity cost of delayed features

Example: Self-Hosted Kafka vs. Managed Kafka (Confluent Cloud)

Cost Category Option A: Self-Hosted Option B: Managed (Confluent)
Software License $0 (Open Source) Included in service fee
Server/Infra Cost $500/month (3 brokers + ZooKeeper) $0 (included)
Engineer Time $15,000/month (10% of 3 engineers' time for patching, upgrades, capacity planning, on-call) $1,500/month (2% of 1 engineer for config and topic management)
Service Fee $0 $2,000/month
Incident Cost ~$2,000/month (avg. 1 incident/month × 4 hrs × $150/hr × 3 engineers) ~$0 (SLA-backed)
Monthly TCO $17,500 $3,500

The self-hosted option looks free on the surface. Its actual TCO is five times higher than the managed service — almost entirely because of personnel cost.

The Lesson: "Free" open-source software is often the most expensive option because human time is the most expensive resource in any technology organization. A senior engineer costs $150–250/hour fully loaded (salary + benefits + equipment + office space + management overhead). Four hours of unplanned Kafka troubleshooting at 3 AM costs more than a month of Confluent Cloud.

Interview Tip

When asked "How would you decide between building vs. buying a component?" always lead with TCO, not features. Say: "I'd calculate the 12-month TCO of both options, including engineer time for maintenance and on-call. In my experience, the personnel cost of self-hosting is almost always underestimated by 3–5x because people forget about upgrades, security patches, capacity planning, and incident response."

Key Point: TCO calculations are only as honest as their inputs. The most common failure mode is underestimating personnel cost. Engineers instinctively estimate the setup time but forget the ongoing time: patching CVEs, upgrading major versions, debugging production issues at 2 AM, writing runbooks, training new team members. A useful heuristic: take your initial personnel estimate and multiply it by 3x to get a realistic figure. If the managed option is still more expensive after that adjustment, self-hosting may genuinely be the right call.

This is one of 18 chapters

Every chapter is free — Kubernetes, Terraform, SRE, distributed systems, and more — with fast daily review built in.

Sign up free