> For the complete documentation index, see [llms.txt](https://docs.skail.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.skail.dev/conceitos/introducao/environment-ambiente.md).

# Environment (Ambiente)

No skail, um **environment** é o contexto de execução em que um workload roda. É a separação lógica entre os diferentes estágios do ciclo de vida de uma aplicação — como desenvolvimento, homologação e produção — permitindo que a mesma aplicação seja executada em condições isoladas, com configurações, dados e integrações próprios de cada estágio.

### Identidade

Um environment é identificado pelo **nome** cadastrado no portal, por exemplo:

```
dev
hml
prod
```

Cada environment funciona como um espaço independente, no qual os workloads são publicados e executados sem interferir nos demais.

### Para que serve

O environment é o **escopo de isolamento** da plataforma. Ele garante que tudo o que acontece dentro de um estágio fique restrito a ele. Isso significa que:

* **Workloads** publicados em um environment só são visíveis e endereçáveis dentro dele — uma versão em `dev` não recebe tarefas destinadas a `prod`, e vice-versa.
* **Mensagens, comandos e eventos** trafegam apenas entre workloads do mesmo environment, evitando qualquer cruzamento entre estágios.
* **Configurações, segredos e integrações externas** podem ser definidos por environment, permitindo apontar cada estágio para seus próprios recursos (bancos, filas, APIs de terceiros).
* **Observabilidade** (logs, métricas e traces) é segmentada por environment, facilitando diagnosticar problemas em produção sem ruído dos demais estágios.

### Relação com workloads

Um mesmo workload (par **nome + versão**) pode estar publicado em mais de um environment ao mesmo tempo — por exemplo, `faturamento:v1.2.3` rodando em `hml` para validação e `faturamento:v1.2.2` em `prod` atendendo os clientes. O environment é o que define **onde** o workload está executando; o workload é o que define **o que** está executando.

### Resumindo

> Um **environment** no skail é o contexto isolado em que workloads são executados. Ele separa estágios do ciclo de vida da aplicação (como dev, hml e prod), garantindo que cada um tenha suas próprias configurações, dados e tráfego de tarefas, sem interferência entre eles.
