Skip to main content

We are in the works of reworking our Azure deployment, cleaning up some of the mess we created while we where still learning etc.

We are currently only using a single App Service instance, currently we have no reason to believe this will change soon. Still I was looking at implementing Redis Cache to be ready for the moment we would want to scale horizontally, are there any other benefits to the Redis Cache other than being able to do horizontal scaling?

Maybe performance or sessions lasting through app service restarts? 

Hi,

The Redis Cache can indeed have some value when using only a single App Service instance. 

The cache will retain information about task- and report pop-ups as well as new rows and row editing and the information about process flows that await user interaction.

This means this information is not lost when the App Service is restarted.

Take a look at Azure App Service deployment slots as well. In conjunction with a Redis cache, this will allow you to achieve zero-downtime Indicium upgrades.

While these scenarios are not really horizontal scaling, where multiple instances run side-by-side, the behavior is kind of similar. You are allowing seamless transition of an end user to different instances of Indicium. In this case, an Indicium runtime shutting down and a new Indicium runtime being booted up.

Note: using a Redis cache in and by itself will not increase performance. If anything, it will degrade performance a bit due to the overhead of having to store and load information externally instead of having all this data in-memory.


We are already using deployment slots in conjunction with deployment of Universal and Indicium from Azure Devops.

 

But thank you for confirming my expectation regarding the use of Redis, this gives me reason enough to start implementing it :)