Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os arquitetos projetam cargas de trabalho integrando serviços de plataforma, funcionalidade e código para atender aos requisitos funcionais e não funcionais. Para criar cargas de trabalho eficazes, você deve entender esses requisitos e selecionar topologias e metodologias que resolvam os desafios das restrições da carga de trabalho. Os padrões de design de nuvem fornecem soluções para muitos desafios comuns.
O design do sistema depende muito de padrões de design estabelecidos. Você pode projetar a infraestrutura, o código e os sistemas distribuídos usando uma combinação desses padrões. Esses padrões são cruciais para a criação de aplicativos confiáveis, altamente seguros, com otimização de custo, operacionalmente eficientes e de alto desempenho na nuvem.
Os seguintes padrões de design de nuvem são independentes de tecnologia, o que os torna adequados para qualquer sistema distribuído. Você pode aplicar esses padrões no Azure, em outras plataformas de nuvem, configurações locais e ambientes híbridos.
Como os padrões de design de nuvem aprimoram o processo de design
As cargas de trabalho de nuvem são vulneráveis às falácias da computação distribuída, que são suposições comuns, mas incorretas, sobre como os sistemas distribuídos operam. Exemplos dessas falácias incluem:
- A rede é confiável.
- Latência é zero.
- A largura de banda é infinita.
- A rede é segura.
- A topologia não muda.
- Há um administrador.
- O versionamento de componentes é simples.
- A implementação da observabilidade pode ser atrasada.
Esses equívocos podem resultar em designs de carga de trabalho com falhas. Os padrões de design não eliminam esses equívocos, mas ajudam a aumentar a conscientização, fornecem estratégias de compensação e fornecem mitigações. Cada padrão de design de nuvem tem compensações. Concentre-se no motivo pelo qual você deve escolher um padrão específico em vez de como implementá-lo.
Considere como usar esses padrões de design padrão do setor como os principais blocos de construção para um design de carga de trabalho bem projetado. Cada padrão de design no Azure Well-Architected Framework representa um ou mais de seus pilares. Alguns padrões podem introduzir compensações que afetam as metas de outros pilares.
Catálogo de padrões
Cada padrão neste catálogo descreve o problema que ele resolve, considerações para aplicar o padrão e um exemplo com base nos serviços e ferramentas do Microsoft Azure. Alguns padrões inclui exemplos de código ou snippets de código que mostram como implementar o padrão no Azure.
| Padrão | Resumo | Pilares do Well-Architected Framework |
|---|---|---|
| Embaixador | Crie serviços auxiliares que enviam solicitações de rede em nome de um consumidor de serviço ou aplicativo. | -Fiabilidade -Segurança |
| Camada anticorrupção | Implemente uma camada de fachada ou adaptador entre um aplicativo moderno e um sistema herdado. | – Excelência Operacional |
| Solicitação/resposta assíncrona | Desacoplar o processamento de back-end de um host front-end. Esse padrão é útil quando o processamento de back-end deve ser assíncrono, mas o front-end requer uma resposta clara e oportuna. | - Eficiência de desempenho |
| Back-ends para Front-ends | Crie serviços de back-end separados para aplicativos ou interfaces de front-end específicos. | -Fiabilidade -Segurança - Eficiência de desempenho |
| Bulkhead | Isole os elementos de um aplicativo em pools para que, se um deles falhar, os outros continuem funcionando. | -Fiabilidade -Segurança - Eficiência de desempenho |
| Cache-Aside | Carregue dados sob demanda em um cache a partir de um armazenamento de dados. | -Fiabilidade - Eficiência de desempenho |
| Coreografia | Permitir que serviços individuais decidam quando e como uma operação de negócios é processada, em vez de depender de um orquestrador central. | – Excelência Operacional - Eficiência de desempenho |
| Interruptor de Circuito | Lidar com falhas que podem levar um tempo variável para ser corrigido quando um aplicativo se conecta a um serviço ou recurso remoto. | -Fiabilidade - Eficiência de desempenho |
| Verificação de declaração | Divida uma mensagem grande em uma verificação de declaração e uma carga para evitar sobrecarregar um barramento de mensagem. | -Fiabilidade -Segurança – Otimização de custo - Eficiência de desempenho |
| Transação de compensação | Desfazer o trabalho realizado por uma sequência de etapas que, juntas, formam uma operação que é eventualmente consistente. | -Fiabilidade |
| Consumidores Concorrentes | Habilite vários consumidores simultâneos para processar mensagens que recebem no mesmo canal de mensagens. | -Fiabilidade – Otimização de custo - Eficiência de desempenho |
| Consolidação de Recursos de Computação | Consolidar várias tarefas ou operações em uma única unidade de computação. | – Otimização de custo – Excelência Operacional - Eficiência de desempenho |
| CQRS | Separe as operações que leem dados daqueles que atualizam dados usando interfaces distintas. | - Eficiência de desempenho |
| Carimbos de implantação | Implante várias cópias independentes de componentes de aplicativos, incluindo armazenamentos de dados. | – Excelência Operacional - Eficiência de desempenho |
| Fornecimento de Eventos | Utilize um repositório somente para adição para registrar uma série completa de eventos que descrevem as ações executadas em dados em um domínio. | -Fiabilidade - Eficiência de desempenho |
| Repositório de configuração externo | Mova as informações de configuração de um pacote de implantação de aplicativo para um local centralizado. | – Excelência Operacional |
| Identidade Federada | Delegar autenticação a um provedor de identidade externa. | -Fiabilidade -Segurança - Eficiência de desempenho |
| Agregação de gateway | Use um gateway para agregar várias solicitações individuais em uma única solicitação. | -Fiabilidade -Segurança – Excelência Operacional - Eficiência de desempenho |
| Descarregamento de gateway | Descarregue a funcionalidade de serviço especializado ou compartilhado para um proxy do gateway. | -Fiabilidade -Segurança – Otimização de custo – Excelência Operacional - Eficiência de desempenho |
| Roteamento de Gateway | Direcione solicitações para vários serviços através de um único endpoint. | -Fiabilidade – Excelência Operacional - Eficiência de desempenho |
| Geode | Implante serviços de back-end em nós geograficamente distribuídos. Cada nó pode lidar com solicitações de cliente de qualquer região. | -Fiabilidade - Eficiência de desempenho |
| Monitoramento do Ponto de Extremidade de Integridade | Implemente verificações funcionais dentro de um aplicativo cujas ferramentas externas podem acessar por meio de pontos de extremidade expostos em intervalos regulares. | -Fiabilidade – Excelência Operacional - Eficiência de desempenho |
| Tabela de Índice | Crie índices sobre os campos em armazenamentos de dados que as consultas fazem referência com frequência. | -Fiabilidade - Eficiência de desempenho |
| Eleição de Líder | Coordene as ações em um aplicativo distribuído elegendo uma instância como líder. O líder gerencia uma coleção de instâncias de tarefa de colaboração. | -Fiabilidade |
| Visão Materializada | Gere exibições pré-preenchidas sobre os dados em um ou mais armazenamentos de dados quando os dados estiverem mal formatados para as operações de consulta necessárias. | - Eficiência de desempenho |
| Ponte de Mensagens | Crie um intermediário para habilitar a comunicação entre sistemas de mensagens incompatíveis. | – Otimização de custo – Excelência Operacional |
| Pipes e Filtros | Dividir uma tarefa que executa processamento complexo em uma série de elementos separados que podem ser reutilizados. | -Fiabilidade |
| Fila de Prioridade | Priorize as solicitações enviadas aos serviços para que as solicitações com prioridade mais alta sejam processadas mais rapidamente. | -Fiabilidade - Eficiência de desempenho |
| Editor/Assinante | Habilite um aplicativo para anunciar eventos a vários consumidores de forma assíncrona, sem acoplar remetentes a receptores. | -Fiabilidade -Segurança – Otimização de custo – Excelência Operacional - Eficiência de desempenho |
| Quarentena | Verifique se os ativos externos atendem a um nível de qualidade acordado pela equipe antes que a carga de trabalho os consuma. | -Segurança – Excelência Operacional |
| Nivelamento de Carga Baseado em Fila | Use uma fila que cria um buffer entre uma tarefa e um serviço para suavizar cargas pesadas intermitentes. | -Fiabilidade – Otimização de custo - Eficiência de desempenho |
| Limitação de taxa | Evite ou minimize erros de limitação controlando o consumo de recursos. | -Fiabilidade |
| Tentar novamente | Habilite os aplicativos para lidar com falhas temporárias previstas repetindo operações com falha. | -Fiabilidade |
| Saga | Gerencie a consistência de dados entre microsserviços em cenários de transações distribuídas. | -Fiabilidade |
| Supervisor de agente do agendador | Coordene um conjunto de ações entre serviços e recursos distribuídos. | -Fiabilidade - Eficiência de desempenho |
| Comboio sequencial | Processe um conjunto de mensagens relacionadas em uma ordem definida sem bloquear outros grupos de mensagens. | -Fiabilidade |
| Fragmentação | Divida um armazenamento de dados em um conjunto de partições horizontais ou fragmentos. | -Fiabilidade – Otimização de custo |
| Sidecar | Implante componentes em um processo ou contêiner separado para fornecer isolamento e encapsulamento. | -Segurança – Excelência Operacional |
| Hospedagem de Conteúdo Estático | Implante conteúdo estático em um serviço de armazenamento baseado em nuvem para entrega direta do cliente. | – Otimização de custo |
| Estrangulador Fig | Migre incrementalmente um sistema herdado substituindo gradualmente partes de funcionalidade por novos aplicativos e serviços. | -Fiabilidade – Otimização de custo – Excelência Operacional |
| Limitação | Controlar o consumo de recursos de aplicativos, locatários ou serviços. | -Fiabilidade -Segurança – Otimização de custo - Eficiência de desempenho |
| Valet Key | Use um token ou chave para fornecer aos clientes acesso direto e restrito a um recurso ou serviço específico. | -Segurança – Otimização de custo - Eficiência de desempenho |
Padrões de orquestração de agentes de IA
Os padrões de design de nuvem anteriores abordam desafios comuns em sistemas distribuídos, mas cargas de trabalho de IA que usam vários agentes autônomos exigem abordagens de coordenação especializadas. Padrões tradicionais, como Agente Supervisor de Agendamento ou Coreografia, fornecem conceitos fundamentais. No entanto, os agentes de IA introduzem desafios exclusivos, como saídas não determinísticas, recursos de raciocínio dinâmico e a necessidade de entregas inteligentes entre componentes especializados.
Para cargas de trabalho de IA que incluem vários agentes autônomos, consulte os padrões de orquestração do agente de IA. Esses padrões complementam os padrões de design de nuvem neste catálogo, abordando os requisitos de coordenação específicos de componentes inteligentes e autônomos que trabalham juntos para alcançar resultados complexos.
Próximas etapas
Examine os padrões de design da perspectiva do pilar Well-Architected Framework que o padrão pretende otimizar.
- Padrões de design para dar suporte ao pilar de confiabilidade
- Padrões de design para dar suporte ao pilar de segurança
- Padrões de design para dar suporte ao pilar de Otimização de Custos
- Padrões de design para dar suporte ao pilar de Excelência Operacional
- Padrões de design para dar suporte ao pilar de Eficiência de Performance