Failover

In most production environments it is expected that the IBM® Application Gateway (IAG) service will be replicated for load balancing and high availability purposes. When a user is switched from one replicated IAG service to another it is important to make this a seamless experience for the user, without requiring them to provide their authentication information again.

There are currently three mechanisms by which the user can be re-authenticated to the IAG service:

Single Sign On from the Identity Provider

If the environment is using an external identity provider (for example, IBM Verify) it is possible to re-establish the IAG session from the current session at the Identity Provider, as depicted in the following diagram:


IDP SSO Flow

Some of the disadvantages of this approach include:

  1. It relies on the user session at the identity provider still being active and available;

  2. Numerous redirects are required during the re-authentication which can slow down the authentication process for the user;

  3. A new session will be established at the replicated IAG which means that the lifetime of the original session will be lost. The session at each replicated IAG service will potentially have a different lifetime.

Distributed Sessions using a Redis server

Redis is an in-memory data structure store, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. It can be used in an IAG environment to store session information and then make this session information available to other IAG instances.

Further information on using Redis to distrubute session information can be found in the Sharing Sessions Between Containers topic.