|Page maturity |
This page has maturity level 3 (usable)
|Document type:||Generic Pattern||Owner:|
|This function serves to increase the maximum load that a given resource can handle, and/or allowing access to instances of the resource spread over multiple sites.|
This Generic Pattern belongs to "Business Support". This function is active in the data traffic between an IT resource (an IT service or application,or a set of different IT services or applications) ) and its consumers, and serves to increase the maximum load that the resource can handle, or to help business continuity by allowing access to instances of the resource spread over multiple sites, or both. To this end, the function accepts connections from the resource's consumers, and direct them to an available instance of the IT resource. Optionally, the service can cache and/or queue traffic.
Examples of components that deliver Access Distribution functionality are load balancer appliances and a web proxy servers. However, this function is not limited to "pure" network use: IT services may have Access Distribution functionality implemented internally as well.
Note that Access Distribution functionality is often combined with Access Security functionality.
This Pattern realizes the following services:
- Access Distribution (This service serves to increase the maximum load that an IT resource can handle, and/or to allow access to instances of the resource spread over multiple sites.)
Functional and Integration view
This is the graphic representation of the functional model of this Generic Pattern:
Generic Pattern Composition
This pattern is an aggregation of the following (mandatory and optional) functions, expressed in Generic Functions:
|Distribution||recommended||This function delivers the core functionality of the pattern. Note that multiple instances of Distribution functionality may use each other to direct data traffic to the correct destination.|
|Load Balancing||optional||Loads may need to be (re)directed, either for an even distribution of load on the distributed service, or to counter the effect of a failure of a component or service in the hinterland. In either case, it's likely that functionality is needed that can provide the Distribution function with the means to sense the need for load balancing, and consequently make a distribution decision.|
|Data Scanning||optional||Distribution may occur not only based on the traffic characteristics ("conventional routing") but also on the content of the traffic ("content based routing"). To this end, the Access Distribution pattern should have access to the data of the traffic that's being distributed, and this Generic Function offers that access. As an example: this GF could recognize HTTP headers within network traffic, and direct traffic destined for a particular application to the right application server.|
|Connection Handling||optional||For a correct distribution of access over distributed services, the Distribution function may need access to session data, which Connection Handling can provide. Furthermore, for a seamless transition of a user session from one part of the distributed service to another, the session may require special attention (e.g. a "session state database").|
|Queuing||optional||Adding Queuing functionality can help optimize traffic processing. Note that addition of Queuing usually also means addition of Caching.|
|Caching||optional||The Access Distribution Pattern is a very good place to implement caching as it can both ease the load on the distributed service behind this pattern, and speed up their apparent responsiveness. Note that Caching supports Queuing, but may also appear when Queuing is not modelled.|
|Controlling||recommended||Access to the configuration and operation of this Pattern is most always restricted. Furthermore, special care is required to ensure sufficient access to the configuration and operation when a sizeable incident impacts IT operations: e.g. when a site outage causes network fail-over, IT operations must be able to check and adapt the configuration of Access Distribution in the aftermath.|
Services connected with this Generic Pattern
This Generic Pattern has the following mandatory and optional relations with adjacent Generic Services.
|Data Transport||recommended||This service transports data between automated systems.||While virtually all Generic Patterns have a relation with Data Transport, this relation is more noteworthy for Access Distribution, since the designer will have to fit Access Distribution correctly between a Data Transport instance and the IT facility for which it is distributing access. The presence of (one or more instances of) Data Transport service serves to model all concerns relating to the correct fit.|
|Facilities Monitoring||optional||This service allows its users to monitor IT facilities with the aim of guarding operational continuity or security.||Access Distribution is usually employed to ensure access to the IT facility that this Pattern is supporting. Thus, many events that occur in an Access Distribution facility are of interest to the IT Operations staff. This means it is desirable to have the facility report directly to (an Operations instance of) Facilities Monitoring.|
Applied Patterns based on this Generic Pattern
The following Applied Patterns are based wholly or in part on this Generic Pattern: