Padrões de confiabilidade
Disponibilidade
A disponibilidade é medida como a porcentagem de tempo de atividade e define a proporção de tempo que o sistema está funcionando. A disponibilidade será afetada por erros de sistema, problemas de infraestrutura, ataques mal-intencionados e carga do sistema. Os aplicativos de nuvem normalmente fornecem aos usuários um contrato de nível de serviço (SLA), o que significa que os aplicativos devem ser criados e implementados para maximizar a disponibilidade.
| Padrão | Resumo |
|---|---|
| Carimbos de implantação | Implante várias cópias independentes de componentes de aplicativos, incluindo armazenamentos de dados. |
| Nó geográfico | Implante serviços de back-end em um conjunto de nós geográficos. Cada um deles pode atender solicitações de cliente em qualquer região. |
| 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. |
| Nivelamento de Carga Baseado em Fila | Use uma fila que funcione como um buffer entre uma tarefa e um serviço que ela invoca para simplificar cargas pesadas intermitentes. |
| Limitação | Controle o consumo de recursos por uma instância de um aplicativo, um locatário individual ou todo o serviço. |
Para atenuar os riscos de disponibilidade de ataques de DDoS (Negação de Serviço Distribuído) mal-intencionados, implemente o serviço nativo de proteção padrão contra DDoS do Azure ou um recurso de terceiros.
Alta disponibilidade
A infraestrutura do Azure é composta por geografias, regiões e zonas de disponibilidade, que limitam o raio de uma falha e, portanto, limitam o potencial impacto aos dados e aplicativos do cliente. O constructo Zonas de Disponibilidade do Azure foi desenvolvido para fornecer uma solução de software e rede para proteger contra falhas de datacenter e fornecer alta disponibilidade (HA) maior para nossos clientes. Com a arquitetura de HA, há um equilíbrio entre alta resiliência, baixa latência e custo.
| Padrão | Resumo |
|---|---|
| Carimbos de implantação | Implante várias cópias independentes de componentes de aplicativos, incluindo armazenamentos de dados. |
| Nó geográfico | Implante serviços de back-end em um conjunto de nós geográficos. Cada um deles pode atender solicitações de cliente em qualquer região. |
| 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. |
| Bulkhead | Isole os elementos de um aplicativo em pools para que, se um falhar, os outros continuem a funcionar. |
| Interruptor de Circuito | Trate as falhas que possam consumir uma quantidade variável de tempo para serem corrigidas ao se conectar a um serviço ou recurso remoto. |
Resiliência
A resiliência é a capacidade de um sistema de tratar e se recuperar bem de falhas, tanto acidentais quanto mal-intencionadas.
A natureza da hospedagem em nuvem, em que os aplicativos costumam ser multilocatário, usam serviços de plataforma compartilhada, competem por recursos e largura de banda, comunicam-se pela Internet e são executados no hardware de mercadoria significa que há uma maior probabilidade de que ocorram falhas tanto transitórias quanto mais permanentes. A natureza conectada da Internet e o aumento de sofisticação e volume de ataques aumentam a probabilidade de uma interrupção de segurança.
A detecção de falhas e a recuperação rápida e eficaz são necessárias para manter a resiliência.
| Padrão | Resumo |
|---|---|
| Bulkhead | Isole os elementos de um aplicativo em pools para que, se um falhar, os outros continuem a funcionar. |
| Interruptor de Circuito | Trate as falhas que possam consumir uma quantidade variável de tempo para serem corrigidas ao se conectar a um serviço ou recurso remoto. |
| Transação de Compensação | Desfaça o trabalho executado por uma série de etapas que, juntas, definem uma operação que acabe sendo consistente. |
| 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. |
| Eleição de Líder | Coordene as ações executadas por uma coleção de instâncias de tarefa de colaboração em um aplicativo distribuído elegendo uma instância como a líder que assume a responsabilidade por gerenciar as demais instâncias. |
| Nivelamento de Carga Baseado em Fila | Use uma fila que funcione como um buffer entre uma tarefa e um serviço que ela invoca para simplificar cargas pesadas intermitentes. |
| Tentar Novamente | Permita que um aplicativo trate falhas previstas e temporárias quando tentar se conectar a um serviço ou recurso de rede ao repetir de forma transparente uma operação que falhou anteriormente. |
| Supervisor de Agente do Agendador | Coordene um conjunto de ações em um conjunto distribuído de serviços e outros recursos remotos. |