I would suggest a service split to simplify maintenance actions in the Alteryx Server.
Split Alteryx Service into 5 services:
Alteryx controller
- Dependencies: Alteryx Database
- Purpose: Controls job submissions
- Meaning: The Alteryx controller Service stopped means neither the users or the scheduler can submit new jobs
Alteryx Database
- Dependencies: N/A
- Purpose: Database
- Meaning: The Alteryx Database Service stopped means all the platform is down
Alteryx Gallery
- Dependencies: Alteryx Database
- Purpose: Controls the Web UI
- Meaning: Alteryx Gallery Service stopped means the gallery web page is down
Alteryx Scheduler
- Dependencies: Alteryx controller, Alteryx Database
- Purpose: Controls the scheduled jobs
- Meaning: The Alteryx Scheduler Service stopped means the users can still submit jobs manually but scheduled jobs wont be submited
Alteryx Worker
- Dependencies: Alteryx controller, Alteryx Database (only applicable if the server where the Alteryx Worker Service is running the Alteryx controller)
- Purpose: Executes the jobs
- Meaning: The Alteryx Worker Service stopped means no job will be executed on the node
This service split will help perform some maintenance tasks and enables the Platform Administrators to shutdown the platform correctly shutting down the services in the correct order.
Usage Example 1 (Cold Backup):
- Stop the controller so no more jobs can be submitted
- Stop all the workers
- After all the workers have stopped the Alteryx Database Service and the rest of the remaining services can be shutdown
- Preform the Cold Backup
- Start the services
Usage Example 2 (Changes in the worker configuration - By doing this the users will still have access to the gallery and their jobs):
- Make changes in the worker configuration
- Restart only the worker service
Usage Example 3 (Changes in the Gallery Page or Configurations):
- Stop the Gallery Service
- Make the changes
- Start the Gallery Service