Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
jpjust
Specialist
Specialist

Dev and Prod in single cluster

Hello All,

I have Dev and Prod in the same cluster.

After I develop an app in dev node, the app is published to Prod from QMC. (shares the same storage for the app)

After that I set up an reload task in qmc for the new published app. 

When the reload happens, the task uses the resources of Prod node, in other words, the task runs on the prod node.

Is there a way, to allow the task to run on Dev node? Once I am satisfied on the reload time / performance etc., I should be able to run the task in Prod node.

How can I achieve it?

Thanks

1 Solution

Accepted Solutions
Bastien_Laugiero

So if by Consumer node you mean Engine then yes it is possible. 

Basically the load balancing rules control which app is available on which Engine nodes.

As a result this control which apps a scheduler can reload and which apps an engine can load into memory for the users in the hub. 

Hope this make sense. 

Bastien Laugiero
If a post helps to resolve your issue, please mark the appropriate replies as CORRECT.

View solution in original post

15 Replies
Bastien_Laugiero

Hi!

Do you have dedicated Prod/Dev schedulers in your cluster or the schedulers are running on the same node as the engine serving the hub?

If you have dedicated schedulers then yes it is possible using custom properties and load balancing rules. 

If the schedulers are running on the same nodes as the engine serving the hub then no it will not be possible I am afraid. 

 

Bastien Laugiero
If a post helps to resolve your issue, please mark the appropriate replies as CORRECT.
jpjust
Specialist
Specialist
Author

Thanks Bastien for your response

I have 2 Prod nodes, one is primary and another one as secondary (not dedicated schedulers though)

So what you are recommending is to have a separate scheduler node (engine, repository, scheduler service) to run reload apps from qmc that are under development? (using custom properties and load balancing rules). Publish the dev apps to dev stream like that?

Once the app is tested and finalized, then have that app reload task run on another scheduler node dedicated to run for reload task for published apps? Publish the app to Prod stream (eg., sales etc.,)

Another thing is, I have an single storage. So regardless of the app being published in Dev stream and Prod stream, the app will be stored in the single storage location, correct?

Thanks

 

Bastien_Laugiero

Hello! 

This is correct. Basically with the scheduler the task will run on any scheduler node where the application is available. In your case once you publish your application on production, since the engine node serving the hub is the same node as the scheduler then it will run on this one. 

The only way around this that I can think of is to run dedicated scheduler nodes (on from prod and one from dev) and you will be able to control which app is available on which node using custom properties and load balancing rules.

The second large advantage I see using this type of architecture is that the resources used by the reloads will not affect the performance in the hub for the users.

Regarding your second question, yes in Qlik Sense there is only one point of storage which is the Qlik Shared folder. 

Hope this helps!

Bastien Laugiero
If a post helps to resolve your issue, please mark the appropriate replies as CORRECT.
jpjust
Specialist
Specialist
Author

Thanks Bastien.

I have an dedicated storage on a separate server to keep the qlik apps .

Both dev and Prod shares the same storage since dev and prod are on single cluster.

Question is, when the app is moved between staging stream and Prod stream in the qmc, does the app gets stored in 2 different location on the storage or just as an single app?

The architecture of running dev and Prod on the same cluster by having single qmc is advisable by qlik? or its better to keep dev and prod in different environments? If we krun dev and prod node on the same cluster that means it runs on common QRS repository, correct?

Thanks

Bastien_Laugiero

Hi, 

Moving an application from one stream to another has no effect on the storage. The applications are all stored in the same folder \\Server\QlikShare\Apps. However this information will be updated in the QSR Database.

The architecture of having DEV and PROD in the same cluster is totally recommended especially when providing self service development to your users. And yes in that case you are running a single Qlik Repository Database. 

 

Bastien Laugiero
If a post helps to resolve your issue, please mark the appropriate replies as CORRECT.
jpjust
Specialist
Specialist
Author

Thanks much Bastien. One last question on this topic.

From your statement below:

The second large advantage I see using this type of architecture is that the resources used by the reloads will not affect the performance in the hub for the users.

In-order not to affect the performance in the hub for the users is to run an separate consumer node (Engine,proxy,repository), correct?

If that is correct, is it possible to route certain apps to be consumed through consumer node 1 and certain through consumer node 2 through custom property, load balancing?

Thanks

Bastien_Laugiero

So if by Consumer node you mean Engine then yes it is possible. 

Basically the load balancing rules control which app is available on which Engine nodes.

As a result this control which apps a scheduler can reload and which apps an engine can load into memory for the users in the hub. 

Hope this make sense. 

Bastien Laugiero
If a post helps to resolve your issue, please mark the appropriate replies as CORRECT.
jpjust
Specialist
Specialist
Author

Thanks Bastien for the valuable informations.

Bastien_Laugiero

Thank you very much! 🙂 

Bastien Laugiero
If a post helps to resolve your issue, please mark the appropriate replies as CORRECT.