We fill our lives with things designed to make them easier
In many cases, these things we get to make our lives easier wind up making them more complex – when what we need is simplicity. Nowhere is this more apparent than in IT. We have so many choices of ways to create services, to deploy them, and to manage them. I’ve been extensively involved with high-availability work since 1998. One of my mantras in high-availability is “Complexity is the Enemy of Reliability” – and so it is.
Complexity is the Enemy of Reliability.
If you add parts to a thing, more parts will fail – period. In high-availability, we add high-availability software – which makes it more complex, and hence less reliable. But we get something back instead – improved availability.
Complexity always has costs.
Costs in confusion, mistakes, outages, tarnished brand image, staff dissatisfaction, lost customers and more direct costs through extra staff and hardware. Since you’re paying a price – often a high one, make sure you’re getting something back that’s worth the added complexity.
Unfortunately, you can’t buy a can of “un-complexity” and spray it over your servers.
Once you let complexity in, it’s hard to get rid of, and it tends to make friends and set up housekeeping with the complexity you already have – breeding a little more complexity in the process. Some even refer to complexity as a mythical beast – the Urobouros[1].
Complexity is the kind of adversary you have to fight at every turn.
Although there’s no commonly agreed-up measure of complexity – here’s a common example: If you have to install, configure and use three different software products that deal with related issues, all else being equal, that’s more complexity than a single coherent system which seamlessly integrates the three functions. Integrating different software with different views on the world is difficult, and doing it well is more difficult – which you can read as “more complex”. It’s difficult for your vendor to do, and even more so for you to do yourself.
Assimilation Systems management software adds simplicity, and helps you manage the complexity we can’t reduce
I suspect you’re wondering how it can add simplicity, since I just said adding things increases complexity… Here’s how we do this – by seamless integration of these capabilities in a single product:
- We create a continually up-to-date CMDB (Configuration Management Data Base) – the central repository of knowledge and single source of truth for your enterprise IT.
- We automatically monitor your servers and services – driven by our CMDB
- We continually evaluate your system and application configurations against best practices – easing your compliance burden, and minimizing the chance of a successful intruder.
- We do all these things with near-zero configuration because they’re all driven by the always-up-to-date CMDB.
Since our CMDB provides both high level views like system dependencies and tiny details of system configuration, this always up-to-date information provides the insight that makes it easier to manage the complexity we can’t reduce.
I must agree with you about Complexity being the enemy of Reliability. Einstein said “It can scarcely be denied that the supreme goal of all theory is to make the irreducible basic elements as simple and as few as possible without having to surrender the adequate representation of a single datum of experience.”, often paraphrased as “Everything should be made as simple as possible, but no simpler.”