A well-designed system is a system whose existence is not in your way. On the contrary, a poorly designed one…
In a poorly designed system, the client needs insights into the system’s internal mechanisms. For example, the client has to call one service and forward the output to another service to get what it really wants. The process may also loop with many calls. It is to be noted that everything works fine from a service perspective, and the administrators may even brag about the metrics! From the client’s perspective, however, the system implements a confusing process with many steps to feed into the system information already in its possession. With this kind of design, security goes out of the window because the attack surface is larger, and there are many entry points for tampering.
Full story on medium
Photo: Photo by Rick Mason on Unsplash