Tuning a large scale Iguana install

Using an Iguana Cluster

The nice thing about Iguana is that it has next to no dependencies. It doesn’t use Apache or IIS. It’s logging/queuing system is self contained. This makes it very easy to install – for production installs we always recommend doing a manual install even you are using Windows. It gives you much better control and makes it much easier to manage controlled upgrades.

There are a lot of benefits that come from breaking up an install into a set of smaller individual Iguana instances by siloing groups of interfaces into individual instances of Iguana. So instead of cramming 134 interfaces into one single Iguana process you can instead break that out into 3 Iguana instances.

You can use the Iguana global dashboard to manage the cluster and monitor them all in one screen.

Smaller silos means less activity going on in each process – far less risk in hitting limits that the underlying operating system has. You can scale out horizontally with as many Iguana servers as you need in this manner. I would recommend having a good look at utilities like the Channel Manager as a tool to use to handle promoting interfaces from development, into test and then into production in a manner that can be done for high availability.

A good silo size is 50 channels per instance. It’s also a good idea to use separation of concerns.  Say you have banks of LLP –> Translator channels and File –> LLP client channels. It makes good sense to reduce the number of variables in play by only having the same type of channel on a given instance. i.e. put all the LLP->Translator channels on one instance all the File–> LLP channels on another.

This plays well with high availability strategies since it reduces the likelihood of a problem with one type of channel impacting on other unrelated channels. If you are doing anything different to what you normally do in production using some different kind of transport than it makes sense to put that into a dedicated instance of Iguana.

Also as you scale it becomes important to separate your production, test and development instances of Iguana. The Channel Manager utility is helpful for achieving this.