{"id":3286,"date":"2022-10-05T08:47:19","date_gmt":"2022-10-05T08:47:19","guid":{"rendered":"https:\/\/gitprotect.io\/blog\/?p=3286"},"modified":"2024-03-05T10:35:15","modified_gmt":"2024-03-05T10:35:15","slug":"github-high-availability-why-it-should-never-be-considered-as-a-regular-backup","status":"publish","type":"post","link":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/","title":{"rendered":"GitHub High Availability &#8211; Why It Should Never Be Considered as a Regular Backup"},"content":{"rendered":"\n<p>We do backups. That is a fact. The open question is whether we do them well. You can discuss this, show the pros and cons of specific solutions, or refer to examples you have encountered by yourself. Is our own solution better? How about third-party tools? The cloud? There doesn\u2019t exist an ideal solution, because often the approach to backup and recovery depends not only on what our product is, but also on what technologies we currently use, and our experience with them.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">What is High Availability<\/h2>\n\n\n\n<p><a href=\"https:\/\/gitprotect.io\/blog\/github-enterprise-server-overview\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub Enterprise Server<\/a> is a self-hosted platform for software development. Due to the fact that it runs on our own infrastructure, we can decide on security policies, access control, monitoring, and other characteristics. It even has its own tools for backup solutions. Moreover, <a href=\"https:\/\/gitprotect.io\/blog\/github-enterprise-server-backup-utilities-and-third-party-backup-software\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub Enterprise Server has also introduced some additional protection<\/a>. It&#8217;s good that we have a backup in case of any problem, but this is only a response to the consequence of our application malfunctioning. However, what about disruption? What to do during these outages? During these critical events, we are dealing with data loss so we have to take care of this aspect, as well.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p style=\"font-size:22px\">Eliminate data loss risk and ensure business continuity with <strong>the first TRUE Disaster Recovery software for GitHub<\/strong>.  <\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-background wp-element-button\" href=\"https:\/\/gitprotect.io\/sign-up.html\" style=\"border-radius:50px;background-color:#ff0300\" target=\"_blank\" rel=\"noreferrer noopener\">Start 14 days free GitProtect trial<\/a><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>High Availability mode allows us to minimize the interruption of our services<\/strong> in the event of unexpected technical problems with our appliances. For example, network issues, hardware failures, or software crashes. Such a secondary instance is in sync with the original one, and proper configuration allows us to build an automated setup for asynchronous replication of Git repositories, MySQL, etc. Such replicas can operate in the so-called &#8220;active\/passive configuration&#8221; which means that the replicated appliances are up-and-running as a standby. In that mode database services run in the replication mode, but all our services in that instance are stopped.&nbsp;<\/p>\n\n\n\n<p>You should also be aware that <a href=\"https:\/\/gitprotect.io\/blog\/github-enterprise-server-overview\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub Enterprise Server<\/a> limits the number of such instances. The information from the official documentation looks precisely like this:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"733\" height=\"95\" src=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/post.png\" alt=\"GitHub Enterprise Server limitations\" class=\"wp-image-3287\" style=\"width:688px;height:89px\" srcset=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/post.png 733w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/post-300x39.png 300w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/post-400x52.png 400w\" sizes=\"(max-width: 733px) 100vw, 733px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\">High Availability configuration<\/h2>\n\n\n\n<p>GitHub Enterprise Server provides us with a tool to help configure our HA replicas. Using an SSH connection, we can connect with the replicas and run some commands to trigger proper actions. Let\u2019s look at them:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ghe-repl-setup<\/strong> &#8211; puts Server appliance in replica standby mode\n<ul class=\"wp-block-list\">\n<li>encrypted VPN tunnel is configured for communication<\/li>\n\n\n\n<li>database services are configured for replication<\/li>\n\n\n\n<li>application services are disabled<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>ghe-repl-start<\/strong> &#8211; turns on active replication of all datastores<\/li>\n\n\n\n<li><strong>ghe-repl-stop<\/strong> &#8211;&nbsp; stops replication services, can be resumed by <em>ghe-repl-start<\/em><\/li>\n\n\n\n<li><strong>ghe-repl-status<\/strong> &#8211; returns status for each datastore replication stream, use flag -v for detailed message<\/li>\n\n\n\n<li><strong>ghe-repl-promote <\/strong>&#8211; disables replication and takes the replica appliance to a primary status<\/li>\n<\/ul>\n\n\n\n<p>The replica appliance is a redundant copy of the primary appliance. If the main one fails, the high availability mode allows the replica to act as the primary appliance. The <strong>creation of the replica itself is quite easy<\/strong>. Without going into technical details, we need to perform the following steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>create a new GitHub Enterprise Server appliance (mirrored to the primary one)<\/li>\n\n\n\n<li>make sure that communication between instances works well<\/li>\n\n\n\n<li>set up admin password (need to match the primary one)<\/li>\n\n\n\n<li>add SSH key<\/li>\n\n\n\n<li>use ghe-repl-setup command with proper parameters<\/li>\n\n\n\n<li>add the public key to a whitelist<\/li>\n\n\n\n<li>start replication<\/li>\n<\/ul>\n\n\n\n<p>Configuration for geo-replication is quite different but I will not focus on that feature right now. The idea is similar and that\u2019s enough at that point.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Is High Availability similar to clustering?<\/h2>\n\n\n\n<p>Well.. no. HA provides redundancy by primary or secondary failover configuration. Clustering, on the other hand, provides redundancy and scalability by additional nodes. In both cases, we avoid the risks associated with using a single node only. So we can avoid the dangers like hardware failure (in one node), virtualization issues, or network issues. However, <strong>clustering allows us to do horizontal scaling<\/strong>, which gives us more options and can be crucial for our product.&nbsp;<\/p>\n\n\n\n<p>There is another fact working against HA on the topic of scaling-out. Although there is something called geo-replication that allows us to distribute traffic geographically, there is one &#8220;problem&#8221; here. The performance of the HA solution is limited to the speed and availability of our primary instance. This is because each written request to a replica requires sending data to the original appliance first,&nbsp; and then distributing it to all replicas.<\/p>\n\n\n\n<p class=\"has-background\" style=\"background:linear-gradient(135deg,rgb(238,238,238) 0%,rgb(254,254,254) 100%)\">You may find this topic interesting: <a href=\"https:\/\/gitprotect.io\/blog\/how-to-clone-using-ssh-in-git\/\" target=\"_blank\" rel=\"noreferrer noopener\">git clone with SSH key<\/a>. For many security experts, SSH is a golden standard, hence it\u2019s worth to implement it into your git operations. Using SSH keys you can limit the risk of data interception by unauthorized persons. Another benefit is\u2026<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">High Availability is not a backup solution!<\/h2>\n\n\n\n<p>Let&#8217;s start by saying that neither solution is in any way a substitute for a full-fledged backup approach. Even the authors themselves report that HA should not be treated as a backup. Let me quote them here:<\/p>\n\n\n\n<p><em>\u201cA high availability replica does not replace off-site backups in your disaster recovery plan. Some forms of data corruption or loss may be replicated immediately from the primary to the replica. To ensure safe rollback to a stable past state, you must perform regular backups with historical snapshots.\u201d<\/em><\/p>\n\n\n\n<p>This is due to what I have described above, which is how data replication works with High Availability. A backup and recovery plan is necessary regardless of whether you use GitHub HA or not. Regarding the need to back up your GitHub environment, by the way, I recommend reading our article dedicated to <a href=\"https:\/\/gitprotect.io\/blog\/github-backup-best-practices\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub backup best practices<\/a>.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>According to the definition and common sense, a good backup solution should include automation, encryption, data retention, and restore plan, etc. Neither GitHub HA nor clustering provides us with this. Both solutions have their right to exist and we will certainly benefit from using them, but their task is quite different. GitHub High Availability is not a backup, so we need another tool for that. There are a few options, but when it comes to providing \u201cbusiness continuity\u201d <a href=\"https:\/\/gitprotect.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitProtect<\/a> is the only one with real Disaster Recovery features and backup replication. Both are critical aspects of any DR planning. But that&#8217;s a completely different story.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We do backups. That is a fact. The open question is whether we do them well. You can discuss this, show the pros and cons of specific solutions, or refer to examples you have encountered by yourself. Is our own solution better? How about third-party tools? The cloud? There doesn\u2019t exist an ideal solution, because often the approach to backup and recovery depends not only on what our product is, but also on what technologies we currently use, and our experience with them.<\/p>\n","protected":false},"author":6,"featured_media":3288,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-3286","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-github","post--single"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>GitHub High Availability - Why It Should Never Be Considered as a Regular Backup - Blog | GitProtect.io<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GitHub High Availability - Why It Should Never Be Considered as a Regular Backup - Blog | GitProtect.io\" \/>\n<meta property=\"og:description\" content=\"We do backups. That is a fact. The open question is whether we do them well. You can discuss this, show the pros and cons of specific solutions, or refer to examples you have encountered by yourself. Is our own solution better? How about third-party tools? The cloud? There doesn\u2019t exist an ideal solution, because often the approach to backup and recovery depends not only on what our product is, but also on what technologies we currently use, and our experience with them.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog | GitProtect.io\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/XoperoSoftware\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-05T08:47:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-05T10:35:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/GitHub_HA_post.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tomasz Lisowski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GitProtectio\" \/>\n<meta name=\"twitter:site\" content=\"@GitProtectio\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tomasz Lisowski\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/\"},\"author\":{\"name\":\"Tomasz Lisowski\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/9437be55e0e82150a20247f63e2fef79\"},\"headline\":\"GitHub High Availability &#8211; Why It Should Never Be Considered as a Regular Backup\",\"datePublished\":\"2022-10-05T08:47:19+00:00\",\"dateModified\":\"2024-03-05T10:35:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/\"},\"wordCount\":1055,\"publisher\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/GitHub_HA_post.png\",\"articleSection\":[\"GitHub\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/\",\"name\":\"GitHub High Availability - Why It Should Never Be Considered as a Regular Backup - Blog | GitProtect.io\",\"isPartOf\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/GitHub_HA_post.png\",\"datePublished\":\"2022-10-05T08:47:19+00:00\",\"dateModified\":\"2024-03-05T10:35:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#primaryimage\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/GitHub_HA_post.png\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/GitHub_HA_post.png\",\"width\":1200,\"height\":600,\"caption\":\"GitHub High Availability is not true backup\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/gitprotect.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GitHub High Availability &#8211; Why It Should Never Be Considered as a Regular Backup\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#website\",\"url\":\"https:\/\/gitprotect.io\/blog\/\",\"name\":\"GitProtect.io Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/gitprotect.io\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\",\"name\":\"GitProtect.io\",\"url\":\"https:\/\/gitprotect.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png\",\"width\":528,\"height\":528,\"caption\":\"GitProtect.io\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/XoperoSoftware\/\",\"https:\/\/x.com\/GitProtectio\",\"https:\/\/www.linkedin.com\/company\/xopero-software\/\",\"https:\/\/www.youtube.com\/channel\/UCiEnl6n0mIO6w7twccz-l2w\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/9437be55e0e82150a20247f63e2fef79\",\"name\":\"Tomasz Lisowski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/tomasz-lisowski_avatar-96x96.jpg\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/tomasz-lisowski_avatar-96x96.jpg\",\"caption\":\"Tomasz Lisowski\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/tomasz-lisowski-01366a75\/\"],\"url\":\"https:\/\/gitprotect.io\/blog\/author\/tomasz-lisowski\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GitHub High Availability - Why It Should Never Be Considered as a Regular Backup - Blog | GitProtect.io","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/","og_locale":"en_US","og_type":"article","og_title":"GitHub High Availability - Why It Should Never Be Considered as a Regular Backup - Blog | GitProtect.io","og_description":"We do backups. That is a fact. The open question is whether we do them well. You can discuss this, show the pros and cons of specific solutions, or refer to examples you have encountered by yourself. Is our own solution better? How about third-party tools? The cloud? There doesn\u2019t exist an ideal solution, because often the approach to backup and recovery depends not only on what our product is, but also on what technologies we currently use, and our experience with them.","og_url":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/","og_site_name":"Blog | GitProtect.io","article_publisher":"https:\/\/www.facebook.com\/XoperoSoftware\/","article_published_time":"2022-10-05T08:47:19+00:00","article_modified_time":"2024-03-05T10:35:15+00:00","og_image":[{"width":1200,"height":600,"url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/GitHub_HA_post.png","type":"image\/png"}],"author":"Tomasz Lisowski","twitter_card":"summary_large_image","twitter_creator":"@GitProtectio","twitter_site":"@GitProtectio","twitter_misc":{"Written by":"Tomasz Lisowski","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#article","isPartOf":{"@id":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/"},"author":{"name":"Tomasz Lisowski","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/9437be55e0e82150a20247f63e2fef79"},"headline":"GitHub High Availability &#8211; Why It Should Never Be Considered as a Regular Backup","datePublished":"2022-10-05T08:47:19+00:00","dateModified":"2024-03-05T10:35:15+00:00","mainEntityOfPage":{"@id":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/"},"wordCount":1055,"publisher":{"@id":"https:\/\/gitprotect.io\/blog\/#organization"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#primaryimage"},"thumbnailUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/GitHub_HA_post.png","articleSection":["GitHub"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/","url":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/","name":"GitHub High Availability - Why It Should Never Be Considered as a Regular Backup - Blog | GitProtect.io","isPartOf":{"@id":"https:\/\/gitprotect.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#primaryimage"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#primaryimage"},"thumbnailUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/GitHub_HA_post.png","datePublished":"2022-10-05T08:47:19+00:00","dateModified":"2024-03-05T10:35:15+00:00","breadcrumb":{"@id":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#primaryimage","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/GitHub_HA_post.png","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/10\/GitHub_HA_post.png","width":1200,"height":600,"caption":"GitHub High Availability is not true backup"},{"@type":"BreadcrumbList","@id":"https:\/\/gitprotect.io\/blog\/github-high-availability-why-it-should-never-be-considered-as-a-regular-backup\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/gitprotect.io\/blog\/"},{"@type":"ListItem","position":2,"name":"GitHub High Availability &#8211; Why It Should Never Be Considered as a Regular Backup"}]},{"@type":"WebSite","@id":"https:\/\/gitprotect.io\/blog\/#website","url":"https:\/\/gitprotect.io\/blog\/","name":"GitProtect.io Blog","description":"","publisher":{"@id":"https:\/\/gitprotect.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gitprotect.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/gitprotect.io\/blog\/#organization","name":"GitProtect.io","url":"https:\/\/gitprotect.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png","width":528,"height":528,"caption":"GitProtect.io"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/XoperoSoftware\/","https:\/\/x.com\/GitProtectio","https:\/\/www.linkedin.com\/company\/xopero-software\/","https:\/\/www.youtube.com\/channel\/UCiEnl6n0mIO6w7twccz-l2w"]},{"@type":"Person","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/9437be55e0e82150a20247f63e2fef79","name":"Tomasz Lisowski","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/tomasz-lisowski_avatar-96x96.jpg","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/tomasz-lisowski_avatar-96x96.jpg","caption":"Tomasz Lisowski"},"sameAs":["https:\/\/www.linkedin.com\/in\/tomasz-lisowski-01366a75\/"],"url":"https:\/\/gitprotect.io\/blog\/author\/tomasz-lisowski\/"}]}},"_links":{"self":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/3286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/comments?post=3286"}],"version-history":[{"count":5,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/3286\/revisions"}],"predecessor-version":[{"id":4963,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/3286\/revisions\/4963"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/media\/3288"}],"wp:attachment":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/media?parent=3286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/categories?post=3286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/tags?post=3286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}