Wednesday, November 25, 2009

Other Patterns













Other Patterns

System performance is naturally in tension with the control of the system. There are clear examples of this in the way that many of the system performance patterns, such as LOAD-BALANCED ELEMENTS, DEDICATED WEB AND APPLICATION SERVERS and COMMON PERSISTENT STORE, gain much of their benefit by increasing the number of elements in the system which means that there are more elements to configure as part of a SYSTEM OVERVIEW and more information generated from CONTINUAL STATUS REPORTING (hence more network traffic). Similarly, the addition of security measures such as SECURE CHANNELS and INFORMATION OBSCURITY slow down the overall performance of those parts of the system to which they are applied. This is why you will usually apply a mixture of control and performance patterns, as the latter help to offset the negative impacts on performance of the former. The only clear place where a performance pattern reinforces a control pattern is the way that DEDICATED WEB AND APPLICATION SERVERS is pretty much a prerequisite for a DEMILITARIZED ZONE.


There is also a natural tension between many system evolution patterns and performance patterns. The overheads introduced by a VIRTUAL PLATFORM or DYNAMICALLY DISCOVERABLE ELEMENTS will slow down the system, so it is common to apply system performance patterns to compensate for this. Conversely, there is some degree of reinforcement as EXPANDABLE HARDWARE and DYNAMICALLY-DISCOVERABLE ELEMENTS complement performance patterns, such as LOAD-BALANCED ELEMENTS, that help to improve the scalability of the system. Similarly, the application of SEPARATE SYSTEM-MANAGED DATA can help to reduce the amount of data that has to be kept synchronized by DATA REPLICATION.


In the next chapter we will look at patterns that help to make the system more controllable.











No comments: