patio11 had a good teardown of the backup service that runs on usage model.
I personally do not use the per-use backups. I select the plan that can store all my current data times N, and pay for it. This is just simpler for me as a customer.
Why I do not agree with Patrick that Tarsnap should be run like that (for the owner’s personal reasons), I agree it makes financial sense.
The Patrick’s article is very long is not only dealing with pricing, so I’m quoting the relevant part here:
Colin, like many technologists, is of the opinion that metered pricing is predictable, transparent, and fair. Metered pricing is none of predictable, transparent, or fair.
Quick question for you, dear reader: What would you pay for using Tarsnap to back up your most important data?
You don’t know. That’s not a question, it’s a bloody fact.
It is flatly impossible for any human being to mentally predict
compression and data duplication. Even without compression and data
duplication, very few people have a good understanding of how much data
they have at any given time, because machines measure data in bytes but people measure data in abstractions.
My abstraction for how much data I have is “One MySQL database and
one Redis database containing records on tens of thousands of people on
behalf of hundreds of customers. That data is worth hundreds of
thousands of dollars to me.” I have no bloody clue how large it is in
bytes, and — accordingly — had to both measure that and then do Excel modeling (factoring
in expected rate of growth, compression ratios, deduplication, etc etc)
to guess what Tarsnap would cost me in the first year. (Why not just
say “It’s a lot less than $1,000 so I’ll give Colin $1,000 and revisit
later?” Because I have two countries’ tax agencies to deal with and my
life gets really complicated if I pre-pay for services for more than a
I screwed up the Excel modeling because, while I correctly modeled
the effect of increasing data requirements due to the growth of my
service in the year, I overestimated how much data
compressed/deduplication would happen because I was storing both plain
text files and also their compressed formats and compressed files do not
re-compress anywhere near as efficiently as non-compressed files.
Whoopsie! Simple error in assumptions in my Excel modeling, Tarsnap
actually cost 4X what I thought it would.
By which I mean that instead of costing me $0.60 a month it actually costs me $2.40 a month.
This error is symptomatic of what Tarsnap forces every single
customer to go through when looking at their pricing. It is virtually
impossible to know what it actually costs. That’s a showstopper
for many customers. For example, at many businesses, you need to get
pre-approval for recurring costs. The form/software/business process
requires that you know the exact cost in advance. “I don’t know but
we’ll get billed later. It probably won’t be a lot of money.” can
result in those requests not getting approved, even if
the actual expense would be far, far under the business’ floor where it
cared about expenses. It is far easier for many businesses to pay $100
every month (or even better, $1,500 a year — that saves them valuable
brain-sweat having to type things into their computer 11 times, which
might cost more than $300) than to pay a number chosen from a normal
distribution with mean $5 and a standard deviation of $2.
So the pricing isn’t clear/transparent, but is it fair? “Fair” is a
seriously deep issue and there are all sorts of takes on it. As happy
as I would be to discuss the intersection of Catholic teaching on social
justice and SaaS pricing grids, let’s boil it down to a simple
intuition: people getting more value out of Tarsnap should pay more for
it. That quickly aligns Tarsnap’s success with the customer’s success.
Everybody should be happy at that arrangement.
So why price it based on bytes? Metering on the byte destroys any
but the most tenuous connection of value, because different bytes have
sharply different values associated with them, depending on what the
bytes represent, who owns the bytes, and various assorted trivialities
like file format.
Here’s a concrete example: I run two SaaS products, Bingo Card
Creator and Appointment Reminder. Bingo Card Creator makes bingo cards,
sells to $29.95 to elementary schoolteachers, is deeply non-critical,
and is worth tens of thousands of dollars to me. Appointment Reminder
is core infrastructure for customers’ businesses, sells for hundreds to
tens of thousands per year per customer, is deeply critical, and is
worth substantially more than tens of thousands of dollars.
So the fair result would be that BCC pays substantially less than
Tarsnap for AR, right? But that doesn’t actually happen. My best
guesstimate based on Excel modeling (because BCC never bothered
implementing Tarsnap, because I’m not mortally terrified that I could
wake up one morning and Mrs. Martin’s 8th grade science bingo cards
created in 2007 could have vanished if my backups failed) is that BCC
would pay at least five times as much as Appointment Reminder.
What other intuitions might we have about fairness? Well, let’s see,
my company is engaged in arms length dealings with Tarsnap and with
many other vendors. I think it sounds fair if my company pays
relatively less money for non-critical things, like say the cup of
coffee I am currently drinking ($5), and relatively more money for
critical things, like say not having all of my customer data vanish