Server
Server provides a scalable server-based analytics solution that lets you create, publish, and share analytic applications, schedule and automate workflow jobs, create, manage, and share data connections, and control data access.
Server Components
Server includes these primary components.
Designer is a Windows software application that provides an intuitive drag-and-drop user interface for you to create repeatable workflow processes. You can drag tools from a toolbox onto a canvas, connect them, and edit their properties to create workflows, apps, and macros. You can use these workflows to blend and enrich data from a range of sources, perform advanced analytics, and quickly produce results to share with others.
In a Server deployment, Designer users can publish their workflows, apps, and macros to the Server UI where other Server users can access, run, and download them.
A scheduler interface, which allows users to schedule workflows to be executed at a specific time or on a recurring interval, is also added to Designer as part of the Server deployment.
Alteryx Server is a cloud-hosted or self-hosted application for publishing, sharing, and executing workflows. In a Server deployment, users can publish Designer workflows, macros, and apps to a private Server hosted on your company's server infrastructure. Once published, other Server users can run workflows and view the results. Alteryx also offered a Public Gallery which has been deprecated as of December 2021. You can now use Alteryx Community to share tools and workflows.
The controller manages the Server settings and delegates workflows to be executed to the workers.
The controller consists of the Alteryx service as its primary piece of code. The service allows you to deploy the engine, which processes workflows, across multiple servers, providing a scalable architecture for the scheduling, management, and execution of analytic workflows. The service uses a controller-worker architecture where 1 server acts as the controller and manages the job queue, and others act as workers that run the jobs. If you deploy Server across multiple servers, you can only enable 1 machine as a Controller. The service relies on the persistence layer to store information critical to the functioning of the service. The service also sends content to the Server when requested.
Workers are responsible for executing workflows. Once the controller delegates a job to a worker, the worker runs it and produces the output. There has to be at least 1 worker machine in a Server deployment.
Workers contain an instance of the Alteryx engine. The engine supports direct connections to various data sources. The engine accesses the input data and then processes it in memory during workflow execution. When processing exceeds memory limitations, the engine leverages temporary files on disk and deletes them once the processing is complete.
The engine can be self-contained in a Designer deployment, scaled across an organization via Server, or deployed in the cloud in the Server.
The engine integrates with R. Both the suite of R-based tools and the macros used for predictive analysis leverage the R program.
Developers can write applications that call the engine directly using the application programming interface (API). The software development kit (SDK) allows developers to add programs to their Alteryx toolbox.
The persistence layer, also known as the database, stores application data and ties all the components together. It is the management record for your Server. The service relies upon the persistence layer to store information critical to the functioning of the service, such as application files, the job queue, and result data.
There are 2 supported mechanisms for persistence: SQLite and MongoDB. For lightweight and local deployments, SQLite is adequate for most scheduling needs. For heavier usage, or if you are deploying the Server, you have to use MongoDB. If you use MongoDB, you can use the embedded MongoDB or connect to your implementation of MongoDB.