When the sky is falling ... Graceful Degradation

When the sky is falling ... Graceful Degradation

This blog post is all about ... reducing risk versus narrowing ground zero area, operability, what does it mean that software should be built like ship hulls, that resilience analysis doesn't start with deployment units, how well-designed systems are prepared for partial failures & why GD has to be very simple.General engineers' awareness regarding high availability has massively improved over last few years. Redundancy, load-balancing, self-healing, multi-replica DBs, auto-scaling groups - all that sort of stuff is bread'n'butter these days. Which is good (unless you don't need HA, but it's a different kind of story ...).We do a lot to…

Read More

The myth of infallible system

The myth of infallible system

What I'm going to write below is nothing new for anyone who've done fully fledged distributed systems development. BEAM veterans, hAkkers, Rafters, ZooKeeper consensus pursuers or Paxos tribe would probably call me Cpt. Obvious, but surprisingly (or not) majority of .NET people I meet & talk to still live the myth of ... Infallible system Developers worship Defensive Programming. Once they realize (some never do) that there's something else but the Happy Path, they do whatever they can go get back to it ASAP when derailed a bit. They are fully convinced that they are not only capable of identifying all…

Read More