When I was at company A, it became clear to me there is an opportunity to help people inside and outside IT to understand the word "system". It is used frequently in an offhand way, but the true meaning isnt always "grokked". Unless extreme measures have been taken to segregate network components, servers, applications, databases, web services, etc. They all affect each other in either direct of indirect ways. It is almost always true that changes someplace will affect all other interconnected components to some extent. The impact may be very small, or the impact may be just enough change to create an unexpected reaction.
This understanding can be very challenging for many in IT because there is so much specialization. Less experienced IT professionals may have incredible depth of knowledge in their speciality, yet have very little understanding of most other components of the system as a whole.
Many at company A believed that there was a relationship between a particular master read-only database and the performance and availability of the shopping cart. No, no said the developers of the shopping path code. That part of the system never had a connection with the master database. It could be proven, they said by taking it offline and there would be no impact on the shopping cart. This was absolutely true.... However, the master read-only database did have replicates that were used by the shopping cart. And as it turned out, if there was a problem with replication, the replicates could fail to provide data to the shopping cart code. By rebooting the master read-only database, one could make replication recover and the shopping cart, when affected would recover.
Please sing along - the hip bone is connected to the leg bone, the leg bone is connected to the knee bone.... An understanding of systems is important.
No comments:
Post a Comment