Design para requisitos de negócios

Concluído
Reúna os requisitos de negócios com foco na utilidade pretendida da carga de trabalho.

Os requisitos de negócios são definidos por meio do trabalho colaborativo entre as partes interessadas do negócio e os arquitetos de carga de trabalho. Devem ser feitos compromissos de ambas as partes para assegurar que os requisitos acordados são realistas e exequíveis, abordando simultaneamente os objetivos de fiabilidade que o volume de trabalho tem de cumprir. Os requisitos devem abranger a experiência do usuário, dados, fluxos de trabalho e características exclusivas da carga de trabalho. O resultado do processo de requisitos deve indicar claramente as expectativas. Os objetivos devem ser alcançáveis e negociados com a equipa, dado um investimento específico. Eles devem ser documentados para orientar escolhas, implementações e operações tecnológicas.

Cenário de exemplo

A Contoso Insurance está na fase inicial de desenvolvimento de um aplicativo Web para processar solicitações para seus segurados. A maioria dos fluxos principais de usuário e sistema foi determinada e a equipe de carga de trabalho identificou vários serviços do Azure que irão compor o aplicativo: Serviço de Aplicativo do Azure, Banco de Dados SQL do Azure, serviços de IA do Azure, Grade de Eventos do Azure e Aplicativos Lógicos do Azure.

Identificar alvos de confiabilidade

Quantificar o sucesso estabelecendo metas em indicadores para componentes individuais, fluxos de sistemas e usuários e o sistema como um todo.

As métricas quantificam as expectativas. Eles permitem que você compreenda as complexidades e determine se os custos a jusante dessas complexidades estão dentro do limite de investimento.

Os valores-alvo indicam um estado ideal. Você pode usar os valores como limites de teste que ajudam a detetar desvios desse estado e quanto tempo leva para retornar ao estado de destino.

Os requisitos de conformidade também devem ter resultados previsíveis para os fluxos dentro do escopo. A priorização desses fluxos chama a atenção para as áreas mais sensíveis.

O desafio da Contoso

  • A equipe de carga de trabalho quer garantir que está otimizando a forma como os recursos são gastos para tornar a carga de trabalho confiável.
  • Eles decompuseram a carga de trabalho em fluxos e classificaram os fluxos com base em sua criticidade.

Aplicação da abordagem e dos resultados

  • A equipe determina que o fluxo de Envio e Aprovação de Solicitações terá os mais altos requisitos de confiabilidade para a carga de trabalho devido à dependência dos médicos e pacientes da disponibilidade desse fluxo.
  • A equipe de carga de trabalho identifica os componentes que suportam esse fluxo e determina as medidas de confiabilidade que o cumprimento das metas exige.

Compreender os compromissos da plataforma

Entenda as métricas de confiabilidade garantida fornecidas pela sua plataforma de nuvem e considere os limites, cotas e restrições de capacidade para serviços.

Os contratos de nível de serviço (SLAs) variam de acordo com o serviço. Nem todos os serviços e funcionalidades são abrangidos da mesma forma. Ter uma boa compreensão da cobertura e dos limites pode ajudá-lo a detetar desvios e criar mecanismos de resiliência e recuperação.

O desafio da Contoso

  • A equipe de carga de trabalho e as partes interessadas determinaram que os dados do aplicativo precisam ter um RTO (Recovery Time Objetive, objetivo de tempo de recuperação) garantido que não pode exceder 30 segundos para dar suporte à criticidade de seu fluxo de Envio e Aprovação de Declaração.

Aplicação da abordagem e dos resultados

  • Depois de analisar os SLAs publicados pela Microsoft, a equipe vê que precisará implantar a camada Business Critical com replicação geográfica ativa para atingir essa meta de RTO.

Determinar dependências e seu efeito na resiliência

Ao decompor sua carga de trabalho em componentes, certifique-se de ter documentado todas as dependências, sejam elas internas ou externas à empresa, e identifique como o mau funcionamento das dependências pode afetar seus fluxos

Acompanhar a infraestrutura, os serviços, as APIs e as funções dependentes desenvolvidas por outras equipes ou terceiros ajuda a determinar se a carga de trabalho pode operar na ausência dessas dependências. Também o ajuda a compreender falhas em cascata e a melhorar as operações a jusante. Os desenvolvedores podem implementar padrões de design resilientes para lidar com possíveis falhas quando você usa serviços externos que podem ser suscetíveis a falhas.

O desafio da Contoso

  • O fluxo de Envio e Aprovação de Solicitações depende de um pequeno conjunto de dados de referência hospedado e gerenciado por um departamento diferente no Seguro Contoso.
  • O conjunto de dados é atualizado várias vezes ao dia, durante o horário normal de trabalho.
  • O aplicativo está sendo projetado para tolerar alguma obsolescência nos dados de referência, mas os dados devem estar sempre disponíveis para o aplicativo.

Aplicação da abordagem e dos resultados

  • A equipe de carga de trabalho envolve a equipe que dá suporte ao conjunto de dados de referência e aprende que a meta de confiabilidade para o conjunto de dados é menor do que a do fluxo que o usará.
  • A equipe adiciona tarefas de design à lista de pendências para adicionar um cache local do conjunto de dados e um trabalho em segundo plano para atualizar o cache todas as noites. A tolerância ao atraso permitida pelo design não será violada por esta solução.

Verifique o seu conhecimento

1.

Qual das seguintes opções não é um aspeto da carga de trabalho para definir metas de confiabilidade?

2.

Ao decompor sua carga de trabalho em componentes, qual dos seguintes aspetos você deve considerar para seu projeto de confiabilidade?

3.

A equipe de carga de trabalho da Contoso Insurance está interessada em saber mais sobre o tempo de atividade garantido para diferentes SKUs do Serviço de Aplicativo do Azure. Onde devem pesquisar essas informações?