When dealing with any large system a common problem is how to evolve its architecture over time. We apply technologies to address a problem; but in the process, we create another layer of complexity that, in turn, causes its own set of issues. Those need to be addressed too. Some issues will become bugs, some other the so-called technical debt.
Some technical debt might be in plain sight: an inadequate data structure might lead to convoluted code, an ambiguous API might lead to unpredicted dependencies. As our architectures evolve, they might contain traces of previous approaches which in turn bend over future ones. Some other technical debt might be more difficult to spot. Every complex system has its blind spots and occasionally, given just the right set of circumstances, they will reveal and fail spectacularly.
"We build our computer systems the way we build our cities: over time, without a plan, on top of ruins."
Ellen Ullman
As architects, we know that and hence we have this notion of “best practice”. A notion that implies there is a correct way of doing things and, by contrast, a wrong way of doing things or "anti-patterns". However, in this word of continuous engineering and delivery, the definition of best practice changes every time a new technology arises and it is subject to the current capabilities of the organization, where they are and where they want to be.
According to Jeff Atwood, co-founder of Stack Overflow, a well-designed system makes it easy to do the right things and annoying (but not impossible) to do the wrong things. If we design our systems properly, our users should be inexorably drawn into the pit of success. Some may take longer than others, but they should all get there eventually.
In this blog, we want to help architects to design solutions based on Azure that easily fall into the pit of success. With a focus on scalability, elasticity, security, resilience, and optimization, we will propose ways to evolve architectures that address business problems and reduce technical debts, that will play with real-world settings, with big data and with the challenges you might encounter on your journey to the cloud.
We are organizing this blog in the following areas:
Hope you enjoy it. Welcome.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.