I’ve been working with license servers for more than a decade and hardly a week goes by that someone doesn’t ask if they should continue to use their three-server redundant license server (triad) or consider setting up a triad for high availability of concurrent licenses. For years, I would recommend to clients to forget the triad server configuration and use multiple servers for availability. The ‘multiple servers’ concept is to split your licenses between two or three servers and place those servers on different machines and possibly different locations. If one license server goes down in this scenario, then the other servers are still available to serve up a portion of the licenses.
The reasoning behind the multiple license servers per vendor was to spread your licenses across your environment and avoid the complexity of implementing a license server triad. However, after talking with some of the largest users of concurrent license servers (some clients I’ve worked with have hundreds of license servers), I concluded that using a triad is inevitable for many companies.
Let’s review what is involved in setting up a redundant licenser server triad. Using the three-server redundancy capability in FlexNet Publisher, all three license servers operate to form a triad. The license servers send periodic messages to each other to make sure that at least two servers are running and communicating. A quorum is formed when at least two of the three licenser servers are running and communicating with each other—meaning that licenses will be available to the user community.
The license servers are identified as either primary, secondary, or tertiary. One license server is also designated as the master and is responsible for:
- Serving licenses to FlexEnabled applications
- Recording information into the debug log
- Recording information into the report log
If the master fails, then one of the other two license servers becomes the master. In the following figure, the primary license server is the master [m]. When a FlexEnabled application sends a checkout request for a license, the master responds and then serves the license to the FlexEnabled application.
The primary purpose of the triad is to provide full license availability in the event that the primary or master server suffers a hardware failure. This sort of failure was more common back in the early 90’s when this strategy was introduced. However, if you have ever lost a server and had to explain why hundreds of expensive engineers were not able to work for a day, then you have quickly learned that using a triad can be critical to making sure that engineers will have access to the software they need to complete their projects.
While I still believe that network outages or interruption are more common that server hardware or disk failures, many companies I work with have a triad setup in their environment and it may be that you need one also.
One suggestion, if you use a triad, I recommend that you use all three servers to actually serve licenses. For example, you can set up the triad so that one server is the master for one group of vendor licenses and the other servers in the triad are the master for other vendors, thus utilizing all three servers in the triad to serve licenses. For more information on licenser server configurations, please refer to the License Administration Guide.
Readers may also be interested in viewing our on-demand webinar: Creating a Mature SAM Process for Concurrent License Management. Our guest speaker, Dan Griffith, chose to use the multiple independent server approach while he was head of the Comprehensive Software Asset Management (CSAM) team at Freescale.