# Implemente uma arquitetura serverless com a Azion

A [computação serverless](https://www.azion.com/pt-br/solucoes/aplicacoes-serverless/) permite que você construa e execute aplicações sem se preocupar com a infraestrutura subjacente. Com a Platforma Web da Azion, você pode focar mais em criar produtos de qualidade e menos em gerenciar servidores.

Os benefícios do serverless são numerosos: oferece escalabilidade, eficiência de custo e velocidade. Ao aproveitar as Functions da Azion, você pode implementar sua lógica de negócios mais perto do usuário final, resultando em aplicações ultra-rápidas e responsivas. Mergulhe neste guia para explorar a arquitetura e implementação de aplicações serverless na Azion.

---

## Arquitetura

![Visão geral de uma requisição/resposta através da aplicação](/assets/docs/images/uploads/serverless-apps.png?v=2)


### Fluxo de Dados

1. O usuário acessa o **Domínio** relacionado à **Applications** que está sendo acessada. Esta requisição vai para o **Azion Traffic Router**, que escolhe o **Edge Node** ideal para receber a requisição e a direciona para este node.

2. A requisição passa pelo **Firewall** e é analisada. Se não for uma requisição maliciosa, segue em frente e alcança a **Applications**.

3. A requisição chega à **Applications** e, baseada em sua configuração do **Rules Engine**, acessa o conteúdo solicitado. Se configurado, **Image Processor**, **Cache**, **Application Acceleration** e **Functions** serão executadas.

4. O conteúdo, se estático, será armazenado no **Object Storage**. Assim, o conteúdo será requisitado e retornado como resposta.

5. Operações que requerem transações de banco de dados podem ser realizadas com **SQL Database**.

Após todo esse processo, o conteúdo é entregue ao cliente.

---

## Componentes

- **Applications**: permite que você configure uma aplicação para definir políticas de entrega e cache, criar regras para automatizar a atribuição de políticas de cache com base no tipo de conteúdo e determinar como o conteúdo é armazenado em cache.
- **Cache**: módulo global para armazenar conteúdo no edge.
- **Functions**: permite que você crie aplicações serverless orientadas a eventos, no edge, mais próximas dos usuários.
- **Rules Engine**: uma ferramenta para configurar os cenários em que uma política de cache específica é aplicada.
- **Tiered Cache**: módulo que cria uma camada de cache adicional entre o edge e seus servidores de origem, reduzindo a latência e os custos de infraestrutura.
- **Load Balancer**: módulo projetado para balancear o tráfego entre suas origens, data centers ou provedores de nuvem, mitigando a congestão da rede e a sobrecarga do servidor.
- **Object Storage**: um serviço de armazenamento escalável e seguro projetado para integrar armazenamento de objetos com a Azion Web Platform, usando o padrão S3 para operações de objetos.
- **Origins**: permite que você personalize o endereço de origem do conteúdo da sua aplicação, o cabeçalho Host da sua aplicação, o caminho e as credenciais de autenticação HMAC para serviços protegidos.
- **Workloads**: registre um domínio personalizado com a Azion para entregar sua aplicação.

---

## Implementação

1. Crie uma aplicação:
    - No [Console](https://console.azion.com), crie uma aplicação usando o botão **+ Create** na homepage.
    - Use a [Azion API](https://api.azion.com/#9c1cc0df-16a2-488e-8cfe-3f1238f47aeb) para criar uma aplicação.
    - Use [Azion CLI] para criar e implantar uma aplicação.
2. Crie um domínio e associe-o à aplicação: 
    - No Console, [crie um domínio](/pt-br/documentacao/produtos/guias/configurar-dominio/) usando o botão **+ Create** na homepage.
    - Use a [API Azion](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, o domínio é criado para você.
> A aplicação é acessível através do domínio fornecido pela Azion, que se parece com: `ftd1cvntfl.map.azionedge.net` 
3. Teste e monitore: após configurar sua entrega de conteúdo, teste completamente a entrega de conteúdo para garantir que está funcionando como esperado e monitore os acessos recebidos.
4. Faça ajustes nas políticas de cache, regras ou outras configurações conforme necessário com base nas métricas de desempenho e feedback do usuário.

---

## Documentos relacionados

- [Azion Marketplace](/pt-br/documentacao/produtos/marketplace/)
- [Compatibilidade com as APIs Web no Azion Runtime](/pt-br/documentacao/produtos/devtools/azion-edge-runtime/compatibilidade-frameworks/)
- [Compatibilidade com o Node.js no Azion Runtime](/pt-br/documentacao/produtos/devtools/azion-edge-runtime/compatibilidade/node/)