Occassionally I get to chat with the guys in the trenches about ongoing implementations involving BIG-IP. Often these involve deploying BIG-IP in front of XML/SOA gateways for load balancing and high-availability (a la failover) duties, as well as session management capabilities. This is primarily due to a lack of support for these options on the part of XML/SOA gateways combined with the need to horizontally scale out the gateways to deal with high volume throughput.

I got to thinking about this deployment scenario during a chat with very smart SOA guys Tony Bishop and Jim Haughton and we decided that an even better deployment option would be an XML Gateway Sandwich. The same lack of HA and rudimentary load balancing/health monitoring provided by today's XML/SOA Gateways would seem to indicate the need for something, well, more robust.

The same issues solved by deploying an application delivery solution like BIG-IP in front of these gateways are the same issues solved by deploying an application delivery solution like BIG-IP in front services – throughput, HA, session management, and load balancing. Additionally, this deployment option offers better health monitoring, QoS, and routing capabilities than are available in today's XML/SOA Gateways. These advanced capabilities improve the ability of the organization to meet service level agreements through a better understanding of the run-time environment.

In the case that there exists an ESB in between the XML/SOA Gateway and Service Platform tiers, you can still “sandwich” the solution because ESBs are lacking in the same functional areas as XML/SOA Gateways. Simply "wrap" the gateway and ESB tiers between two BIG-IP tiers and all is well.

Both XML/SOA Gateways and ESBs offer load balancing capabilities, but only some ESBs offer failover options and in both cases the actual implementations are rudimentary and certainly not on par with similar features offered in experienced application delivery products. Round-robin and least connections might be acceptable in non-critical situations, but when milliseconds count you want something a bit more robust and trusted in the art of traffic management.

Additionally, neither ESBs nor most XML/SOA gateways offer connection management and optimization features that reduce the increased burden of TCP connection management on service platforms, and we won't even get started on the impact of SSL support within the context of an ESB. The only right answer is, and has been for some time, to offload SSL functions to another device; one that takes advantage of hardware acceleration to improve SSL performance and reduce the consumption of resources.  

The result of building out an XML Gateway Sandwich using an application delivery network is a more scalable and flexible service-oriented infrastructure that improves availability, security, and performance.

Imbibing: Water