Designing for Resiliency
When designing a system you need to take into account not only the functional requirements handed to you by the business but also the non-functional requirements of making sure that the system will run in the face of adversity. You must take into account the inevitability of failure in your design.
Subscription (modern) license support for failover
FLEX Licenses
Flex licenses basically have the ability to failover as an intrinsic feature of the license. You are not limited in anyway on how to design your system for failover since you can run as many instances of the Fluent Engine as your design requires.
PRO Licenses
When applications can exit in a controlled manner, failover works with no further action required by the user. Controlled exits happen automatically for RESTful engines, on Report.Shutdown() for .NET engines, and on ProcessReport.shutdown() for Java Engines. In reality, many failover scenarios are needed when a controlled exit does not happen. To accommodate all other scenarios, PRO Licenses will work for a **period of time on twice the number of machines allowed by the license.
** This capability is only meant to support failover scenarios. The license server will notify you if you are using the license on too many machines. Customers using more servers than they are licensed for an unreasonable amount of time will have their case assessed on an individual basis, and may have all fail-over capabilities removed from their account.
PRO Offline Licenses
There is no ability for a PRO offline license to automatically switch the license to a new server. Offline licenses only work for the servers for which they were configured. The offline license is tied to the name(s) of the actual servers. In order to handle failover scenarios for a PRO Offline license you will need to purchase licenses for each named server you intend to use, including any servers for failover purposes.
Perpetual (legacy) license support for failover
There is no ability for a Perpetual (legacy) license to automatically switch the license to a new server. Perpetual licenses only work for the servers for which they were configured. In order to handle failover scenarios for a Perpetual license you will need to purchase licenses for each server you intend to use, including any servers for failover purposes.