The Core Technologies Blog

Professional Software for Windows Services / 24×7 Operation


Q&A: Does AlwaysUp work in High Availability Failover Clusters?

Does AlwaysUp work with High Availability Failover Clustering?
My team inherited a cluster of 4 Windows Server 2012 R2 machines running a legacy finance application. At a time only one instance of the application should be up and running as the active/primary instance.

The application is cluster-unaware so we set it up with the Generic Application type. Most days it works fine but about once or twice per month the EXE stops responding and no failover happens. Someone has to log in and kill it to trigger failover, which is just plain silly.

I see that your AlwaysUp may be able to better manage the program. My question is, can your product work to control and maintain the supervision of these instances?

— Andrei

Hi Andrei.

Several of our corporate customers have deployed AlwaysUp in Windows clusters. They tell us that, despite having no specific features that target cluster management, AlwaysUp works very well in that context.

In situations like yours where 100% uptime of a particular application is important, AlwaysUp adds an efficient line of defense — one that complements traditional multi-machine failover. Here’s how that works.

Application resilience: AlwaysUp protects against application failures

AlwaysUp’s job is to ensure that your application is always running. If your application crashes, AlwaysUp will automatically restart it.

But AlwaysUp provides much more than basic crash protection. It can operate proactively, rooting out problematic situations before they metastasize into full blown failures.

For example, you can have AlwaysUp quickly recycle your application if it:

  • Monopolizes the CPU for too long;

  • Consumes too much RAM;

  • Fails to respond properly to network/web requests;

  • Stops writing to a log file.

In it helps, you can even have AlwaysUp restart your finance program once a week during off-hours — to fend off mysterious lock-ups and other unpleasant instabilities.

Less downtime when your application fails

Most importantly, your system/service will likely experience less downtime when AlwaysUp is the first line of defense. Instead of waiting for the cluster failure to be detected and the switchover to the backup server to occur, your application will quickly bounce back on the active server. That rapid resolution can shave many precious seconds off your recovery time!

System resilience: Clustering protects against catastrophic failures

While AlwaysUp is able to cure many application failures, there are a range of deeper problems that it cannot solve. For example, when:

  • The machine loses power;

  • The server’s operating system crashes;

  • The network experiences an outage;

  • A critical hardware component (motherboard, hard drive, etc.) malfunctions.

For those dicey situations — where a server has been compromised — your failover cluster setup will save the day.

Configure a “Generic Service” instead of a “Generic Application”

Since you set up a Generic Application resource type to monitor your important program, you should remove that and replace it with a Generic Service that monitors the Windows Service created by AlwaysUp:

Select Generic Service in the High Availability Wizard

That change will enable your cluster to fail over whenever AlwaysUp protection stops — not when your legacy application fails. That is an important distinction.

If your application is named “Legacy Finance App” in AlwaysUp, select the Windows Service called “Legacy Finance App (managed by AlwaysUpService)”. You can find out more about the service created by AlwaysUp on the Frequently Asked Questions (FAQ) page.

Best of luck with your legacy application!

Posted in AlwaysUp | Tagged , , , , , | Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *