TechKnowSurge
VideoSecurityFree

Architecting Backup

Backup scheduling requires careful planning around data criticality, recovery objectives, and system availability. This content walks through a real-world scenario combining full, differential, and incremental backups to meet a 15-minute recovery point objective on a high-traffic database.

Complete this video to capture a CTF flag worth 1 point.

About this video

Translating backup concepts into a working schedule requires weighing recovery objectives against system performance, data criticality, and available backup windows. This content uses a real-world scenario — a high-traffic SaaS web application with millions of users and a 15-minute recovery point objective — to demonstrate how those factors drive every architectural decision. Because a full backup of the database takes approximately 48 hours, it can only run during the weekend, consuming Friday evening through Sunday. Nightly differentials run Monday through Thursday, and 15-minute incrementals run throughout each day to satisfy the RPO without overwhelming the system during business hours. The restore process is just as deliberate as the backup strategy itself. Recovering the database to 3:00 p.m. on a Wednesday, for example, requires applying the most recent full backup, the Tuesday night differential — not Wednesday's, which postdates the target — and then every incremental taken from the start of Wednesday up to the 3:00 p.m. restore point. This layered sequence illustrates both the power and the complexity of a hybrid backup strategy in a production environment. The content also addresses an important technical limitation: because incremental backups reset the archive attribute, relying on that attribute alone creates conflicts with differential backups. A capable backup software solution is necessary to manage the interaction between backup types correctly. This scenario reflects a widely applicable model, adaptable to different data volumes and retention requirements across many enterprise environments.

What you'll learn

What's covered

Backup Architecture Planning

Key terms

Recovery Point Objective
RPO
The maximum acceptable amount of data loss measured in time, defining how far back data must be recoverable.
Full Backup
A complete copy of all selected data, serving as the baseline backup type from which other backup strategies operate.
Differential Backup
A backup type that copies only the data that has changed since the last full backup.
Incremental Backup
A backup type that copies only the data that has changed since the last backup of any type, minimizing storage use but requiring multiple restore steps.
Disaster Recovery
DR
The process and procedures for recovering IT systems and data following a disruptive event.
Recovery Time Objective
RTO
The maximum acceptable time to restore a system or service after a disruption.

Topics

Backup And Recovery Disaster Recovery Incremental Backup Differential Backup Recovery Point Objective Backup Scheduling

Transcript

We've learned a lot about some concepts when it comes to backing up, but how does this actually apply to creating a schedule? Which ones do we choose? How do we architect an actual backup?

The scenario

Let's create a little scenario here. This is actually pulled from my experience in the past when working with a SaaS company. We have a web application that has millions of users that are logging into this web application, and on the back end we have some database servers. What we need to do is come up with a backup solution for these database servers back here, to make sure we're backing it up consistently.

The problem is that we have a lot of data that needs to be backed up, so backup can take a really long time, and we have this recovery point objective of 15 minutes. So we cannot lose any more than 15 minutes, which means that we need to back up every 15 minutes. But I can tell you right now, taking a full backup of this every 15 minutes is just not going to be reasonable.

The considerations

So let's take a look at what some of the considerations are.

Is this data recreatable? No, it's not. People are logging into our systems and we're recording the information, we're recording their progress. So it is very critical for what we have, and we don't care too much about the cost. I mean, we always care about the cost, but we want to make sure we get backup correctly, because it's so critical to what we're doing.

Our recovery point objective is 15 minutes. For this right here we're not going to address the recovery time objective, because we're not dealing with disaster recovery right now — but if we're creating a disaster recovery plan, we would want to be concerned with that.

It would cause major, major disruption if it's down, and if we are taxing it by doing a backup during working hours, that can be problematic. So we can only back up things in the evenings and weekends, at least to any significant point, and we do have some backup windows in the evenings and weekends.

We do want to encrypt this, because we're concerned about security, and the information in this database is pretty dynamic. We've got people that are logging in at all hours of the day, and that information, what they're doing, needs to be recorded.

So what do we need to back up? There are probably a lot of systems and a lot of information that we need to back up with this, but for this exercise we're really focusing on the database and making sure we have a great plan to back up this database.

The frequency: as I mentioned, we need at least every 15 minutes. So this is the frequency at least that we need to have a backup copy of it, because we can't lose any more than 15 minutes worth of information on it.

Building the plan

We're going to need to create a plan for backing up this database server. It's very active and it's going to take a while to do, so we need to figure out what is a good solution for this.

The first thing we should address is we need a full backup. What we're going to do is grab a full backup during the weekend — there's really no other time. So we're going to start maybe around 6:00 p.m. on Friday night, and we already know from experience it's going to take about 48 hours, so it's going to work into Sunday. So now the weekend is spoken for. We need to do this initially.

So what else do we need to do? Next up, we want to consider how we can get differentials in here. We can't really do it during the daytime. If we were to do every 15 minutes, which is what our eventual goal is going to be, those differentials take too long — it's going to take hours to do those differentials. So that's not going to be doable, and it's going to be disruptive to our systems when we do it midday.

Instead, what we're going to have to do is put our differentials at night. So every night we'll do a differential. That would be Monday, Tuesday, Wednesday, and Thursday, and then when it comes to Friday, that's when we start our full.

So now we've got some differentials in there, but we need a target every 15 minutes. In order to do that, we can get some incrementals in there. The incrementals are going to back up these little tiny spaces that are in here. So we'll do incrementals throughout the day every single day, except for the weekend, to make sure that we have a copy of it every 15 minutes, a backup copy of the full database essentially.

What a restore looks like

Hopefully we never have to do a restore of this database, but if we do have to do a restore of the database, what does that look like?

Let's say things go terribly awry on Wednesday evening. Maybe we did a patch and it just was terrible and we need to fail back, and now we need to fail back to about 3:00 p.m. on Wednesday. What does that look like?

First of all, we're going to do a restore of this full database, so we've got the full. Next, we need a differential. Remember, a differential is going to be all the changes since the last full. So a differential is going to be there for Monday, there for Tuesday, there for Wednesday. Really we can't do Wednesday night, because it's past this point in time which we said is what we need, so what we're going to have to do is the differential from Tuesday.

So we do the differential on Tuesday, and then we need to go all of these incrementals that are throughout the day all the way up to 3:00 p.m. So all of those incrementals all the way up to 3:00 p.m., until we get fully restored back to that 3:00 p.m. on a Wednesday. So that's how a restore process is going to look.

How common this plan is, and one caveat

I would say that this is a pretty common backup plan for a lot of the places that I work. They vary a little bit, but most of the time during the day I'm doing some sort of incremental, and then in the evenings I'm doing a differential, or if I can I'll do a full in the evening and try to get a full every single evening. It depends on how much data you're backing up. There are different scenarios here, but essentially what you need to do is architect this according to the scenario.

I will also point out that we can't really use the archive attribute for rolling out this plan either, because if we are taking the incrementals during the day, it's resetting that archive bit and can be problematic with the differential. So we're going to need software that's more complex than working off of just straight the archive attribute that's being set on there.

About TechKnowSurge

TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.

Explore free tools and programs →