Pular para o conteúdo principal

Cloud Design Patterns

Catálogo pessoal baseado no Azure Architecture Center, que mantém o catálogo publicado originalmente no livro Cloud Design Patterns (Microsoft patterns & practices, 2014). Os padrões são independentes de provedor; o Azure aparece só nas notas de implementação. Cada padrão tem descrição, problemas que resolve, quando usar, trade-offs, etiquetas (pilares do Well-Architected Framework) e um diagrama Mermaid.

Total: 44 padrões em 8 grupos. Etiquetas: Pilares do Well-Architected Framework.

Grupos​

Messaging (10)​

PadrãoResumoEtiquetas
Asynchronous Request-ReplyO padrão Asynchronous Request-Reply desacopla o processamento no back-end do host de front-end quando o trabalho precisa ser executado de forma assíncrona, mas o cliente ainda precisa de uma resposta clara.Performance Efficiency
Claim CheckO padrão Claim Check separa o armazenamento do conteúdo (payload) da entrega da mensagem.Reliability Security Cost Optimization Performance Efficiency
Competing ConsumersO padrão Competing Consumers permite que várias instâncias consumidoras processem, de forma concorrente, mensagens recebidas pelo mesmo canal de mensageria.Reliability Cost Optimization Performance Efficiency
Idempotent ConsumerO padrão Idempotent Consumer projeta consumidores de mensagens de forma que processar a mesma mensagem mais de uma vez produza exatamente o mesmo efeito que processá-la uma única vez.Reliability
Messaging BridgeO Messaging Bridge conecta sistemas que usam infraestruturas de mensageria diferentes (por exemplo, um broker legado on-premises e um serviço de filas na nuvem) e repassa mensagens entre elas.Cost Optimization Operational Excellence
Pipes and FiltersO padrão Pipes and Filters decompõe uma tarefa de processamento complexa em uma sequência de etapas independentes e reutilizáveis.Reliability
Priority QueueO padrão Priority Queue prioriza as requisições enviadas a um serviço para que as de maior prioridade sejam recebidas e processadas antes das de menor prioridade.Reliability Performance Efficiency
Publisher-SubscriberO padrão Publisher-Subscriber (pub/sub) permite que uma aplicação anuncie eventos de forma assíncrona a vários consumidores interessados, sem conhecer quem são eles.Reliability Security Cost Optimization Operational Excellence Performance Efficiency
Queue-Based Load LevelingO padrão Queue-Based Load Leveling coloca uma fila entre as tarefas que geram trabalho (produtores) e o serviço que executa esse trabalho (consumidor).Reliability Cost Optimization Performance Efficiency
Sequential ConvoyO Sequential Convoy agrupa mensagens relacionadas por uma chave de categoria (por exemplo, o ID de um pedido) e processa cada grupo de forma sequencial, uma mensagem por vez, enquanto grupos diferentes são processados em paralelo.Reliability

Data Management (6)​

PadrãoResumoEtiquetas
Cache-AsideO Cache-Aside carrega dados no cache sob demanda a partir do armazenamento de dados de origem.Reliability Performance Efficiency
CQRSO CQRS (Command Query Responsibility Segregation) separa as operações que alteram dados (commands) das operações que leem dados (queries), usando modelos distintos para cada lado.Performance Efficiency
Event SourcingEm vez de guardar apenas o estado atual dos dados e sobrescrevê-lo a cada alteração (modelo CRUD), o Event Sourcing registra toda a sequência de ações aplicadas a uma entidade como eventos imutáveis em um armazenamento somente de acréscimo (append-only), o event store.Reliability Performance Efficiency
Index TableMuitos armazenamentos de dados organizam as entidades apenas pela chave primária (ou pela chave de partição/shard).Reliability Performance Efficiency
Materialized ViewO padrão Materialized View gera, com antecedência, visões pré-populadas sobre os dados de um ou mais armazenamentos quando esses dados não estão no formato ideal para as consultas necessárias.Performance Efficiency
ShardingO padrão Sharding divide um armazenamento de dados em partições horizontais, chamadas shards.Reliability Cost Optimization

Resiliency (6)​

