Backups and disaster recovery for your self-hosted apps

Every app is backed up daily and before every change, encrypted before it leaves the machine and kept at a second site. On Enterprise, an engineer proves each month that it restores.

Talk to our teamRequest the security pack

Frequency
Daily, and before every change
Copies
Encrypted, at a second site in the same jurisdiction
Databases
Point-in-time recovery from the Business plan
Restore tests
Monthly on Enterprise, recorded in the console

What goes into a backup

A backup is only worth the app it brings back. Each one holds what is needed to rebuild the app as it was at that moment, not just the contents of a disk.

The database, consistent

Taken with the database engine's own tools, so the copy is consistent while people keep working, rather than a disk snapshot that may catch a write halfway.

Files, in step with it

Uploaded documents, images and attachments, taken together with the database that points at them, so no record refers to a file the backup does not have.

Configuration and version

The app's settings and the exact version that wrote the data, so a restore never puts old data under newer code by accident.

Encrypted on your machine

Each backup is encrypted before it is sent, with keys you hold. The site that stores it keeps data it cannot read.

A second site, same jurisdiction

Copies go to a different site from the machine they protect, in the same jurisdiction, so one fire or one failed array never takes both.

One more before every change

The Pilae Agent takes and verifies a fresh backup before every update. If that backup fails, the update does not start.

Backups on each plan

What you getStarterBusinessEnterprise
Daily encrypted backups at a second siteYesYesYes
Backup before every changeYesYesYes
RetentionStandardLongerLonger
Point-in-time recovery for databases–YesYes
Monthly restore test, recorded in the console––Yes
RPO and RTO per app, in the contract––Yes

The pricing page has the rest of each plan. Retention longer than your plan’s can be added on request.

What a restore test checks

A restore test is not a check that a backup file exists. On Enterprise, once a month, an engineer restores each app from its latest backup into an isolated environment with no path to production, then works through the same checks every time:

  • the app starts on the version recorded in the backup;
  • a user can sign in through your directory;
  • the newest records and files match the time the backup was taken;
  • the time the restore took, set against the recovery time objective in your contract.

The date, the backup used, the duration and the result of each check go into the console. Your auditors read the record rather than take our word for it, and a failed check is treated as an incident, not a footnote.

Setting recovery objectives app by app

A wiki and a finance system rarely need the same answer, so on Enterprise the recovery point objective and the recovery time objective are set per app. Two questions decide them: how much recent work could you afford to type in again, and how long can people do without the app before work stops. Some examples of what teams agree:

AppRecovery pointRecovery timeWhy
Single sign-onLast daily backupOne hourEvery other app depends on it
ERP or accountingMinutes, by point-in-time recoveryFour hoursOrders and invoices cannot be re-keyed from memory
Team chatLast daily backupFour hoursMessages lost are an annoyance; no chat for a day is not
WikiLast daily backupNext working dayPeople can read yesterday’s copy elsewhere

A shorter objective costs more to meet, in standby capacity and in people ready to act at any hour, which is why it is agreed rather than assumed. Managed operations covers the on-call engineers who run a restore when you need one, and the SLA sets the availability commitment that sits beside these objectives.

How a restore runs

  1. Request

    You ask for a restore from the console or from the on-call engineer, naming the app and the point in time.

  2. Plan

    An engineer confirms the backup to use, the expected downtime and whether the restore replaces the app or runs beside it.

  3. Restore

    The backup is decrypted and restored. Probes confirm the app answers and its data is intact.

  4. Record

    The restore, its duration and its result are written to the audit log.

What your contract includes

Retention
The period each copy is kept, per your plan, so your privacy notice can state it.
Location
The country and site of your backups, named alongside your machines.
RPO and RTO
On Enterprise, a recovery point and a recovery time objective for each app.
Evidence
On Enterprise, the date, scope and result of each monthly restore test, readable in the console.

Questions

Can you restore a single file or record instead of the whole app?

Yes. An engineer restores the backup beside the live app and copies back what you need, so the app keeps running and nobody loses the work done since.

Where do backups go for an on-premises deployment?

To your own storage, or to a Pilae location you choose. Either way they are encrypted before they leave the machine, and the target is named in your contract.

What happens to backups when the contract ends?

You receive a full export of your data and configuration in open formats under your exit plan. Our copies are then deleted from machines and backups.

How far back can we go?

As far as the retention period of your plan, which Business extends. For databases on Business and Enterprise, point-in-time recovery lets you pick a moment between two daily backups, such as just before a bad import.

Related

Agree your recovery objectives with an engineer.

We go through your apps, the data each one holds and how long you can do without it, and write the RPO and RTO into your contract.