always on
You describe it once. It stays that way.
You tell Provia what your app should look like: how much muscle it needs, where in the
world it runs, the most you are willing to spend. From then on, Provia's job is making
sure reality matches that description, every minute of every day. Nobody has to notice
when it slips. Nobody has to fix it.
- If something breaks at 2am, the replacement is already running before you wake up
- A change either finishes completely or undoes itself. Nothing is left half-built
- Provia rebuilds what went missing. It never deletes your data to fix a problem
what you asked for vs what is runningyou asked for running · 3 machines · under $400/mo
right now running · 2 machines (one just died)
Provia noticed at 14:02
14:02 starting a replacement
14:03 back to 3 machines. nobody was paged.
getting set up
Your app, described in plain terms
Tell Provia what your app is made of: the app itself, the database behind it, whatever
it needs to be fast. Provia creates every piece and connects them to each other. You
never copy a password into a settings file, because you never see one.
- Databases, caches and storage come ready made. You pick them from a list
- Passwords are created for you, kept secret from everyone, and destroyed when done
- Choose a size, from modest to serious, and Provia sorts out the rest
what your app needsthe app running
a database created, connected, backed up
a cache created, connected
its passwords generated, never shown to anyone
where it runs 2 machines, close to your users
# you wrote none of the plumbing above.
shipping updates
Nodes are cattle with names
Your app runs on machines, and Provia treats them as replaceable rather than precious.
A new version does not get installed onto a machine you already have. Provia starts a
fresh one, checks it is healthy, moves your customers across, and retires the old one.
Nothing gets nursed back to health at midnight. It just gets replaced.
- No maintenance windows, no "we will be back shortly" page, ever
- If the new version misbehaves, the old one is still there. Going back is one click
- A machine that stops answering is quietly replaced, no matter the hour
shipping a new versionnow serving version 4, 2 machines, all healthy
you ship version 5
+ start a machine on version 5, check it is healthy
+ move customers across, a few at a time
- retire the old machine
now serving version 5 · zero seconds of downtime
busy days
Ready for the rush, calm afterwards
Big launch on Saturday night? Tell Provia in advance and the extra capacity is standing
by before the doors open. For the rushes you did not see coming, Provia watches how busy
you are and adds capacity on its own. When it goes quiet again, it hands that capacity
back and stops charging you for it.
- Book capacity ahead of a launch, a sale, or a feature going viral
- Busy: more capacity appears. Quiet: it goes away and comes off your bill
- It waits to be certain before shrinking, so one quiet minute never takes you down
a saturday night launchplanned doors open 7pm
capacity standing by at 6:30. automatically.
unplanned a tuesday, you get written up somewhere big
busy for 5 minutes -> more capacity
quiet for 15 minutes -> give it back
# and never below the floor you set.
staying reachable
Everything finds everything, instantly
The moment a new machine is ready, the rest of your app can already reach it, and your
customers get sent to the closest healthy one. If a machine goes quiet, traffic moves
off it within seconds. There is nothing here for you to set up, and nothing to wait for.
- New capacity starts serving real customers the moment it is ready
- Customers are always sent somewhere healthy and nearby, wherever they are
- Your app keeps serving even if Provia itself is having a bad day
a new machine comes onlineproves that it is really yours ✓
learns where everything else is ✓
announces that it is ready ✓ serving customers
# time taken: seconds.
# things you had to configure: none.
your bill
It hunts for savings while you sleep
Provia watches what your app is really using and quietly stops paying for what it is
not: shrinking machines that are half idle, powering down what nobody is touching,
buying discounted capacity when it is safe to do so. Every dollar it saves is written
down where you can see it.
- Pay for what you actually use, not for what you guessed you might need
- It is never allowed to touch your database in any way that could risk your data
- Every saving is a line you can check, to the dollar, whenever you want
a quiet tuesday afternoonyou are paying for a lot. you are using a little.
shrink the app to what it actually needs -$180/mo
nothing has touched the cache in 40 minutes -$60/mo
buy the spare capacity at a discount -$60/mo
your database: left alone. always.
this month: $300 back in your pocket.
guardrails
Nothing important can be deleted by accident
Deleting something real is deliberately, almost annoyingly hard. It takes a typed
confirmation, a second person saying yes, and a waiting period before anything actually
goes away. Your data outlives the delete button, no matter who pressed it.
- Somebody has to type the name, and somebody else has to approve it
- A cooling-off period sits between "delete" and gone, and nobody can skip it
- Every action is written down permanently, so you always know who did what
deleting something realdelete the "acme" app?
type the name to confirm ✓
a second person approves ✓
a 24 hour cooling-off period (nobody can skip this)
…a day later…
removed. your data kept safe. every step on the record.