# On Microsoft Azure

## Understanding Cromwell on Azure

[Cromwell](https://cromwell.readthedocs.io/) is an open-source workflow execution engine from the Broad Institute of MIT and Harvard, designed to run [Workflow Description Language](https://openwdl.org/) (WDL) workflows on local or cloud infrastructure. Microsoft Research provides [Cromwell on Azure](https://github.com/microsoft/CromwellOnAzure/wiki), a workflow execution management package that:

* Simplifies Azure resource deployment for genomics workflows
* Bundles the Cromwell execution engine
* Uses GA4GH Task Execution Service (TES) API
* Orchestrates tasks through Azure Batch service

## How It Works

When using Cromwell on Azure with Workbench, the process flows as follows:

1. Workbench submits the workflow to Cromwell
2. Cromwell generates individual task definitions
3. Cromwell dispatches tasks to Azure Batch via TES
4. Tasks execute on Azure instances using specified containers and resources
5. Outputs write to Azure Cloud Storage
6. Cromwell returns results to Workbench

Workbench monitors and reports status throughout this process, as detailed in the [User Guide](/products/workbench/engines.md).

## Deployment

For simplified setup, we provide an installer script that combines:

* Microsoft's Cromwell on Azure installer
* Terraform configuration tools

The deployment uses an Azure Container App as the ingress point for Cromwell requests. This requires an Azure Active Directory token from a pre-configured Azure Application Registration.

For complete deployment instructions, refer to the [installer README](https://github.com/DNAstack/cromwell-on-azure-workbench-engine-installer).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.omics.ai/products/workbench/engines/adding-and-updating-an-engine/microsoft-azure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