PadrãoResumoEtiquetas
BulkheadO padrão Bulkhead isola os elementos de uma aplicação em pools independentes, de modo que, se um deles falhar, os demais continuem funcionando.Reliability Security Performance Efficiency
Circuit BreakerO Circuit Breaker bloqueia temporariamente o acesso a um serviço ou recurso remoto quando as falhas passam de um limite.Reliability Performance Efficiency
Health Endpoint MonitoringA aplicação expõe endpoints de saúde (por exemplo, /health via HTTPS ou o protocolo padrão de health checking do gRPC) que ferramentas externas consultam em intervalos regulares.Reliability Operational Excellence Performance Efficiency
Rate LimitingO padrão Rate Limiting faz com que uma aplicação controle a taxa com que ela mesma envia requisições a um serviço que impõe limites de uso.Reliability
RetryO padrão Retry permite que uma aplicação lide com falhas transitórias ao se conectar a um serviço ou recurso remoto, repetindo de forma transparente uma operação que falhou.Reliability
ThrottlingO padrão Throttling limita os recursos que uma instância da aplicação, um tenant ou um serviço inteiro pode consumir.Reliability Security Cost Optimization Performance Efficiency

Distributed Coordination (5)​

PadrãoResumoEtiquetas
ChoreographyO padrão Choreography distribui a lógica de um fluxo de negócio entre os próprios serviços que participam dele, em vez de concentrá-la em um orquestrador central.Operational Excellence Performance Efficiency
Compensating TransactionO padrão Compensating Transaction desfaz o trabalho já realizado quando uma ou mais etapas de uma operação com consistência eventual falham.Reliability
Leader ElectionO padrão Leader Election coordena as ações de um conjunto de instâncias colaborativas de uma aplicação distribuída elegendo uma delas como líder.Reliability
SagaO padrão Saga mantém a consistência de dados em sistemas distribuídos ao dividir uma operação de negócio que envolve vários serviços em uma sequência de transações locais.Reliability
Scheduler Agent SupervisorO padrão Scheduler Agent Supervisor coordena um conjunto de ações distribuídas como uma única operação lógica: ou a operação inteira é concluída com sucesso, ou o trabalho já feito é desfeito.Reliability Performance Efficiency

Deployment and Topology (5)​

PadrãoResumoEtiquetas
Compute Resource ConsolidationO padrão Compute Resource Consolidation agrupa várias tarefas ou operações em uma única unidade computacional (uma máquina virtual, um contêiner, um plano de hospedagem ou um pool de nós), em vez de manter cada uma em uma unidade dedicada.Cost Optimization Operational Excellence Performance Efficiency
Deployment StampsO padrão Deployment Stamps consiste em implantar várias cópias independentes dos componentes de uma aplicação, incluindo os armazenamentos de dados, como um único grupo de recursos.Operational Excellence Performance Efficiency
External Configuration StoreO padrão External Configuration Store move as informações de configuração para fora do pacote de implantação da aplicação, levando-as para um repositório centralizado.Operational Excellence
GeodeO padrão Geode (de geographical node) consiste em implantar o mesmo conjunto de serviços de backend em vários nós geográficos espalhados pelo mundo, em que cada nó consegue atender qualquer requisição de qualquer cliente, em qualquer região.Reliability Performance Efficiency
Static Content HostingO padrão Static Content Hosting consiste em publicar o conteúdo estático de uma aplicação (páginas HTML, imagens, folhas de estilo, JavaScript do lado do cliente, documentos, pacotes de software) em um serviço de armazenamento em nuvem capaz de entregá-lo diretamente ao cliente via HTTP(S), sem passar pelos servidores de aplicação.Cost Optimization

Gateways and Edge (4)​

PadrãoResumoEtiquetas
Backends for FrontendsO padrão Backends for Frontends (BFF) propõe criar um serviço de backend separado para cada interface de frontend (por exemplo, aplicação web, app mobile, dispositivos embarcados), em vez de usar um único backend de propósito geral para todas elas.Reliability Security Performance Efficiency
Gateway AggregationO padrão Gateway Aggregation usa um gateway para agregar várias requisições individuais em uma única requisição.Reliability Security Operational Excellence Performance Efficiency
Gateway OffloadingO padrão Gateway Offloading transfere para um gateway (proxy reverso) funcionalidades compartilhadas ou especializadas que, de outra forma, precisariam ser implementadas e mantidas em cada serviço de backend.Reliability Security Cost Optimization Operational Excellence Performance Efficiency
Gateway RoutingO padrão Gateway Routing coloca um gateway na frente de um conjunto de aplicações, serviços ou implantações e expõe tudo por um único endpoint.Reliability Operational Excellence Performance Efficiency

