{"id":160858,"date":"2023-06-15T08:48:51","date_gmt":"2023-06-15T07:48:51","guid":{"rendered":"https:\/\/www.devoteam.com\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/"},"modified":"2023-06-15T08:48:51","modified_gmt":"2023-06-15T07:48:51","slug":"sustainable-devops-anti-pattern-2-bad-data-virus","status":"publish","type":"expert-view","link":"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/","title":{"rendered":"Sustainable DevOps Anti-Pattern #2 &#8211; Bad Data Virus"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Problem<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bad* data in a system of origin (or Golden Source system) propagates to multiple downstream systems. If these downstream system are built on Highly Available (HA) architecture the bad data progates again multiple times. While old or stale data in a system may seem innocuous or even trivial, it\u2019s existance may have a larger impact then you realise.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In highly complex interconnected systems, data flows between systems regularly. These data flows can take the form of:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>real-time streaming of data between systems<\/li>\n\n\n\n<li>daily or nightly feeds between systems<\/li>\n\n\n\n<li>system backups<\/li>\n\n\n\n<li>data replication across instances of a system for redundancy and failover scenarios<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">There may also be tool migrations or upgrades in progress, further complicating the spread of bad data. \u201cWe&#8217;re migrating from Golden Source 1 to Golden Source 2, so we are not allowing any more changes to Golden Source 1. We\u2019ll clean it up later.\u201d Effectively this says that we will live with the virus, and the spread of bad data throughout our systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, there is the&nbsp;<strong>Fear Of Deleting Data (FODD)<\/strong>, making it even more difficult to \u201ckill\u201d the virus. (Follow us to read our upcoming Anti-Pattern #3 for more details.)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Bad-Data-Virus.png\" alt=\"\" class=\"wp-image-7475\" width=\"759\" height=\"500\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">While the management of old, stale or redundant data may be a low priority issue, due to the Bad Data Virus, the problem may be a magnitude larger than you realise in terms of:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cost of storage<\/li>\n\n\n\n<li>cost of data ingress and egress<\/li>\n\n\n\n<li>speed and performance of the systems storing this data<\/li>\n\n\n\n<li>user experience<\/li>\n\n\n\n<li>cost of carbon emissions. This is possibly the most important issue of all.&nbsp;<strong>Data Pollution causes Carbon Pollution.<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The problem of storing bad data may seem minor at team scale, but is serious at enterprise scale, and very serious at national and global scale.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Solution<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To avoid spreading the Bad Data Virus, bad data needs to be cleaned where it originates &#8211; in the Golden Source system. Any cleaning of the bad data in downstream systems is potentially wasted activity, as the Golden Source will still have the bad data so it will reappear in downstream systems after the next feed or data transfer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Due to the&nbsp;<strong>Fear of Deleting Data (FODD)<\/strong>, it is highly unlikely and possibly dangerous for data to be maintained and cleaned manually.&nbsp;<strong>Data maintenance policies must be automated.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Automated Data Maintenance<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Data Ingress<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In order to stop bad data getting into our systems, we need to design automated guardrails for data entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, all data should have an owner. Data should not be allowed into the system without an assigned owner. The owner should be a product, service or team. The owner should NOT be an individual. Individuals come and go, but the product and\/or service should be long-lived. If data has an owner, it is easier to ask the owner what to do with the data. If data does not have an owner, it is very difficult to determine the importance or usefulness of the data, so the data will likely remain in our systems due to FODD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Data Storage<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In order to keep our data stores clean, we need to define automated clean up policies based on well publicised data retention policies. Automated data maintenance policies provide comfort to the teams and services because the policies have been approved and are well understood. This eliminates FODD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, we may decide that \u201cSnapshot\u201d (or non-persistent) binary artifacts from our continuous build systems only need to reside in our Artifact Repository systems for 3 months before they can be deleted. Once this policy is in place, snapshot artifacts are automatically cleaned up and developers know that these artifacts won\u2019t last long. If they need persistent, long-lasting artifacts they should flag the artifacts as \u201cRelease\u201d artifacts. When these policies are in place and well understood, delivery teams will embed their own processes to ensure important artifacts are persisted properly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">See&nbsp;this <a href=\"https:\/\/uk.devoteam.com\/expert-view\/sustainable-devops-anti-pattern-1-data-explosion-through-automation\/\">Expert View article (part 1)<\/a>&nbsp;for more examples of data retention policies in DevOps tools.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The Bad Data Virus infects many of our IT systems. To improve efficiency, costs and most importantly the carbon emissions required to store and transfer old and stale data, implement automated data maintenance policies.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">*if we wanted to be more polite we could say&nbsp;<em>stale<\/em>&nbsp;data or&nbsp;<em>old<\/em>&nbsp;data, but unnecessary storage of data leading to unnecessary use of power (carbon) and water is&nbsp;<em>bad<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized is-style-rounded\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/graham-zabel-cropped-colour-tt-width-300-height-327-fill-0-crop-0-bgcolor-eeeeee-except_gif-1.jpg\" alt=\"\" class=\"wp-image-1858\" width=\"146\" height=\"159\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><a href=\"https:\/\/www.linkedin.com\/in\/grahamzabel\/\">Graham Zabel<\/a><\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">Head of DevOps <br>Devoteam UK<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem Bad* data in a system of origin (or Golden Source system) propagates to multiple downstream systems. If these downstream system are built on Highly Available (HA) architecture the bad data progates again multiple times. While old or stale data in a system may seem innocuous or even trivial, it\u2019s existance may have a larger [&hellip;]<\/p>\n","protected":false},"featured_media":112669,"template":"","categories":[751,756],"tags":[1148],"industry":[],"class_list":["post-160858","expert-view","type-expert-view","status-publish","has-post-thumbnail","hentry","category-aws-uk","category-cybersecurity","tag-uk-import-uk"],"acf":[],"cards":"\n\t<div class=\"single-post-card\">\n\n\t\t<figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/\" target=\"_self\" ><img width=\"1280\" height=\"720\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Sustainable DevOps Anti-Pattern #2 &#8211; Bad Data Virus\" style=\"aspect-ratio:4\/3;width:100%;object-fit:cover;\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47.png 1280w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47-300x169.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47-1024x576.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47-768x432.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/a><\/figure>\n\n\t\t\n\t\t<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-43282307 wp-block-group-is-layout-flex\">\n\t<p style=\"font-style:normal;font-weight:700\" class=\"has-link-color wp-elements-1 wp-block-lp-post-type has-text-color has-primary-color has-small-font-size\">Expert View<\/p>\n\n\t\t\n\t\t<h3 style=\"font-style:normal;font-weight:400\" class=\"wp-block-post-title has-base-font-size\"><a href=\"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/\" target=\"_self\" >Sustainable DevOps Anti-Pattern #2 &#8211; Bad Data Virus<\/a><\/h3><\/div>\n\t\t\n\t<\/div>\n\n","yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Sustainable DevOps Anti-Pattern #2 - Bad Data Virus | Devoteam<\/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:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sustainable DevOps Anti-Pattern #2 - Bad Data Virus\" \/>\n<meta property=\"og:description\" content=\"Problem Bad* data in a system of origin (or Golden Source system) propagates to multiple downstream systems. If these downstream system are built on Highly Available (HA) architecture the bad data progates again multiple times. While old or stale data in a system may seem innocuous or even trivial, it\u2019s existance may have a larger [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/\" \/>\n<meta property=\"og:site_name\" content=\"Devoteam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/sustainable-devops-anti-pattern-2-bad-data-virus\\\/\",\"url\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/sustainable-devops-anti-pattern-2-bad-data-virus\\\/\",\"name\":\"Sustainable DevOps Anti-Pattern #2 - Bad Data Virus | Devoteam\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/sustainable-devops-anti-pattern-2-bad-data-virus\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/sustainable-devops-anti-pattern-2-bad-data-virus\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/A-Cloud-Linkedin-Haiilo-47.png\",\"datePublished\":\"2023-06-15T07:48:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/sustainable-devops-anti-pattern-2-bad-data-virus\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/sustainable-devops-anti-pattern-2-bad-data-virus\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/sustainable-devops-anti-pattern-2-bad-data-virus\\\/#primaryimage\",\"url\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/A-Cloud-Linkedin-Haiilo-47.png\",\"contentUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/A-Cloud-Linkedin-Haiilo-47.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/sustainable-devops-anti-pattern-2-bad-data-virus\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expert View\",\"item\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Sustainable DevOps Anti-Pattern #2 &#8211; Bad Data Virus\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/#website\",\"url\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/\",\"name\":\"Devoteam\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sustainable DevOps Anti-Pattern #2 - Bad Data Virus | Devoteam","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:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/","og_locale":"en_GB","og_type":"article","og_title":"Sustainable DevOps Anti-Pattern #2 - Bad Data Virus","og_description":"Problem Bad* data in a system of origin (or Golden Source system) propagates to multiple downstream systems. If these downstream system are built on Highly Available (HA) architecture the bad data progates again multiple times. While old or stale data in a system may seem innocuous or even trivial, it\u2019s existance may have a larger [&hellip;]","og_url":"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/","og_site_name":"Devoteam","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/","url":"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/","name":"Sustainable DevOps Anti-Pattern #2 - Bad Data Virus | Devoteam","isPartOf":{"@id":"https:\/\/devoteam.info\/uk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/#primaryimage"},"image":{"@id":"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/#primaryimage"},"thumbnailUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47.png","datePublished":"2023-06-15T07:48:51+00:00","breadcrumb":{"@id":"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/#primaryimage","url":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47.png","contentUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/devoteam.info\/uk\/expert-view\/sustainable-devops-anti-pattern-2-bad-data-virus\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devoteam.info\/uk\/"},{"@type":"ListItem","position":2,"name":"Expert View","item":"https:\/\/devoteam.info\/uk\/expert-view\/"},{"@type":"ListItem","position":3,"name":"Sustainable DevOps Anti-Pattern #2 &#8211; Bad Data Virus"}]},{"@type":"WebSite","@id":"https:\/\/devoteam.info\/uk\/#website","url":"https:\/\/devoteam.info\/uk\/","name":"Devoteam","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devoteam.info\/uk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"}]}},"uagb_featured_image_src":{"full":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47.png",1280,720,false],"thumbnail":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47-150x150.png",150,150,true],"medium":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47-300x169.png",300,169,true],"medium_large":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47-768x432.png",768,432,true],"large":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47-1024x576.png",1024,576,true],"1536x1536":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47.png",1280,720,false],"2048x2048":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/A-Cloud-Linkedin-Haiilo-47.png",1280,720,false]},"uagb_author_info":{"display_name":"Julien Pawlowski","author_link":"https:\/\/devoteam.info\/uk\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"Problem Bad* data in a system of origin (or Golden Source system) propagates to multiple downstream systems. If these downstream system are built on Highly Available (HA) architecture the bad data progates again multiple times. While old or stale data in a system may seem innocuous or even trivial, it\u2019s existance may have a larger&hellip;","_links":{"self":[{"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/expert-view\/160858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/expert-view"}],"about":[{"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/types\/expert-view"}],"version-history":[{"count":0,"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/expert-view\/160858\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/media\/112669"}],"wp:attachment":[{"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/media?parent=160858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/categories?post=160858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/tags?post=160858"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/industry?post=160858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}