Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Ao projetar arquiteturas de carga de trabalho, você deve usar padrões do setor que abordam desafios comuns. Os padrões ajudam você a fazer compensações intencionais e otimizar para os resultados desejados. Eles também ajudam a reduzir riscos que podem afetar a confiabilidade, a segurança, o desempenho e o custo. Como as operações abrangem todas essas áreas, os riscos não gerenciados acabam aparecendo como trabalho operacional ou incidentes. Esses padrões são comprovados em ambientes de nuvem do mundo real, escalam com modelos operacionais modernos e são inerentemente agnósticos ao fornecedor. Padronizar em padrões bem conhecidos é, por si só, uma prática de excelência operacional.
Muitos padrões reforçam um ou mais pilares do Azure Well-Architected. Para excelência operacional especificamente, os padrões geralmente fornecem topologias que permitem práticas de implantação seguras, evolução incremental, migração controlada e observabilidade.
A tabela a seguir resume os padrões de projeto de arquitetura que suportam as metas de excelência operacional.
| Padrão | Resumo |
|---|---|
| Camada Anticorrupção | Protege os novos componentes do sistema das opções de comportamento ou implementação de sistemas herdados adicionando uma camada mediadora às interações proxy entre componentes herdados e novos. Esse padrão ajuda a garantir que o novo design de componentes não seja influenciado por implementações herdadas que podem ter modelos de dados ou regras de negócios diferentes quando você se integra a esses sistemas legados. O padrão é especialmente útil em migrações graduais do sistema. Reduz a dívida técnica em novos componentes e, ao mesmo tempo, suporta componentes existentes. |
| Coreografia | Coordena o comportamento de componentes distribuídos autônomos em uma carga de trabalho usando comunicação descentralizada e orientada a eventos. Esse padrão pode ser útil quando você espera atualizar ou substituir serviços com freqüência durante o ciclo de vida de uma carga de trabalho. Como os componentes distribuídos são autônomos, você pode modificar a carga de trabalho com menos alterações gerais no sistema. |
| Consolidação de Recursos de Computação | Otimiza e consolida recursos de computação aumentando a densidade. Esse padrão combina vários aplicativos ou componentes de uma carga de trabalho em uma infraestrutura compartilhada. A consolidação leva a uma plataforma de computação mais homogênea, que pode simplificar o gerenciamento e a observabilidade, reduzir abordagens díspares para tarefas operacionais e reduzir a quantidade de ferramentas necessárias. |
| Carimbos de Implementação | Fornece uma abordagem para lançar uma versão específica de um aplicativo e sua infraestrutura como uma unidade controlada de implantação, com base na suposição de que a mesma versão ou versões diferentes serão implantadas simultaneamente. Esse padrão se alinha às metas de infraestrutura imutáveis, oferece suporte a modelos avançados de implantação e pode facilitar práticas de implantação seguras. |
| Repositório de Configuração Externa | Extrai a configuração para um serviço que é externalizado para o aplicativo para oferecer suporte a atualizações dinâmicas de valores de configuração sem exigir alterações de código ou reimplantação de aplicativos. Essa separação da configuração do aplicativo do código do aplicativo oferece suporte à configuração específica do ambiente e aplica o controle de versão aos valores de configuração. Os armazenamentos de configuração externos também são um local comum para gerenciar sinalizadores de recursos para permitir práticas de implantação seguras. |
| Agregação de gateway | Simplifica as interações do cliente com sua carga de trabalho agregando chamadas para vários serviços de back-end em uma única solicitação. Essa topologia permite que a lógica de back-end evolua independentemente dos clientes, permitindo que você altere as implementações de serviço encadeadas, ou até mesmo as fontes de dados, sem a necessidade de alterar os pontos de contato do cliente. |
| Descarregamento de gateway | Descarrega o processamento de solicitações para um dispositivo de gateway antes e depois de encaminhar a solicitação para um nó de back-end. Adicionar um gateway de descarregamento ao processo de solicitação permite gerenciar a configuração e a manutenção da funcionalidade descarregada a partir de um único ponto, em vez de gerenciá-la a partir de vários nós. |
| Roteamento de gateway | Encaminha solicitações de rede de entrada para vários sistemas de back-end com base nas intenções de solicitação, lógica de negócios e disponibilidade de back-end. O roteamento de gateway permite que você desacople solicitações de back-ends, o que, por sua vez, permite que seus back-ends ofereçam suporte a modelos avançados de implantação, transições de plataforma e um único ponto de gerenciamento para resolução de nomes de domínio e criptografia em trânsito. |
| Monitoramento de pontos finais de integridade | Fornece uma maneira de monitorar a integridade ou o status de um sistema expondo um ponto de extremidade projetado especificamente para essa finalidade. Padronizar quais pontos de extremidade de integridade devem ser expostos e o nível de análise nos resultados em toda a sua carga de trabalho pode ajudá-lo a triar problemas. |
| Ponte de mensagens | Fornece um intermediário para permitir a comunicação entre sistemas de mensagens que, de outra forma, são incompatíveis devido ao protocolo ou formato. Essa dissociação oferece flexibilidade quando você faz a transição da tecnologia de mensagens e eventos dentro de sua carga de trabalho ou quando você tem requisitos heterogêneos de dependências externas. |
| Editor/Subscritor | Desacopla componentes de uma arquitetura substituindo a comunicação direta cliente-a-serviço ou cliente-a-serviço pela comunicação por meio de um agente de mensagens intermediário ou barramento de eventos. Essa camada de indirecionamento pode permitir que você altere com segurança a implementação no lado do editor ou do assinante sem a necessidade de coordenar as alterações em ambos os componentes. |
| Quarentena | Garante que os ativos externos atendam a um nível de qualidade acordado pela equipe antes de serem autorizados a consumi-los na carga de trabalho. A automação e a consistência nessas verificações fazem parte do ciclo de vida de desenvolvimento de software e das práticas de implantação segura (SDP) da carga de trabalho. |
| Carro lateral | Estende a funcionalidade de um aplicativo encapsulando tarefas não primárias ou transversais em um processo complementar que existe junto com o aplicativo principal. Esse padrão fornece uma abordagem para implementar flexibilidade na integração de ferramentas que pode melhorar a observabilidade do aplicativo sem exigir que o aplicativo assuma dependências diretas de implementação. Permite que a funcionalidade do sidecar evolua de forma independente e seja mantida independentemente do ciclo de vida da aplicação. |
| Figo Strangler | Fornece uma abordagem para substituir sistematicamente os componentes de um sistema em execução por novos componentes, geralmente durante uma migração ou modernização do sistema. Este padrão fornece uma abordagem de melhoria contínua, na qual a substituição incremental com pequenas mudanças ao longo do tempo é preferível em vez de grandes mudanças sistémicas que são mais arriscadas de implementar. Esse padrão também oferece suporte ao descomissionamento seguro: os pontos finais legados podem ser medidos, drenados e removidos somente depois que os fluxos de substituição atingirem as metas de confiabilidade e observabilidade. |
Próximos passos
Analise os padrões de design de arquitetura que dão suporte aos outros pilares do Azure Well-Architected Framework: