Although most networks and organisations would benefit from implementing proxy servers into their environment it can be a difficult task to decide the location and hierarchy of these servers. It is very important and there are some questions which can aid the decision making process.
Flat or Hierarchical Proxy Structure?
This decision will largely depend on the both the size and the geographical dispersion of the network. The two main options are firstly whether a standard single flat level of proxies will be sufficient, or whether something larger is required. This would be a larger hierarchy based on tree structure much like an Active Directory forest structure used in complexed windows environments.
Indeed in such environments it may be suitable to mirror the Active Directory design with a proxy server structure. Many technical staff would use the following rule of thumb – each branch office would require an individual proxy server. Again this may map onto an AD design where each office exists with it’s own Organisational Unit (OU) . This has other benefits because you can apply custom security and configurations options based on that OU, for example allowing the sales OU more access through the proxy than administrative teams,
This of course needs to be carefully planned in line with whatever physical infrastructure is in place. You cannot install heavy duty proxy hardware at the end of a small ISDN line for example. The proxy servers should be installed in line with both the organisation configuration and network infrastructure. Larger organisations can base these along larger geographical areas for example a separate hierarchy in each country. So you would have a top level UK proxy server above regional proxies further down in the organisation.
If the organisation is fairly centralized you’ll certainly find a single level of proxies a better solution. It is much easier to manage and the latency is minimised without tunnelling through multiple layers of servers and networks.
Single or Proxy Arrays
A standard rule of thumb for proxy servers is usually something like one proxy for every 3000 potential users. This is of course only an estimate and can vary widely depending on the users and their geographic spread. This doesn’t mean that the proxies need to be automatically independant, but can indeed be installed in a chain together.
For example you can set up four proxies in parallel to support 12000 users using the Cache Array Protocol (CARP). These could be set up across different boundaries even across a flat proxy structure. Remember that the servers will have different IP address ranges if across national borders. Make sure that your proxy with the Irish IP address can speak to all the other European sites, most proxies should ideally be multihomed to help with routing.
Using the caching array will allow multiple physical proxies to be combined into a single logical device. This is normally a good idea as it will increase things like the cache size and eliminates redundancy between individual proxy caches.
It’s normally best to run proxies in parallel whenever the opportunity exists. However sometimes this will not be possible and specific network configurations may stop this method meaning you’ll have to run proxies individually in a flat mode. Even if you have to split up proxy resources in to individual machines be careful about creating network bottlenecks. Individual proxies should not be pointing to single gateways or machines, even an overworked firewall can cause significant impact on a network’s performance and latency.