Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Blueriq can be used in a hosting environment where high reliability is a requirement. This article will talk about the why, the when and the how of setting up Blueriq services in with aforementioned requirements in mind. With Blueriq your end users are using a Blueriq application that was designed in our design environment and it runs on a Blueriq Runtime instance. May it be a simple forms application, several webservices to an entire case management system. All of these Blueriq projects will be hosted and will be running through a Blueriq Runtime.

Why to Use Failover (Scalability vs. Availability vs. Reliability)

Let's first explore how Blueriq approaches the topic of high reliability. At this moment in time we decided to focus on reliability over availability and scalability, but without limiting the option to make your setup more available and/or scalable.

...

Problem 2 would need some way to increase reliability of user sessions when during system failures and maintenance windows.

...

Managing sessions entirely in memory is one of the obstacles too to overcome in the architecture of Blueriq in making it more reliable, but not in making it more scalable or available. Retaining user sessions is also one of the most important things in a Blueriq application since users might be in the middle of handling case work or filling out extensive forms and they would lose all their progress if the system is not sufficiently reliable in retaining their progress on moments of downtime.

Too make To make your Blueriq stack highly reliable we made Blueriq services store their state in external high performance data stores, in our case Redis. This way the components of Blueriq that have session management can be setup in a failover cluster, thus making your Blueriq stack more resilient against downtime.

When to Use Failover (What fits your requirements?)

Blueriq usually runs in an environment landscape with multiple other hosted applications. The documentation about the subject failover is primarily meant to advise on when and how to use failover. We offer certain functionality and it is up to the professionals implementing the solution too make to make the decisions on how to use functionality in this solution. How does Blueriq fit in your infrastructure? What technical requirements do you have as a team and organization?

...

  • Significant growth of hosted services in your infrastructure.
    Besides a significant increase in the number of Blueriq components/services that are online there would also be: Load balancers, gateways, external memory stores, etc.
    Is it worth it to include these layers and extra configuration to your infrastructure? Will the increased operating costs be worth it?
  • Overall performance might decrease.
    Though Blueriq is constantly looking too to optimize and monitor general performance, it is not uncommon for response times to go up in any sort of failover environment.
    Using external session stores will generally not be as fast as storing state directly in server memory.
    The impact is generally well within acceptable time ranges, but do consider this when thinking about switching to a failover setup.

* Switching to newer major versions of Blueriq components might still require you to have downtime.

How to Use Failover (Clustering Runtimes)

Setting up Blueriq to support failover scenarios requires you to set up clusters of your Blueriq services.

...

Do note that you need the modern implementation of DCM inside Blueriq DCM new architecture that requires the case engine. (DCM2)