# Otimize o processamento de imagens com a Azion

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

O Image Processor da Azion oferece simplicidade e automação para a [gestão de recursos](https://www.azion.com/pt-br/solucoes/processamento-e-otimizacao-de-imagens/), permitindo que você reduza tempos de carregamento e custos de armazenamento. Executando em uma rede distribuída, você pode reduzir o tamanho, cortar, redimensionar e aplicar filtros em imagens para atender às suas necessidades. Tudo isso usando um único arquivo de imagem.

---

## Arquitetura

![Visão geral de uma requisição/resposta através da aplicação](/assets/docs/images/uploads/image-optimization.png)

### Fluxo de dados

1. Um usuário faz uma requisição a um domínio associado a uma aplicação.
2. No edge node, a requisição é processada pelo Rules Engine. As políticas de cache e o comportamento de otimização de imagem são ativados na fase de requisição.
3. Se configurado, algoritmos de otimização de imagem e funções do Runtime são executados.
4. A requisição passa pela camada do Cache. Se existe uma *cache key* para o objeto, o objeto é entregue.
5. Se uma *cache key* não existir para o objeto, a requisição é encaminhada para a origem.
6. A origem responde com o conteúdo para o edge node. 
7. O objeto é armazenado em cache na camada Cache, e uma *cache key* para o objeto é gerada e adicionada ao cabeçalho HTTP `X-Cache-Key` na resposta.
8. O objeto retorna para a camada de aplicação. Para objetos upstream (da origem), quaisquer políticas e diretrizes que devem ser aplicadas ao objeto são processadas pelo Rules Engine e impostas.
9. O conteúdo é entregue ao usuário.

---

## Componentes

- [Applications](/en/documentation/products/build/edge-application/): crie uma aplicação para configurar políticas de entrega e cache, definir regras para automatizar as atribuições de política de cache com base no tipo de conteúdo e determinar como o conteúdo é cacheado.
    - [Cache](/en/documentation/products/build/edge-application/edge-cache/): módulo global para cache de conteúdo no edge.
    - [Rules Engine](/en/documentation/products/build/edge-application/rules-engine/): uma ferramenta para configurar os cenários em que uma política de cache específica é imposta e ativar a otimização de imagem.
- [Image Processor](/en/documentation/products/build/edge-application/image-processor/): um add-on que permite a manipulação de imagens através da linha de requisição.
- [Workloads](/en/documentation/products/build/edge-application/domains/): registre um domínio personalizado com a Azion para entregar a aplicação.

---

## Implementação

1. Crie uma aplicação: primeiro, você deve criar a camada de entrega de conteúdo no edge. Você pode fazer isso usando [Azion Console](https://console.azion.com), [Azion API](https://api.azion.com/#9c1cc0df-16a2-488e-8cfe-3f1238f47aeb) ou [Azion CLI](/pt-br/documentacao/produtos/azion-cli/visao-geral/).
    - Escolha o [template Image Optimization](https://console.azion.com/create/azion/image-optimization) para acelerar o processo. Para implantar facilmente esse template na edge, clique no botão abaixo:

    <DocButton
      label="Implantar Image Optimization"
      href="https://console.azion.com/create/azion/image-optimization"
      icon="ai ai-azion"
      target="_blank"
      size="medium"
    />

2. Crie um domínio e o associe à aplicação: 
    - No [Console](https://console.azion.com), [crie um domínio](/pt-br/documentacao/produtos/guias/configurar-dominio/) usando o botão **+ Create** na barra de navegação superior.
    - Utilize a [Azion API](https://api.azion.com/#a258eabc-b419-47e6-be68-45c2ce0150dd) para criar um domínio.
    - Se você criou uma aplicação através de um template ou do Azion CLI, o domínio é criado para você.
3. Configure políticas de cache: [configure uma política de cache](/pt-br/documentacao/produtos/guias/cache-settings/) para imagens. A configuração recomendada é:
    - Imagens: defina configurações de cache para arquivos de imagem para otimizar a entrega. Para imagens, é recomendado mantê-las em cache no edge por períodos mais longos, como *1 ano* (31536000 segundos).
4. Aplique políticas de cache em cenários específicos: use Rules Engine para [aplicar políticas específicas com base em várias condições](/pt-br/documentacao/produtos/guias/rules-engine/). Crie e modifique as regras:
    - Regra padrão: ative o Image Processor com o comportamento Otimize Imagens.
    - Imagens: para arquivos de imagem, aplique a política de cache apropriada.
5. Aplique algoritmos de processamento de imagem à sua aplicação:
    - Aplique consultas `?ims` a partir do código da própria aplicação.
    - Crie uma regra para reescrever a URL da requisição para adicionar a consulta `?ims`.
6. Aponte o domínio para Azion: [atualize suas configurações de DNS](/pt-br/documentacao/produtos/guias/migrar-ns-para-a-azion/) para apontar o registro CNAME do seu domínio para o endpoint Azion fornecido para o seu domínio.
7. Teste e monitore: depois de configurar sua entrega de conteúdo, teste a entrega de conteúdo para garantir que está funcionando conforme esperado e [monitore o acesso de entrada](/pt-br/documentacao/produtos/observe/visao-geral/).
8. Faça ajustes nas políticas de cache, regras, otimização de imagem ou outras configurações conforme necessário com base nas métricas de desempenho e feedback dos usuários.

---

## Documentos relacionados 

- [Primeiros passos com Image Processor](/pt-br/documentacao/produtos/guias/image-processor/).
- [Template de Otimização de Imagem](https://console.azion.com/create/azion/image-optimization).