{"id":1373,"date":"2022-11-26T18:01:08","date_gmt":"2022-11-26T17:01:08","guid":{"rendered":"http:\/\/www.klaushaller.net\/?p=1373"},"modified":"2022-11-26T18:01:08","modified_gmt":"2022-11-26T17:01:08","slug":"backup-basics-on-backup-types-rto-rpo","status":"publish","type":"post","link":"https:\/\/www.klaushaller.net\/?p=1373","title":{"rendered":"Backup Basics: On Backup Types, RTO &amp; RPO"},"content":{"rendered":"\n<p>Recovery Point Objective (RPO) and Recovery Time Objective (RTO) are essential concepts for business-critical applications. The RTO defines the maximum time an application might be unavailable after a crash \u2013 or after a data center burns down (Figure 1). That is the time engineers (or automatic processes) have to start the application on other servers &#8211; potentially at a different location \u2013 and restore all necessary data from backups.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"http:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_1_RPO_RTO_Backup_Frequencies.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_1_RPO_RTO_Backup_Frequencies.png\" alt=\"\" class=\"wp-image-1375\" width=\"658\" height=\"238\" srcset=\"https:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_1_RPO_RTO_Backup_Frequencies.png 895w, https:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_1_RPO_RTO_Backup_Frequencies-300x109.png 300w, https:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_1_RPO_RTO_Backup_Frequencies-768x278.png 768w, https:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_1_RPO_RTO_Backup_Frequencies-624x226.png 624w\" sizes=\"auto, (max-width: 658px) 100vw, 658px\" \/><\/a><figcaption class=\"wp-element-caption\">Figure 1: Understanding RPO, RTO, and Backup Frequencies<\/figcaption><\/figure>\n\n\n\n<p>How much data might get lost max in such an event, this defines the RPO, the <strong>Recovery Point Objective<\/strong>. It depends on the backup frequency. If a company makes a backup each night at 4 am, the RPO is 24 hours. Then, if the data center burns down at 4:15, only the data from the last 15 minutes is lost. If it burns down at 3 am, the data from 23 hours is lost.<\/p>\n\n\n\n<p>One factor influencing the RTO is the time needed to restore the data from a backup. Network bandwidth and storage are significant factors, but so is the backup type. Full, incremental, and differential backups take different long.<\/p>\n\n\n\n<p>The starting point is always a <strong>full backup<\/strong>. The system writes all data to a secure backup storage (Figure 2). So, why would an architect not always go for a full backup? It is simple: Suppose an application is highly critical. Thus, the RPO is 5 min. Let us further assume that it is a massive database, but not much data changes within five minutes. Then, a full backup every five minutes seems too much. It might even be technically impossible, depending on network bandwidth and the amount of data. Incremental backups can be a better solution for such a scenario.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_2_Full_Incremental_Differential_Backups.png\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"340\" src=\"http:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_2_Full_Incremental_Differential_Backups.png\" alt=\"\" class=\"wp-image-1376\" srcset=\"https:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_2_Full_Incremental_Differential_Backups.png 605w, https:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_2_Full_Incremental_Differential_Backups-300x169.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Figure 2: Understanding Full, Incremental, and Differential Backups<\/figcaption><\/figure>\n\n\n\n<p>An <strong>incremental backup<\/strong> copies only the most recent changes away. If the last full backup was at 4 am, an incremental backup at 4:05 am copies the changes from the last five minutes. The next backup at 4:10 am copies, as well, only the changes of the last five minutes, i.e., the changes between 4:05 am and 4:10 am. Incremental backups have on disadvantage compared to full backups: the restoration time might be longer. To restore the situation of 4:10 am, one has to fully restore the data from 4 am, then apply what changed till 4.05 am, and then the incremental changes till 4:10 am.<\/p>\n\n\n\n<p>A middle way between incremental and full backups is the <strong>differential backup<\/strong>. A differential backup copies away all changes from the last full backup. At 4:05 am, a differential backup writes all changes of the last five minutes; at 4:10 am, all changes between 4:00 and 4:10, and at 4:15, all changes between 4:00 and 4:15. Thus, a restore of an incremental backup means: restore the full backup and (only) apply the changes of the last differential backup. However, these concepts get transparent with the cloud: the cloud providers implement standard configurations.<\/p>\n\n\n\n<p>The Azure Backup Center, for example, enables customers to configure several backups per day for VMs based on the Service Recovery Vaults, e.g., every 4 hours. The first one is a full backup; the subsequent backups are incremental (Figure 3). Microsoft has decided. However, these concepts are still crucial for architects and engineers if they implement their own solutions or use 3<sup>rd<\/sup> party software with sophisticated configuration features. Then, they have to optimize and experiment themselves to identify an appropriate balance between \u2026<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>backup frequency and full versus increment backups, and<\/li>\n\n\n\n<li>the needed time for restoring a backup impacting the RTO<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_3_Azure_Backup_Frequency.png\"><img loading=\"lazy\" decoding=\"async\" width=\"737\" height=\"459\" src=\"http:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_3_Azure_Backup_Frequency.png\" alt=\"\" class=\"wp-image-1377\" srcset=\"https:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_3_Azure_Backup_Frequency.png 737w, https:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_3_Azure_Backup_Frequency-300x187.png 300w, https:\/\/www.klaushaller.net\/wp-content\/uploads\/2022\/11\/61a_Figure_3_Azure_Backup_Frequency-624x389.png 624w\" sizes=\"auto, (max-width: 737px) 100vw, 737px\" \/><\/a><figcaption class=\"wp-element-caption\">Figure 3: Predefined options for backup policies regarding incremental and full backup periodicity in Azure<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Recovery Point Objective (RPO) and Recovery Time Objective (RTO) are essential concepts for business-critical applications. The RTO defines the maximum time an application might be unavailable after a crash \u2013 or after a data center burns down (Figure 1). That is the time engineers (or automatic processes) have to start the application on other servers [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1374,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,22,16,23],"tags":[49,51,50,52],"class_list":["post-1373","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-cloudsecurity","category-information-security","category-securityarchitecture","tag-backups","tag-bcm","tag-business-continuity-management","tag-desaster-recovery"],"_links":{"self":[{"href":"https:\/\/www.klaushaller.net\/index.php?rest_route=\/wp\/v2\/posts\/1373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.klaushaller.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.klaushaller.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.klaushaller.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.klaushaller.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1373"}],"version-history":[{"count":1,"href":"https:\/\/www.klaushaller.net\/index.php?rest_route=\/wp\/v2\/posts\/1373\/revisions"}],"predecessor-version":[{"id":1378,"href":"https:\/\/www.klaushaller.net\/index.php?rest_route=\/wp\/v2\/posts\/1373\/revisions\/1378"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.klaushaller.net\/index.php?rest_route=\/wp\/v2\/media\/1374"}],"wp:attachment":[{"href":"https:\/\/www.klaushaller.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.klaushaller.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.klaushaller.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}