Security and Access (4)​

PadrãoResumoEtiquetas
Federated IdentityO padrão Federated Identity delega a autenticação de usuários (e de cargas de trabalho) a um provedor de identidade (IdP) externo e confiável, em vez de implementá-la no código da aplicação.Reliability Security Performance Efficiency
GatekeeperO padrão Gatekeeper protege aplicações e serviços colocando um componente dedicado entre os clientes e o sistema.Security Performance Efficiency
QuarantineO padrão Quarantine garante que artefatos de software de terceiros (imagens de contêiner, pacotes de bibliotecas, módulos de infraestrutura como código, imagens de sistema operacional, instaladores de fornecedores) só sejam consumidos pela carga de trabalho depois de verificados e marcados como confiáveis por um processo bem definido.Security Operational Excellence
Valet KeyO padrão Valet Key ("chave de manobrista") entrega ao cliente um token ou chave que dá acesso direto, mas restrito, a um recurso específico, como um arquivo num armazenamento de objetos ou uma fila.Security Cost Optimization Performance Efficiency

Integration and Modernization (4)​

PadrãoResumoEtiquetas
AmbassadorO padrão Ambassador cria serviços auxiliares que enviam requisições de rede em nome de uma aplicação ou serviço consumidor.Reliability Security
Anti-Corruption LayerO Anti-Corruption Layer (camada anticorrupção) é uma fachada ou camada de adaptação colocada entre subsistemas que não compartilham a mesma semântica.Operational Excellence
SidecarO padrão Sidecar implanta componentes auxiliares de uma aplicação em um processo ou contêiner separado, executado ao lado da aplicação principal.Security Operational Excellence
Strangler FigO padrão Strangler Fig migra um sistema legado de forma incremental, substituindo funcionalidades específicas, uma a uma, por novas aplicações e serviços.Reliability Cost Optimization Operational Excellence

Por etiqueta​

Reliability (30)​

Claim Check, Competing Consumers, Idempotent Consumer, Pipes and Filters, Priority Queue, Publisher-Subscriber, Queue-Based Load Leveling, Sequential Convoy, Cache-Aside, Event Sourcing, Index Table, Sharding, Bulkhead, Circuit Breaker, Health Endpoint Monitoring, Rate Limiting, Retry, Throttling, Compensating Transaction, Leader Election, Saga, Scheduler Agent Supervisor, Geode, Backends for Frontends, Gateway Aggregation, Gateway Offloading, Gateway Routing, Federated Identity, Ambassador, Strangler Fig

Security (13)​

Claim Check, Publisher-Subscriber, Bulkhead, Throttling, Backends for Frontends, Gateway Aggregation, Gateway Offloading, Federated Identity, Gatekeeper, Quarantine, Valet Key, Ambassador, Sidecar

Cost Optimization (12)​

Claim Check, Competing Consumers, Messaging Bridge, Publisher-Subscriber, Queue-Based Load Leveling, Sharding, Throttling, Compute Resource Consolidation, Static Content Hosting, Gateway Offloading, Valet Key, Strangler Fig

Operational Excellence (14)​

Messaging Bridge, Publisher-Subscriber, Health Endpoint Monitoring, Choreography, Compute Resource Consolidation, Deployment Stamps, External Configuration Store, Gateway Aggregation, Gateway Offloading, Gateway Routing, Quarantine, Anti-Corruption Layer, Sidecar, Strangler Fig

Performance Efficiency (27)​

Asynchronous Request-Reply, Claim Check, Competing Consumers, Priority Queue, Publisher-Subscriber, Queue-Based Load Leveling, Cache-Aside, CQRS, Event Sourcing, Index Table, Materialized View, Bulkhead, Circuit Breaker, Health Endpoint Monitoring, Throttling, Choreography, Scheduler Agent Supervisor, Compute Resource Consolidation, Deployment Stamps, Geode, Backends for Frontends, Gateway Aggregation, Gateway Offloading, Gateway Routing, Federated Identity, Gatekeeper, Valet Key