{"id":570,"date":"2025-08-08T18:00:16","date_gmt":"2025-08-08T16:00:16","guid":{"rendered":"https:\/\/www.systemdeveloper.nl\/tech\/?p=570"},"modified":"2025-08-08T18:00:17","modified_gmt":"2025-08-08T16:00:17","slug":"designing-a-self-maintaining-infrastructure","status":"publish","type":"post","link":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/","title":{"rendered":"Designing a Self-Maintaining Infrastructure"},"content":{"rendered":"<h2 class=\"wp-block-heading\" id=\"designing-a-self-maintaining-infrastructure-platform-from-backups-to-behavioral-intelligence\">Designing a Self-Maintaining Infrastructure Platform. From Backups to Behavioral Intelligence<\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">For the past few months, I&rsquo;ve been quietly building something I always wanted in my infrastructure: a system that doesn&rsquo;t just <strong>run backups<\/strong>, <strong>monitor metrics<\/strong>, and <strong>collect logs<\/strong>, but actually <strong>understands<\/strong> them. A system that adapts, responds, and even questions itself when things go sideways.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">This isn&rsquo;t another all-in-one SaaS product or vendor-locked platform. It&rsquo;s a <strong>modular, AI-assisted, self-evolving infrastructure control center<\/strong>, built entirely from open systems, hand-crafted integrations, and a healthy dose of stubborn pragmatism.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h3 class=\"wp-block-heading\" id=\"the-core-philosophy-automate-what-matters-and-understand-the-rest\">The Core Philosophy: Automate What Matters and understand the Rest<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">The project started as a better way to manage and report on backups. But like most good tools, it started to <strong>grow sideways<\/strong>:<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>I needed better <strong>monitoring<\/strong> &rarr; so I added a modular check-agent system.<\/li>\n\n\n\n<li>I needed logs to mean something &rarr; so I connected everything via <strong>syslog and Graylog<\/strong>.<\/li>\n\n\n\n<li>I wanted reporting without micromanaging &rarr; so I built a <strong>template-based dynamic report engine<\/strong>.<\/li>\n\n\n\n<li>I needed data from other systems (like Zabbix) &rarr; so I synced that too.<\/li>\n\n\n\n<li>I wanted to know <em>why<\/em> something failed, not just <em>what<\/em> &rarr; so I started adding <strong>smart validation rules<\/strong> and early AI hooks.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">This thing isn&rsquo;t just tracking metrics anymore. It&rsquo;s <strong>reasoning<\/strong> about them.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h3 class=\"wp-block-heading\" id=\"what-it-does-without-getting-too-nerdy\">What It Does (Without Getting Too Nerdy)<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Here&rsquo;s a high-level view of what the platform manages:<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>\n<strong>Tiered Backups (XFS + ZFS)<\/strong> with live scheduling, snapshot validation, and predictive planning.<\/li>\n\n\n\n<li>\n<strong>Monitoring Agents<\/strong> pulling from central rulesets, dynamically tunable and group-assigned.<\/li>\n\n\n\n<li>\n<strong>Syslog-based ingestion pipeline<\/strong>, pushing agent logs and system events into Graylog, with a custom UDP listener feeding an InfluxDB backend.<\/li>\n\n\n\n<li>\n<strong>Visual Dashboards in Grafana<\/strong>, linked to alerts, patterns, and anomalies.<\/li>\n\n\n\n<li>\n<strong>Modular Web Backend<\/strong> for full control over servers, checks, backup settings, network mappings, thresholds, etc.<\/li>\n\n\n\n<li>\n<strong>Report Generator<\/strong> that pulls from live SQL queries, conditionally includes data, and supports output formats like email, HTML, and JSON.<\/li>\n\n\n\n<li>\n<strong>Early-stage AI logic<\/strong>, using historical patterns and validation rules to detect misconfigurations and surface root causes before humans even log in.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">All of this is stitched together in a way that&rsquo;s <strong>fast<\/strong>, <strong>transparent<\/strong>, and <strong>controlled entirely by me<\/strong>, not a third-party provider.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h3 class=\"wp-block-heading\" id=\"ai-is-the-icing-not-the-cake\">AI Is the Icing, Not the Cake<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">What&rsquo;s exciting isn&rsquo;t that it &ldquo;uses AI&rdquo;. It&rsquo;s that AI is simply a layer <strong>on top of real-time, curated, high-fidelity data<\/strong>. The platform already knows:<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>What ran when<\/li>\n\n\n\n<li>What failed<\/li>\n\n\n\n<li>What should have run<\/li>\n\n\n\n<li>What resources were involved<\/li>\n\n\n\n<li>What was expected and whether it was reasonable<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">That makes it incredibly powerful for <strong>ad-hoc investigation<\/strong>, trend spotting, or automatic behavior tuning.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h3 class=\"wp-block-heading\" id=\"why-build-it-yourself\">Why Build It Yourself?<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Because nothing else gave me this level of <strong>precision<\/strong>, <strong>adaptability<\/strong>, and <strong>ownership<\/strong>. I&rsquo;m a solo developer\/sysadmin who doesn&rsquo;t want to be on call 24\/7 but also doesn&rsquo;t want black boxes managing production systems.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">This platform lets me:<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Roll out a new monitoring rule across 100+ servers with a single click.<\/li>\n\n\n\n<li>Identify which backups haven&rsquo;t run and <em>why<\/em> in seconds.<\/li>\n\n\n\n<li>Detect if a server is underperforming based on <strong>context<\/strong>, not just thresholds.<\/li>\n\n\n\n<li>Customize retention, triggers, checks, and logic per VPS, per group, per rule.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">And it&rsquo;s all driven by <strong>clean, structured data<\/strong>, not magic or marketing slides.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h3 class=\"wp-block-heading\" id=\"whate28099s-next\">What&rsquo;s Next?<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">I&rsquo;m still refining parts, syncing more deeply with Zabbix, improving anomaly detection and basically&#8230; I need to rewrite a few parts that are based on too many &#8216;Hmm, what if&#8230;.&#8217; moments in deep and dark nights filled with Trash Metal on Spotify.<br><\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">But the goal is clear:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>To create an infrastructure system that doesn&#8217;t just react but thinks ahead.<\/strong><\/p>\n<\/blockquote>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Designing a Self-Maintaining Infrastructure Platform. From Backups to Behavioral Intelligence For the past few months, I&rsquo;ve been quietly building something I always wanted in my infrastructure: a system that doesn&rsquo;t just run backups, monitor metrics, and collect logs, but actually understands them. A system that adapts, responds, and even questions itself when things go sideways. &hellip;<\/p>\n","protected":false},"author":1,"featured_media":571,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28,36,16],"tags":[],"class_list":["post-570","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-future-ideas","category-tech-innovation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Designing a Self-Maintaining Infrastructure - SystemDeveloper.NL<\/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:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Designing a Self-Maintaining Infrastructure - SystemDeveloper.NL\" \/>\n<meta property=\"og:description\" content=\"Designing a Self-Maintaining Infrastructure Platform. From Backups to Behavioral Intelligence For the past few months, I&rsquo;ve been quietly building something I always wanted in my infrastructure: a system that doesn&rsquo;t just run backups, monitor metrics, and collect logs, but actually understands them. A system that adapts, responds, and even questions itself when things go sideways. &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/\" \/>\n<meta property=\"og:site_name\" content=\"SystemDeveloper.NL\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/quan.tora.16\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-08T16:00:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-08T16:00:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/08\/c1de7be5-91fe-46c2-9beb-59b8ec17640d-e1754668768149.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"John Timmer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John Timmer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/\"},\"author\":{\"name\":\"John Timmer\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/person\\\/5760c2ed5300c56d8ef01dfb00a9763b\"},\"headline\":\"Designing a Self-Maintaining Infrastructure\",\"datePublished\":\"2025-08-08T16:00:16+00:00\",\"dateModified\":\"2025-08-08T16:00:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/\"},\"wordCount\":597,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/c1de7be5-91fe-46c2-9beb-59b8ec17640d-e1754668768149.png\",\"articleSection\":[\"AI\",\"Future ideas\",\"Tech Innovation\"],\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/\",\"name\":\"Designing a Self-Maintaining Infrastructure - SystemDeveloper.NL\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/c1de7be5-91fe-46c2-9beb-59b8ec17640d-e1754668768149.png\",\"datePublished\":\"2025-08-08T16:00:16+00:00\",\"dateModified\":\"2025-08-08T16:00:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/c1de7be5-91fe-46c2-9beb-59b8ec17640d-e1754668768149.png\",\"contentUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/c1de7be5-91fe-46c2-9beb-59b8ec17640d-e1754668768149.png\",\"width\":1024,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/designing-a-self-maintaining-infrastructure\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Designing a Self-Maintaining Infrastructure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#website\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/\",\"name\":\"www.systemdeveloper.nl\",\"description\":\"NextGen IT\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#organization\",\"name\":\"www.systemdeveloper.nl\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/qt-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/qt-logo.png\",\"width\":1346,\"height\":1230,\"caption\":\"www.systemdeveloper.nl\"},\"image\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/quan.tora.16\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/person\\\/5760c2ed5300c56d8ef01dfb00a9763b\",\"name\":\"John Timmer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg\",\"caption\":\"John Timmer\"},\"sameAs\":[\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\"],\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Designing a Self-Maintaining Infrastructure - SystemDeveloper.NL","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:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/","og_locale":"en_US","og_type":"article","og_title":"Designing a Self-Maintaining Infrastructure - SystemDeveloper.NL","og_description":"Designing a Self-Maintaining Infrastructure Platform. From Backups to Behavioral Intelligence For the past few months, I&rsquo;ve been quietly building something I always wanted in my infrastructure: a system that doesn&rsquo;t just run backups, monitor metrics, and collect logs, but actually understands them. A system that adapts, responds, and even questions itself when things go sideways. &hellip;","og_url":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/","og_site_name":"SystemDeveloper.NL","article_publisher":"https:\/\/www.facebook.com\/quan.tora.16","article_published_time":"2025-08-08T16:00:16+00:00","article_modified_time":"2025-08-08T16:00:17+00:00","og_image":[{"width":1024,"height":768,"url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/08\/c1de7be5-91fe-46c2-9beb-59b8ec17640d-e1754668768149.png","type":"image\/png"}],"author":"John Timmer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"John Timmer","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/#article","isPartOf":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/"},"author":{"name":"John Timmer","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/person\/5760c2ed5300c56d8ef01dfb00a9763b"},"headline":"Designing a Self-Maintaining Infrastructure","datePublished":"2025-08-08T16:00:16+00:00","dateModified":"2025-08-08T16:00:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/"},"wordCount":597,"commentCount":0,"publisher":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#organization"},"image":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/08\/c1de7be5-91fe-46c2-9beb-59b8ec17640d-e1754668768149.png","articleSection":["AI","Future ideas","Tech Innovation"],"inLanguage":"en","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/","url":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/","name":"Designing a Self-Maintaining Infrastructure - SystemDeveloper.NL","isPartOf":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/#primaryimage"},"image":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/08\/c1de7be5-91fe-46c2-9beb-59b8ec17640d-e1754668768149.png","datePublished":"2025-08-08T16:00:16+00:00","dateModified":"2025-08-08T16:00:17+00:00","breadcrumb":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/"]}]},{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/#primaryimage","url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/08\/c1de7be5-91fe-46c2-9beb-59b8ec17640d-e1754668768149.png","contentUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/08\/c1de7be5-91fe-46c2-9beb-59b8ec17640d-e1754668768149.png","width":1024,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/www.systemdeveloper.nl\/tech\/designing-a-self-maintaining-infrastructure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.systemdeveloper.nl\/tech\/"},{"@type":"ListItem","position":2,"name":"Designing a Self-Maintaining Infrastructure"}]},{"@type":"WebSite","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#website","url":"https:\/\/www.systemdeveloper.nl\/tech\/","name":"www.systemdeveloper.nl","description":"NextGen IT","publisher":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.systemdeveloper.nl\/tech\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#organization","name":"www.systemdeveloper.nl","url":"https:\/\/www.systemdeveloper.nl\/tech\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/logo\/image\/","url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/qt-logo.png","contentUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/qt-logo.png","width":1346,"height":1230,"caption":"www.systemdeveloper.nl"},"image":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/quan.tora.16"]},{"@type":"Person","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/person\/5760c2ed5300c56d8ef01dfb00a9763b","name":"John Timmer","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg","url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg","contentUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg","caption":"John Timmer"},"sameAs":["https:\/\/www.systemdeveloper.nl\/tech"],"url":"https:\/\/www.systemdeveloper.nl\/tech\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts\/570","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/comments?post=570"}],"version-history":[{"count":1,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts\/570\/revisions"}],"predecessor-version":[{"id":573,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts\/570\/revisions\/573"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/media\/571"}],"wp:attachment":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/media?parent=570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/categories?post=570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/tags?post=570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}