Setting up Failover - Design Phase

Version 28.12 by Danniar Firdausy on 2024/09/25 16:19

eMagiz flows, or more specifically, the flows' inbound components, can be grouped. The benefit from this is that you can later in Deploy, control them as one entity. This is mainly beneficial when faced with substantial maintenance or outage of systems connected to your eMagiz model.

Building on this functionality, you can even configure the group to run in an active/passive failover mode when you activate the multiple runtimes option on your runtime, and each separate runtime is deployed on another machine. The failover functionality is not only relevant in cases of server maintenance. It can also assist you when you want to exchange data with a system that allows only one active connection. Should this connection be business-critical, you can use this failover functionality to create a passive failover situation that will take over when the active connection breaks down (regardless of the reason). 

Setting up this failover functionality in your model requires you to first execute some steps in your Design, Create, and lastly Deploy phase. In this microlearning, we will focus on configuring your setup in the Design phase if you want to activate the active/passive failover configuration.

Should you have any questions, please get in touch with academy@emagiz.com.

1. Prerequisites

  • Intermediate knowledge of the eMagiz platform.

2. Key concepts

This microlearning describes how to configure (parts of) of your Design phase to enable failover for systems connecting with your model. The grouping and failover functionality is relevant when faced with maintenance and outages of systems connected to your model. The failover functionality assists in that case and allows you to have a fallback option on an active connection.

3. Design Phase Configuration

3.1 Solution Design

To configure failover for systems that are connecting with your model, we first need to go to the Design phase. In your Design>Solution Design, find and open the details of the system that you want to enable failover for. Once you do that, then you need to make sure that "Multiple runtimes" option is selected for this system, which is logical since we want to have a second runtime running in case of failover situations (e.g., outage, maintenance, etc.). Afterward, you will see the "Number of runtimes" and "Run in failover" fields. To enable failover, make sure that you fill in 2 as the "Number of runtimes", before selecting the "Run in failover" checkbox. See the screenshot below as an example. 

grouping-and-failover--intermediate-grouping-and-failover-setting-up-failover-design-phase-solution-design.png

Information

Systems with the failover option enabled must have "Number of runtimes" exactly 2 and must be placed on an external machine in the Architecture panel.

3.2 Design Architecture

Once the previous step is done, the next step is to configure your Design>Architecture. Here, you first need to "Start Editing" and then press "Apply settings" on your bottom left corner. Afterward, you will be faced with a pop-up page informing you that failover will be enabled on the system connector containers that you have previously toggled in Design>Solution Design (see the screenshot below as an example).

grouping-and-failover--intermediate-grouping-and-failover-setting-up-failover-design-phase-design-architecture.png
  
Once you applied the changes, then your Design>Architecture in that environment, will get new router containers placed in your external machines (see the screenshot below as an example). These router containers are responsible for keeping track of the existing group names in which runtime containers are part of those groups, and routing the communication between two runtimes (e.g., lead and backup runtimes) to inform when one of the runtimes joins a group (e.g., starting up) or leaves a group (e.g., being non-active).

grouping-and-failover--intermediate-grouping-and-failover-setting-up-failover-design-phase-routers.png

When you have done that and satisfied with your landscape configuration, then you are finished in the Design phase and can proceed to the next configuration in the Create phase.

4. Key takeaways

  • Grouping is beneficial when external systems go through maintenance or downtime.
  • Failover can have the additional benefit of having a fallback scenario while still adhering to the requirement that there can only be one active connection at a time.
  • The role naming in both grouping and failover is crucial. The whole name needs to be matched fully to make it work.
  • For the infra configuration of the failover setup, we have a store item that you can use.

5. Suggested Additional Readings

If you are interested in this topic and want more information, please read the help text provided by eMagiz and check out these links: