> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/xsoar-6-administrator-guide/6.13/learn-about-cortex-xsoar/onboarding-in-cortex-xsoar/engines/cortex-xsoar-engines-overview.md).

# Cortex XSOAR Engines Overview

You can install multiple engines on the same machine (Shell installation only) which is useful in a dev-prod environment where you do not want to have numerous engines in different environments, and to manage those machines. In a multi-tenant environment, users may want to deploy engines for tenants on the same machine, and you can share an engine between tenants.

{% hint style="info" %}

### Note

You cannot share a multiple engine installation with a single engine installation.
{% endhint %}

An engine is used for the following purposes:

* [Engine Proxy](#engine-proxy)
* [Engine Load-Balancing](#engine-load-balancing)

### **Engine Proxy**

Cortex XSOAR engines enable the Cortex XSOAR server to access internal or external services that are otherwise blocked by a firewall or a proxy, etc. For example, if a firewall blocks external communication and you want to run the Rasterize integration, you need to install an engine to access the Internet.

**Engine Architecture**

![engine\_architecture.png](/files/4nThfDntd9fiYZWmh6Yq)

Within the network, you need to allow the engine to access the Cortex XSOAR server's IP address and listening port (by default, TCP 443). The engine always initiates the communication to the server.

### **Engine Load-Balancing**

Engines can be part of a load-balancing group, which enables distribution of the command execution load. The load-balancing group uses an algorithm to efficiently share the workload for integrations that the group is assigned to, thereby speeding up execution time. In general, heavy workloads are caused by playbooks that run a high number of commands.

Before configuring an integration to run using multiple engines in a load-balancing group, it is recommended that you test the integration using a single engine in the load-balancing group.

![load-balance.png](/files/yOL4IBqTmSRrgWQ9brcy)

{% hint style="info" %}

### Note

When you add an engine to a load balancing group, you cannot use that engine separately. The engine does not appear in the engines drop-down menu when configuring an integration instance.
{% endhint %}

**Engine Installation and Configuration**

You can [Install a Cortex XSOAR Engine](/xsoar-6-administrator-guide/6.13/learn-about-cortex-xsoar/onboarding-in-cortex-xsoar/engines/engine-installation.md) on Linux and Windows machines. After installing the engine, you can [configure](/xsoar-6-administrator-guide/6.13/learn-about-cortex-xsoar/onboarding-in-cortex-xsoar/engines/configure-engines.md) and [manage](/xsoar-6-administrator-guide/6.13/learn-about-cortex-xsoar/onboarding-in-cortex-xsoar/engines/manage-engines.md) engines, including setting a web proxy, adding and removing engines, configuring the number of workers, etc. Before installing, review the system requirements in [Install a Cortex XSOAR Engine](/xsoar-6-administrator-guide/6.13/learn-about-cortex-xsoar/onboarding-in-cortex-xsoar/engines/engine-installation.md).

{% hint style="info" %}

### Note

You need to install [Docker](/xsoar-6-administrator-guide/6.13/learn-about-cortex-xsoar/onboarding-in-cortex-xsoar/docker.md) before installing an engine. If you use the Shell installer, Docker is automatically installed. Therefore, we highly recommend using Linux and not Windows to be able to use the Shell Installer which installs all dependencies.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://cortex-docs.paloaltonetworks.com/xsoar-6-administrator-guide/6.13/learn-about-cortex-xsoar/onboarding-in-cortex-xsoar/engines/cortex-xsoar-engines-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
