Files
nexus/sreweekly/articles/505/06-resilience-vs-fault-tolerance.html
2026-09-12 17:23:01 +08:00

1234 lines
41 KiB
HTML

<!DOCTYPE HTML>
<html>
<head>
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "BlogPosting",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https:\/\/ufried.com\/"
},
"articleSection" : "blog",
"name" : "Resilience vs. Fault tolerance",
"headline" : "Resilience vs. Fault tolerance",
"description" : "Are they the same thing?",
"inLanguage" : "en",
"author" : "Uwe Friedrichsen",
"creator" : "Uwe Friedrichsen",
"publisher": "Uwe Friedrichsen",
"accountablePerson" : "Uwe Friedrichsen",
"copyrightHolder" : "Uwe Friedrichsen",
"copyrightYear" : "2022",
"datePublished": "2022-05-06 00:00:00 \u002b0000 UTC",
"dateModified" : "2022-05-06 00:00:00 \u002b0000 UTC",
"url" : "https:\/\/ufried.com\/blog\/resilience_vs_fault_tolerance\/",
"wordCount" : "1528",
"keywords" : [ "resilience","Blog" ]
}
</script>
<title>Resilience vs. Fault tolerance</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Hugo 0.161.0">
<link href="https://ufried.com/favicon.ico" type="image/x-icon" rel="icon" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href='https://ufried.com/favicon/apple-touch-icon-57x57.png'>
<link rel="apple-touch-icon-precomposed" sizes="114x114" href='https://ufried.com/favicon/apple-touch-icon-114x114.png'>
<link rel="apple-touch-icon-precomposed" sizes="72x72" href='https://ufried.com/favicon/apple-touch-icon-72x72.png'>
<link rel="apple-touch-icon-precomposed" sizes="144x144" href='https://ufried.com/favicon/apple-touch-icon-144x144.png'>
<link rel="apple-touch-icon-precomposed" sizes="60x60" href='https://ufried.com/favicon/apple-touch-icon-60x60.png'>
<link rel="apple-touch-icon-precomposed" sizes="120x120" href='https://ufried.com/favicon/apple-touch-icon-120x120.png'>
<link rel="apple-touch-icon-precomposed" sizes="76x76" href='https://ufried.com/favicon/apple-touch-icon-76x76.png'>
<link rel="apple-touch-icon-precomposed" sizes="152x152" href='https://ufried.com/favicon/apple-touch-icon-152x152.png'>
<link rel="icon" type="image/png" href='https://ufried.com/favicon/favicon-196x196.png' sizes="196x196" />
<link rel="icon" type="image/png" href='https://ufried.com/favicon/favicon-96x96.png' sizes="96x96" />
<link rel="icon" type="image/png" href='https://ufried.com/favicon/favicon-32x32.png' sizes="32x32" />
<link rel="icon" type="image/png" href='https://ufried.com/favicon/favicon-16x16.png' sizes="16x16" />
<link rel="icon" type="image/png" href='https://ufried.com/favicon/favicon-128.png' sizes="128x128" />
<meta name="application-name" content="Uwe Friedrichsen"/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="https://ufried.com/favicon/mstile-144x144.png" />
<meta name="msapplication-square70x70logo" content="https://ufried.com/favicon/mstile-70x70.png" />
<meta name="msapplication-square150x150logo" content="https://ufried.com/favicon/mstile-150x150.png" />
<meta name="msapplication-wide310x150logo" content="https://ufried.com/favicon/mstile-310x150.png" />
<meta name="msapplication-square310x310logo" content="https://ufried.com/favicon/mstile-310x310.png" />
<meta name="msapplication-notification" content="frequency=30;polling-uri=https://notifications.buildmypinnedsite.com/?feed=https://ufried.com/blog/index.xml&amp;id=1;polling-uri2=https://notifications.buildmypinnedsite.com/?feed=https://ufried.com/blog/index.xml&amp;id=2;polling-uri3=https://notifications.buildmypinnedsite.com/?feed=https://ufried.com/blog/index.xml&amp;id=3;polling-uri4=https://notifications.buildmypinnedsite.com/?feed=https://ufried.com/blog/index.xml&amp;id=4;polling-uri5=https://notifications.buildmypinnedsite.com/?feed=https://ufried.com/blog/index.xml&amp;id=5;cycle=1" />
<meta name="author" content="Uwe Friedrichsen">
<meta name="description" content="Are they the same thing?">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Resilience vs. Fault tolerance">
<meta name="twitter:description" content="Are they the same thing?">
<meta name="twitter:site" content="@ufried">
<meta property="og:url" content="https://ufried.com/blog/resilience_vs_fault_tolerance/">
<meta property="og:site_name" content="Uwe Friedrichsen">
<meta property="og:title" content="Resilience vs. Fault tolerance">
<meta property="og:description" content="Are they the same thing?">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2022-05-06T00:00:00+00:00">
<meta property="article:modified_time" content="2022-05-06T00:00:00+00:00">
<meta property="article:tag" content="Resilience">
<meta property="og:image" content="https://ufried.com//images/logo.png">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta itemprop="name" content="Resilience vs. Fault tolerance">
<meta itemprop="description" content="Are they the same thing?">
<meta itemprop="datePublished" content="2022-05-06T00:00:00+00:00">
<meta itemprop="dateModified" content="2022-05-06T00:00:00+00:00">
<meta itemprop="wordCount" content="1528">
<meta itemprop="keywords" content="Resilience">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-light.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.1.25/jquery.fancybox.min.css">
<link rel="stylesheet" href="https://ufried.com/css/fonts.css">
<link rel="stylesheet" href="https://ufried.com/css/main.css">
<link rel="stylesheet" href="https://ufried.com/css/academicons.min.css">
<link href='//cdn.bootcss.com/highlight.js/9.11.0/styles/github.min.css' rel='stylesheet' type='text/css' />
</head>
<body>
<div id="wrapper">
<header id="header">
<h1><a href="https://ufried.com/">blog</a></h1>
<nav class="links">
<ul>
<li>
<a href="https://ufried.com/">
<i class="fa fa-home">&nbsp;</i>Home
</a>
</li>
<li>
<a href="https://ufried.com/about/">
<i class="fa fa-id-card-o">&nbsp;</i>About
</a>
</li>
<li>
<a href="https://ufried.com/services/">
<i class="fa fa-lightbulb-o">&nbsp;</i>Services
</a>
</li>
<li>
<a href="https://ufried.com/blog/">
<i class="fa fa-newspaper-o">&nbsp;</i>Blog
</a>
</li>
<li>
<a href="https://ufried.com/resources/">
<i class="fa fa-list">&nbsp;</i>Resources
</a>
</li>
<li>
<a href="https://ufried.com/categories/">
<i class="fa fa-sitemap">&nbsp;</i>Categories
</a>
</li>
<li>
<a href="https://ufried.com/contact/">
<i class="fa fa-envelope-o">&nbsp;</i>Contact
</a>
</li>
</ul>
</nav>
<nav class="main">
<ul>
<li id="share-nav" class="share-menu" style="display:none;">
<a class="fa-share-alt" href="#share-menu">Share</a>
</li>
<li class="search">
<a class="fa-search" href="#search">Search</a>
<form id="search" method="get" action="//google.com/search">
<input type="text" name="q" placeholder="Search" />
<input type="hidden" name="as_sitesearch" value="https://ufried.com/">
</form>
</li>
<li class="menu">
<a class="fa-bars" href="#menu">Menu</a>
</li>
</ul>
</nav>
</header>
<section id="menu">
<section>
<form class="search" method="get" action="//google.com/search">
<input type="text" name="q" placeholder="Search" />
<input type="hidden" name="as_sitesearch" value="https://ufried.com/">
</form>
</section>
<section>
<ul class="links">
<li>
<a href="https://ufried.com/">
<h3>
<i class="fa fa-home">&nbsp;</i>Home
</h3>
</a>
</li>
<li>
<a href="https://ufried.com/about/">
<h3>
<i class="fa fa-id-card-o">&nbsp;</i>About
</h3>
</a>
</li>
<li>
<a href="https://ufried.com/services/">
<h3>
<i class="fa fa-lightbulb-o">&nbsp;</i>Services
</h3>
</a>
</li>
<li>
<a href="https://ufried.com/blog/">
<h3>
<i class="fa fa-newspaper-o">&nbsp;</i>Blog
</h3>
</a>
</li>
<li>
<a href="https://ufried.com/resources/">
<h3>
<i class="fa fa-list">&nbsp;</i>Resources
</h3>
</a>
</li>
<li>
<a href="https://ufried.com/categories/">
<h3>
<i class="fa fa-sitemap">&nbsp;</i>Categories
</h3>
</a>
</li>
<li>
<a href="https://ufried.com/contact/">
<h3>
<i class="fa fa-envelope-o">&nbsp;</i>Contact
</h3>
</a>
</li>
</ul>
</section>
<section class="recent-posts">
<div class="mini-posts">
<header>
<h3>Recent Posts</h3>
</header>
<article class="mini-post">
<header>
<h3><a href="https://ufried.com/blog/essence_of_architecture_6/">The essence of architectural work - Part 6</a></h3>
<time class="published" datetime=
'2026-08-28'>
August 28, 2026</time>
</header>
<a href="https://ufried.com/blog/essence_of_architecture_6/" class="image featured">
<img src="https://ufried.com/blog/essence_of_architecture_6/landscape.jpg" alt="Rough Mediterranean landscape (seen near Malaga, Spain)">
</a>
</article>
<article class="mini-post">
<header>
<h3><a href="https://ufried.com/blog/essence_of_architecture_5/">The essence of architectural work - Part 5</a></h3>
<time class="published" datetime=
'2026-08-07'>
August 7, 2026</time>
</header>
<a href="https://ufried.com/blog/essence_of_architecture_5/" class="image featured">
<img src="https://ufried.com/blog/essence_of_architecture_5/hole.jpg" alt="Hole in a rock face (seen near Malaga, Spain)">
</a>
</article>
<article class="mini-post">
<header>
<h3><a href="https://ufried.com/blog/essence_of_architecture_4/">The essence of architectural work - Part 4</a></h3>
<time class="published" datetime=
'2026-07-17'>
July 17, 2026</time>
</header>
<a href="https://ufried.com/blog/essence_of_architecture_4/" class="image featured">
<img src="https://ufried.com/blog/essence_of_architecture_4/landscape.jpg" alt="Mediterranean landscape (seen near Malaga, Spain)">
</a>
</article>
<article class="mini-post">
<header>
<h3><a href="https://ufried.com/blog/essence_of_architecture_3/">The essence of architectural work - Part 3</a></h3>
<time class="published" datetime=
'2026-06-26'>
June 26, 2026</time>
</header>
<a href="https://ufried.com/blog/essence_of_architecture_3/" class="image featured">
<img src="https://ufried.com/blog/essence_of_architecture_3/landscape.jpg" alt="Barren landscape (seen near Malaga, Spain)">
</a>
</article>
<article class="mini-post">
<header>
<h3><a href="https://ufried.com/blog/essence_of_architecture_2/">The essence of architectural work - Part 2</a></h3>
<time class="published" datetime=
'2026-06-05'>
June 5, 2026</time>
</header>
<a href="https://ufried.com/blog/essence_of_architecture_2/" class="image featured">
<img src="https://ufried.com/blog/essence_of_architecture_2/inflow.jpg" alt="Inflow to an old hydroelectric power plant (seen near Malaga, Spain)">
</a>
</article>
<a href=
/blog/
class="button">View more posts</a>
</div>
</section>
</section>
<section id="share-menu">
<section id="social-share-nav">
<ul class="links">
<header>
<h3>Share this post <i class="fa fa-smile-o"></i></h3>
</header>
<li>
<a href="//twitter.com/share?url=https%3a%2f%2fufried.com%2fblog%2fresilience_vs_fault_tolerance%2f&amp;text=Resilience%20vs.%20Fault%20tolerance&amp;via=ufried" target="_blank" class="share-btn twitter">
<i class="fa fa-twitter"></i>
<p>Twitter</p>
</a>
</li>
<li>
<a href="//reddit.com/submit?url=https%3a%2f%2fufried.com%2fblog%2fresilience_vs_fault_tolerance%2f&amp;title=Resilience%20vs.%20Fault%20tolerance" target="_blank" class="share-btn reddit">
<i class="fa fa-reddit-alien"></i>
<p>Reddit</p>
</a>
</li>
<li>
<a href="//www.linkedin.com/shareArticle?url=https%3a%2f%2fufried.com%2fblog%2fresilience_vs_fault_tolerance%2f&amp;title=Resilience%20vs.%20Fault%20tolerance" target="_blank" class="share-btn linkedin">
<i class="fa fa-linkedin"></i>
<p>LinkedIn</p>
</a>
</li>
<li>
<a href="mailto:?subject=Check out this post by Uwe%20Friedrichsen&amp;body=https%3a%2f%2fufried.com%2fblog%2fresilience_vs_fault_tolerance%2f" target="_blank" class="share-btn email">
<i class="fa fa-envelope"></i>
<p>Email</p>
</a>
</li>
</ul>
</section>
</section>
<div id="main">
<article class="post">
<header>
<div class="title">
<h1><a href="https://ufried.com/blog/resilience_vs_fault_tolerance/">Resilience vs. Fault tolerance</a></h1>
<p>Are they the same thing?</p>
</div>
<div class="meta">
<time class="published"
datetime='2022-05-06'>
May 6, 2022</time>
<span class="author">Uwe Friedrichsen</span>
<p>8 minute read</p>
</div>
</header>
<a href="https://ufried.com/blog/resilience_vs_fault_tolerance/" class="image featured">
<img src="https://ufried.com/blog/resilience_vs_fault_tolerance/mountain.jpg" alt="Hochkoenig mountain range in Austria">
</a>
<div id="content">
<h1 id="resilience-vs-fault-tolerance">Resilience vs. Fault tolerance</h1>
<p>In this post, I will discuss if there is a difference between resilience and fault tolerance when talking about IT systems.</p>
<p>In my <a href="https://ufried.com/blog/resilience/">previous post</a>, I discussed why I think resilience has become the probably most important paradigm of the 21st century. Still, the examples I used were mostly about people and organizations and you might ask yourself if this &ldquo;resilience thing&rdquo; also applies to IT systems &ndash; or if it is just fault tolerance in disguise, using a new, fancier term.</p>
<p>Let us dive into that question &hellip;</p>
<h2 id="is-it-not-just-fault-tolerance">Is it not just fault tolerance?</h2>
<p><img src="https://ufried.com/blog/resilience_vs_fault_tolerance/resilience_and_fault_tolerance1.jpg" alt="Two circles, one representing resilience and the other one representing fault tolerance and the question if they are the same thing." title="Are resilience and fault tolerance the same thing regarding IT systems?"></p>
<p>A few times I heard statements like &ldquo;Resilience is nothing new. It is just fault tolerance, decorated with a shiny new term&rdquo;. Admittedly, those people were not completely wrong. If we talk about resilience in the context of IT systems, most of the time we actually talk about fault tolerance.</p>
<p>If you, e.g., look at the <a href="https://en.wikipedia.org/wiki/Fault_tolerance">definition of &ldquo;Fault tolerance&rdquo; you find in Wikipedia</a>, it looks a lot like what we usually talk about if we talk about resilience in IT systems:</p>
<blockquote>
<p><strong>Fault tolerance</strong> is the property that enables a system to continue operating properly in the event of the failure of one or more faults within some of its components. If its operating quality decreases at all, the decrease is proportional to the severity of the failure [&hellip;]. The ability of maintaining functionality when portions of a system break down is referred to as <strong>graceful degradation</strong>.</p>
</blockquote>
<p>Continue operating in the face of partial failure. Graceful degradation of service. That sounds a lot like what we usually talk about if we talk about resilience of IT systems.</p>
<p>Additionally, if you look into the traditional resilience literature, you will not only read about withstanding adverse events (and maybe gracefully degrading your operations for a while) or recovering from it in a timely manner. You will also read about systems that gracefully extend the adverse event surface they can respond to, that develop emergent resilient behavior, that continually adapt to changing adverse events or that even transform themselves over time. <sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>
<p>In terms of IT systems that sounds a lot like systems that incorporate some kind of advanced AI which modifies the system and its code at runtime. No matter if we personally find that idea intriguing or horrifying: The systems we usually develop today and the resilience measures we typically talk about are far from that idea.</p>
<p>So, is this whole resilience thing but old wine in new skins?</p>
<h2 id="the-overlap-between-resilience-and-fault-tolerance">The overlap between resilience and fault tolerance</h2>
<p><img src="https://ufried.com/blog/resilience_vs_fault_tolerance/resilience_and_fault_tolerance2.jpg" alt="Two circles, one representing resilience and the other one representing fault tolerance and the question. Both overlap significantly." title="Significant overlap between resilience and fault tolerance regarding IT systems"></p>
<p>Personally, I would not say so. Of course, there is a significant overlap between resilience and fault tolerance with respect to IT systems. Both disciplines are about dealing with adverse events that may negatively impact the ability of a system to function correctly.</p>
<p>Some simpler resilience concepts can also be mapped 1:1 to known fault tolerance measures. E.g., monitoring latency or checking the correctness of request parameters from an upstream call or return values received from a downstream call are typical fault tolerance measures.</p>
<p>Still, they are also valid resilience measures if we consider the aspect of resilience that you want to withstand adverse external events. Detection of such event is the first step of withstanding it. Thus, those are also relevant resilience patterns.</p>
<p>So, fault tolerance measures are usually also valid resilience measures.</p>
<h2 id="fault-tolerance-but-not-resilience">Fault tolerance but not resilience?</h2>
<p><img src="https://ufried.com/blog/resilience_vs_fault_tolerance/resilience_and_fault_tolerance3.jpg" alt="On the left side, two overlapping circles representing resilience and fault tolerance with the question, if the area belonging to fault tolerance but not to resilience does even exist. On the right side, a circle representing fault tolerance being completely contained by a circle representing resilience with the question if it rather is like this." title="Are there fault tolerance measures that are not resilience measures?"></p>
<p>Before moving to the aspects of resilience that are not covered by fault tolerance, let us first ask if there are fault tolerance measures that are not resilience measures.</p>
<p>To be honest, I am not totally sure. When I go through fault tolerance literature, I sometimes stumble upon &ldquo;exotic&rdquo; fault tolerance measures, measures that you would not implement in the context of enterprise IT systems. E.g., in very safety-critical environments like space travel you may want to have heterogeneous redundancy.</p>
<p>This means, you implement a solution multiple times, using a different design for each of them, a different programming language, a different runtime environment and you will run each of them on a different hardware platform. While this may make the difference between life and death in an environment like manned space travel, it would be economic nonsense in most enterprise software contexts.</p>
<p>Does that mean that such measures do not belong to the domain of resilience while belonging to the domain of fault tolerance? I do not know. I think you might find arguments for both positions. Personally, I think they may belong to the domain of resilience, but they are not measures I would mention in most situations.</p>
<p>Overall, I think that boundary is a blurry one if it exists.</p>
<h2 id="beyond-fault-tolerance">Beyond fault tolerance</h2>
<p><img src="https://ufried.com/blog/resilience_vs_fault_tolerance/resilience_and_fault_tolerance4.jpg" alt="Arrow representing different degrees of resilience starting from fault tolerance and ranging to self-transforming systems (see text for more details). A socio-technical system filling the whole range, the fault tolerance part being implemented by IT systems and the rest handled by humans. The boundary line between IT systems and humans moving to the right (i.e., more advanced resilience measures) over time. See text for more details" title="Resilience as a socia-technical system with boundaries moving over time"></p>
<p>On the other hand, resilience contains aspects that for sure do not belong in the domain of fault tolerance. Whenever we talk about responding gracefully to not yet known failure modes, emergent resilient behavior of the system parts involved <sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>, adapting to changing failure surfaces or even transforming based on them, we left the domain of traditional fault tolerance.</p>
<p>You might argue that gracefully responding to not yet know failure modes is still part of fault tolerance &ndash; and again, there may be arguments for both positions. Yet, traditional fault tolerance usually goes like: &ldquo;What are the failure modes we can think of and how shall the system respond to it?&rdquo;. So, typically it is more about known failure modes (while the boundaries may be blurry again).</p>
<p>Yet, a resilient system should also be able to respond gracefully to not yet known and thus unanticipated failure modes. As I wrote in the beginning, we are still at the beginnings of creating such systems, systems that are smart enough to detect that something really unexpected happened and are capable of responding to it in better ways than just crying for help or shutting themselves down.</p>
<p>Nevertheless, that is where I think we are heading with resilient software design. Our system landscapes become more complex every day which means that more and more unexpected failure modes will emerge. At the same time, IT becomes more indispensable for our business and private lives every day which means that it is crucial that those systems continue functioning even if some unexpected adverse events hit them.</p>
<p>At the moment, we compensate the lack of graceful behavior and adaptability of our IT systems with involving humans. Whenever the IT systems do not know how to respond to an unexpected event they request human help: They send an alert to a system&rsquo;s operator or some member of a DevOps team being on call. This means, if we talk about resilience in the context of IT systems today we actually talk about sociotechnical systems, the IT systems <em>and</em> the humans running and changing them.</p>
<p>At the same time we continually shift the boundaries between which errors IT systems can take care of on their own (&ldquo;self-healing&rdquo;) and which errors they cannot fix themselves, when humans need to be involved. This way, we continually extend the capabilities of our IT systems away from traditional fault-tolerance towards a more complete notion of resilience.</p>
<p>For me, this is an exciting journey. Of course, depending on the turns we make on our journey there is a chance not only to travel exciting scenic roads but also to run into some dreadful nightmare valleys &ndash; actually I am convinced we will run into the latter several times and hopefully learn from it. But still, I am really curious where it will lead.</p>
<p>While we need to be careful not to create systems that completely get out of control due to deficient self-healing or even self-adaptation capabilities, we also cannot leave the ever-growing complexity of our system landscapes to some poor human operators without improving how the IT systems themselves support them in their task.</p>
<h2 id="summary">Summary</h2>
<p>In this post, we discussed if resilience in the context of IT systems is the same thing as fault tolerance, just using a fancier term. While there is a big overlap for sure, especially when discussing basic resilience measures (what we do most of the time), resilience goes way beyond traditional fault tolerance.</p>
<p>Resilience points towards systems that will respond gracefully to not yet known failure modes, develop emergent resilient behavior, adapt to changing failure surfaces or even transform based on them. At the moment, we accomplish these advanced resilience properties by involving humans, by extending the technical systems to socio-technical systems, including the systems themselves and the humans who run and change them.</p>
<p>At the same time, we continually shift the boundaries of which errors the systems can take care of on their own, continually making the (technical) IT systems a bit more resilient &ndash; and not only more fault tolerant.</p>
<p>I hope that helped a bit to clarify the distinction between fault tolerance and resilience. Having done that, we are ready to move deeper into the domain of resilience. Stay tuned &hellip; ;)</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>I will discuss the different concepts of resilience and their implications in a future blog post.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>E.g., <a href="https://en.wikipedia.org/wiki/Organic_computing">Organic computing</a> discusses a lot how to build systems that exhibit such emergent properties. I will come back to this topic in some future blog posts.&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
</div>
<footer>
<ul class="stats">
<li class="categories">
<ul>
<i class="fa fa-folder"></i>
<li><a class="article-category-link" href="https://ufried.com/categories/general">General</a></li>
<li><a class="article-category-link" href="https://ufried.com/categories/architecture">Architecture</a></li>
<li><a class="article-category-link" href="https://ufried.com/categories/rethinking-it">Rethinking IT</a></li>
</ul>
</li>
<li class="tags">
<ul>
<i class="fa fa-tags"></i>
<li><a class="article-category-link" href="https://ufried.com/tags/resilience">resilience</a></li>
</ul>
</li>
</ul>
</footer>
</article>
<ul class="actions pagination">
<li><a href="https://ufried.com/blog/resilience/"
class="button big previous">Resilience</a></li>
<li><a href="https://ufried.com/blog/why_resilient_software_design_1/"
class="button big next">Why we need resilient software design - Part 1</a></li>
</ul>
</div>
<section id="sidebar">
<section id="intro">
<a href='https://ufried.com/'><img src="https://ufried.com/img/main/logo.jpg" class="intro-circle" width="" alt="Uwe Friedrichsen" /></a>
<header>
<h2>Uwe Friedrichsen</h2>
<p>Web site and blog. Writing about <b>IT</b> most of the time.</p>
</header>
<ul class="icons">
<li><a href="https://ufried.com/blog/index.xml" type="application/rss+xml" target="_blank" title="RSS" class="fa fa-rss"></a></li>
<li><a href="//gitlab.com/ufried" target="_blank" title="GitLab" class="fa fa-gitlab"></a></li>
<li><a href="//linkedin.com/in/ufried" target="_blank" title="LinkedIn" class="fa fa-linkedin"></a></li>
<li><a href="//xing.com/profile/Uwe_Friedrichsen" target="_blank" title="Xing" class="fa fa-xing"></a></li>
<li><a href="//twitter.com/ufried" target="_blank" title="Twitter" class="fa fa-twitter"></a></li>
<li><a href="mailto:info@ufried.de" title="Email" class="fa fa-envelope"></a></li>
</ul>
</section>
<section class="recent-posts">
<div class="mini-posts">
<header>
<h3>Recent Posts</h3>
</header>
<div class="posts-container">
<article class="mini-post">
<header>
<h3>
<a href="https://ufried.com/blog/essence_of_architecture_6/">The essence of architectural work - Part 6</a>
</h3>
<time class="published" datetime='2026-08-28'>
August 28, 2026
</time>
</header>
<a href="https://ufried.com/blog/essence_of_architecture_6/" class="image featured">
<img src="https://ufried.com/blog/essence_of_architecture_6/landscape.jpg" alt="Rough Mediterranean landscape (seen near Malaga, Spain)">
</a>
</article>
<article class="mini-post">
<header>
<h3>
<a href="https://ufried.com/blog/essence_of_architecture_5/">The essence of architectural work - Part 5</a>
</h3>
<time class="published" datetime='2026-08-07'>
August 7, 2026
</time>
</header>
<a href="https://ufried.com/blog/essence_of_architecture_5/" class="image featured">
<img src="https://ufried.com/blog/essence_of_architecture_5/hole.jpg" alt="Hole in a rock face (seen near Malaga, Spain)">
</a>
</article>
<article class="mini-post">
<header>
<h3>
<a href="https://ufried.com/blog/essence_of_architecture_4/">The essence of architectural work - Part 4</a>
</h3>
<time class="published" datetime='2026-07-17'>
July 17, 2026
</time>
</header>
<a href="https://ufried.com/blog/essence_of_architecture_4/" class="image featured">
<img src="https://ufried.com/blog/essence_of_architecture_4/landscape.jpg" alt="Mediterranean landscape (seen near Malaga, Spain)">
</a>
</article>
<article class="mini-post">
<header>
<h3>
<a href="https://ufried.com/blog/essence_of_architecture_3/">The essence of architectural work - Part 3</a>
</h3>
<time class="published" datetime='2026-06-26'>
June 26, 2026
</time>
</header>
<a href="https://ufried.com/blog/essence_of_architecture_3/" class="image featured">
<img src="https://ufried.com/blog/essence_of_architecture_3/landscape.jpg" alt="Barren landscape (seen near Malaga, Spain)">
</a>
</article>
<article class="mini-post">
<header>
<h3>
<a href="https://ufried.com/blog/essence_of_architecture_2/">The essence of architectural work - Part 2</a>
</h3>
<time class="published" datetime='2026-06-05'>
June 5, 2026
</time>
</header>
<a href="https://ufried.com/blog/essence_of_architecture_2/" class="image featured">
<img src="https://ufried.com/blog/essence_of_architecture_2/inflow.jpg" alt="Inflow to an old hydroelectric power plant (seen near Malaga, Spain)">
</a>
</article>
</div>
<a href=
/blog/
class="button">View more posts</a>
</div>
</section>
<section id="categories">
<header>
<h3>
<a href="https://ufried.com/categories/">Categories</a>
</h3>
</header>
<p>
<article>
<header>
<a href="https://ufried.com/categories/architecture/">architecture</a>
<span style="float:right;">90</span>
</header>
</article>
</p>
<p>
<article>
<header>
<a href="https://ufried.com/categories/general/">general</a>
<span style="float:right;">75</span>
</header>
</article>
</p>
<p>
<article>
<header>
<a href="https://ufried.com/categories/rethinking-it/">rethinking-it</a>
<span style="float:right;">67</span>
</header>
</article>
</p>
</section>
<section id="mini-bio">
<h3>About</h3>
<p>Hi, I am Uwe, travelling the world of IT for many years. I worked in many roles in and around IT. Sharing my thought, ideas and insights here.</p>
<a href="https://ufried.com/about/" class="button">Learn More</a>
</section>
<section id="footer">
<ul class="icons">
<li><a href="https://ufried.com/blog/index.xml" type="application/rss+xml" target="_blank" title="RSS" class="fa fa-rss"></a></li>
<li><a href="//gitlab.com/ufried" target="_blank" title="GitLab" class="fa fa-gitlab"></a></li>
<li><a href="//linkedin.com/in/ufried" target="_blank" title="LinkedIn" class="fa fa-linkedin"></a></li>
<li><a href="//xing.com/profile/Uwe_Friedrichsen" target="_blank" title="Xing" class="fa fa-xing"></a></li>
<li><a href="//twitter.com/ufried" target="_blank" title="Twitter" class="fa fa-twitter"></a></li>
<li><a href="mailto:info@ufried.de" title="Email" class="fa fa-envelope"></a></li>
</ul>
<p class="copyright">
&copy; 2026
Uwe Friedrichsen
.
Powered by <a href="//gohugo.io" target="_blank">Hugo</a>
</p>
</section>
</section>
</div>
<a id="back-to-top" href="#" class="fa fa-arrow-up fa-border fa-2x"></a>
<script src="//cdn.bootcss.com/highlight.js/9.11.0/highlight.min.js"></script>
<script src="//cdn.bootcss.com/highlight.js/9.11.0/languages/r.min.js"></script>
<script src="//cdn.bootcss.com/highlight.js/9.11.0/languages/yaml.min.js"></script>
<script src="//cdn.bootcss.com/highlight.js/9.11.0/languages/css.min.js"></script>
<script>hljs.configure({languages: []}); hljs.initHighlightingOnLoad();</script>
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/skel/3.0.1/skel.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.1.25/jquery.fancybox.min.js"></script>
<script src="https://ufried.com/js/util.js"></script>
<script src="https://ufried.com/js/main.js"></script>
<script src="https://ufried.com/js/backToTop.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
</body>
</html>