# 👀 AWF behind the scenes

If you want to get a better understanding of the AWF system or maybe even add your own workflow to AWF, it's good to know the basics of how the system works.

The AWF system consists of 3 main parts:

  1. The frontend - the AWF website
  2. The backend - the AWF server
  3. The workers - the computers actually running your workflow

system_overview

The frontend is the website you see when you go to https://awf.arup.com/ (opens new window). Each workflow has a page configured to gather the required inputs to run that workflow, such as strings and files from the user. The backend manages all the workflows that are started by users on the frontend, and saves the workflow inputs. To actually run a workflow, the backend sends the workflow definition and inputs to a worker. A worker can be a remote workstation, a computer in the cloud or even your own laptop. This worker will run the workflow it receives and send the results to the backend. The backend will save these results and sent these to the frontend when the user requests them.

Different workflows need different types of software (GSA, LS-DYNA, Speckle, etc). To prevent all workers from needing to have all of these software packages installed, AWF uses profiles to link a specific workflow to specific workers. For example: if you have workers that have GSA installed, their profile could be "GSA". When setting up your workflow, you can configure the profile of the workflow to be "GSA" as well. This way the backend knows that it has to send your workflow to those specific workers.

This short overview hopefully gave you some insight into how the AWF system works behind the scenes. The next step is to take a look at how the AWF system handles quality assurance for it's workflows.