AnimusDB

What self-hosting actually costs

This is the strongest objection to everything else on this site, so it gets its own page rather than a footnote. Managed services are expensive for a reason, and the reason is that running a database well is a job.

The pitch for self-hosting is usually made with two numbers side by side: your DynamoDB invoice, and the monthly cost of the instances you would run instead. The second number is smaller, often dramatically, and the slide moves on.

That comparison is wrong in a specific and predictable way. It compares a service to a server, when what you are really buying from a managed provider is a service plus a team plus a set of procedures that have been tested on someone else's incidents. Leave the people out of the sum and self-hosting always wins on paper and frequently loses in practice.

So here is the bill, written out. If it puts you off, that is the correct outcome and it cost you eight minutes instead of eight months.

The line items

Some of these are obvious and priced in every plan. Others show up in month seven.

Line itemWhat it actually involvesUsually forgotten?
Hardware or instancesNodes, disks, and the replication factor multiplying both. Three replicas means three times the storage, always.No
HeadroomYou cannot run a database at 90% of capacity. The gap between what you use and what you provision is a permanent cost.Often
Cross-zone trafficReplication crosses availability zones by design, and in most clouds that is metered.Very often
BackupsStoring them, in a different failure domain, with a retention policy someone has agreed to.No
Restore drillsA backup you have never restored is a hypothesis. Testing it is recurring, scheduled work.Almost always
UpgradesReading changelogs, rehearsing in staging, rolling through production, and the rollback plan for when it goes wrong.Often
MonitoringMetrics collection, dashboards, alert thresholds that are neither noisy nor silent, and the tuning that gets them there.Partly
On-callA rotation deep enough to be sustainable, with people who understand quorums at 3am.Almost always
SecurityPatching, network policy, key management, and whatever your auditors ask for that the managed service used to answer.Often
ExpertiseSomeone who has actually operated a distributed database, or the time for someone to become that person.Always

The last row is the one that decides the outcome, and it is the hardest to put a number on.

Who pays it

The failure mode is not that these costs are unknown. It is that they are assigned to "the platform team, somehow" โ€” which is to say, to no one, until an incident assigns them at 3am to whoever answers.

Two questions are worth more than a spreadsheet:

If both answers exist and are comfortable, you probably already run stateful infrastructure and the marginal cost of one more system is genuinely modest. If either answer is a shrug, the honest read is that the managed service is doing more for you than the invoice suggests.

The comparison that is actually fair

Put like for like on both sides:

Managed

Invoice, plus the engineering time you still spend on capacity modelling and cost control, plus the coupling you accrue, plus the switching cost you are compounding.

Self-hosted

Infrastructure, plus headroom, plus cross-zone traffic, plus backup storage, plus the fraction of a team that operates it, plus the recruitment cost of that skill set, plus the incidents you will handle yourself.

Done properly, the sum is much closer than either camp likes to admit, and it flips on the details of your situation rather than on principle.

When self-hosting wins

When it loses

The AnimusDB-specific bill, today

Everything above is the general case. The specific case is worse, and pretending otherwise would undo the point of writing this at all.

Today AnimusDB is pre-alpha. TLS exists on every port but is off by default, and client authentication is opt-in SigV4 on the DynamoDB port. A whole-cluster stop, upgrade and restart keeps the data, but rolling upgrades and mixed-version clusters are not supported yet, so every upgrade is downtime. Nothing has had a multi-day soak or real-cluster chaos testing either. What is still missing before AnimusDB leaves pre-alpha is written down as a checklist in the repository (docs/production-readiness.md). Until that list is done, the correct amount of production data to put in AnimusDB is none.

So the honest version of the bill is in two parts.

What it costs to evaluate it now

An afternoon. Three nodes in one process, your integration suite pointed at a different endpoint, and an answer to the question of whether your access patterns really are portable. That is a genuinely useful thing to know regardless of what you do next.

What it will cost to run it later

Every line in the table above. When the gaps close, the operational bill for AnimusDB will be an ordinary distributed-database bill, and nothing on this site should suggest that self-hosting has been made cheap. It has been made possible without a rewrite. Those are different claims.

A worksheet, not a verdict

If you want to price this properly, these are the numbers to go and get. Every one of them is specific to you, which is why nobody else's comparison table is worth much.

  1. Your current invoice, split into storage, reads, writes, streams and cross-region.
  2. Node count and instance size you would need, times your replication factor, plus your headroom target.
  3. Cross-zone traffic at your write volume, times replication factor, at your provider's rate.
  4. Backup storage at your retention policy, in a separate failure domain.
  5. Fraction of an engineer, per month, for operations โ€” and be honest, it is not 0.1.
  6. The recruitment or training cost of the expertise, amortised over how long you expect that person to stay.
  7. The cost of one bad day: your worst plausible outage, priced in revenue and in customer trust, times the probability you assign to handling it worse than the provider would.

Add up the right-hand column. If it comes out clearly in favour of staying managed, stay managed โ€” and take the exercise as having produced the number from the lock-in argument that nobody in your company had.

Keep reading

Why lock-in compounds

The argument this cost is weighed against, including an explicit concession that this is not a case against AWS.

Day-two operations

Exactly which operational tools exist today and which don't, without the marketing gloss.