# Functions Instances para Firewall

import DocButton from '~/components/webkit/DocButton.vue';

Ativando o módulo de **Functions**, você poderá instanciar funções serverless em seu **Firewall** na Azion, bem como configurar as condições para sua execução. Disponível para os produtos **Application** e **Firewall**, seu uso permite executar funções serveless em nossa robusta rede distribuída de **Edge Nodes**, respondendo a eventos mais próximos do usuário final, garantindo maior escalabilidade e disponibilidade.

---

## Como funciona

Em **Firewall**, você terá que ativar o módulo de **Functions**, assim é possível utilizar funções existentes disponibilizadas pela Azion. Como por exemplo:

- Bot Manager Lite
- Secure Token
- JWT

Ao instanciar uma **Function**, não é possível alterar seu código fonte, apenas informar os argumentos que serão passados para o contexto de execução da função, em formato *JSON*, através da aba **Args**.

:::note[nota]
O campo **Args** em **Functions Instance** suporta no máximo 100KB de argumentos.
:::

<DocButton href="/pt-br/documentacao/produtos/guias/secure/instanciar-functions/" label="consulte o guia instanciar functions" kind="secondary" size="medium" />

Para associar um gatilho de execução, basta que a instância seja associada a um **Behavior** de uma Rule do **Rules Engine**, na Request. Assim, quando uma requisição satisfazer os critérios definidos nas regras do **Rules Engine**, a **Function** será invocada e executada diretamente nos Edges Nodes da Azion.

Para saber mais sobre como funcionam e como aplicar algumas dessas Functions, acesse [os guias disponíveis](/pt-br/documentacao/produtos/guias/).

<DocButton href="/pt-br/documentacao/produtos/guias/secure/trabalhar-com-rules-engine/" label="consulte o guia trabalhar com rules engine" kind="secondary" size="medium" />

---

## Limites

:::tip
**Aumentar limites** <br></br>
Você pode solicitar o aumento dos limites de acordo com o seu plano. Entre em contato com a [equipe de suporte técnico](/pt-br/documentacao/servicos/suporte/) para solicitar.
:::

Estes são os **limites padrão**:

| Escopo | Limite |
| ----- | ----- |
| Argumentos | 100 KB |
| Memória por Isolate | 512 MB |
| Limite de código (UI) | 6 MB |
| Limite de código (API) | 50 MB |
| Tamanho de variáveis de ambiente | 32 KB |
| Sub-requisições | 50 Sub-Req |
| Tempo máximo de execução de CPU | 2s |