Partilhar via


Especificação de projeto de arquitetura de carga de trabalho

Uma especificação de projeto de arquitetura de carga de trabalho é uma especificação detalhada que descreve as opções de projeto e é acompanhada por diagramas. As opções de projeto devem atender aos requisitos funcionais e não funcionais e incluir disposições para operações de rotina, ad hoc e de emergência.

Para obter informações sobre diagramas, consulte Diagramas de design de arquitetura.

O design da arquitetura da carga de trabalho, normalmente expansivo, começa com o design do aplicativo e progride para a seleção do serviço de nuvem. Estas fases informam-se mutuamente. O projeto combinado de aplicativo e infraestrutura deve atender a todos os requisitos.

Alcançar uma solução que satisfaça todos os requisitos é um esforço colaborativo entre partes interessadas, desenvolvedores, testadores, equipes de operações e proprietários de produtos. O processo de conceção deve envolver o aperfeiçoamento dos requisitos com clareza e negociação. O processo é iterativo e muitas vezes requer várias revisões.

Recomendamos que você alinhe seu design com a orientação fundamental do Azure Well-Architected Framework, que inclui princípios de design e guias de recomendação, e reconheça as compensações.

Em última análise, a especificação de design da arquitetura de carga de trabalho é implementada pela equipe de desenvolvimento da carga de trabalho, portanto, deve ser clara e inequívoca. A especificação deve estar prontamente disponível e armazenada com a documentação da carga de trabalho.

Especificação funcional

A especificação funcional para uma carga de trabalho detalha o quê e o porquê do sistema ou recurso em desenvolvimento, mas não a implementação. Este documento deve explicar os problemas atuais que existem e como esse recurso ou sistema vai melhorar essa experiência. Este documento captura a maioria dos requisitos de negócios.

Um arquiteto pode ajudar a moldar este documento, mas principalmente é uma função da propriedade do produto. Um arquiteto deve ajudar a projetar os dados capturados nesta especificação. Esse envolvimento garante que a especificação funcional impulsione um projeto técnico eficaz e eficiente.

Aqui estão alguns tópicos de exemplo que devem ser abordados nesta especificação.

  • Além de detalhar o que está no escopo deste projeto, também seja explícito sobre preocupações adjacentes que estão fora do escopo. A definição de escopos claros reduz a fluência do escopo definindo limites em torno da funcionalidade.

  • É útil incluir os detalhes sobre como essa mudança será medida. Quais medidas precisam ser coletadas e quais objetivos de negócios essas medições suportam.

  • Os fluxos de utilizadores devem ser claramente descritos. Maquetes de baixa fedelidade também podem ser úteis. Se as situações de tratamento de erros forem importantes para esses fluxos, certifique-se do comportamento esperado descrito.

  • Inclua sempre quaisquer requisitos específicos de acessibilidade, conformidade, desempenho, privacidade ou segurança.

  • Inclua qualquer estratégia de distribuição planejada. Por exemplo, "Este recurso estará disponível para nossos usuários beta por dois meses antes de decidir sobre um lançamento completo."

Evite detalhes específicos de implementação técnica nesta especificação. Essas especificações funcionais orientarão as especificações técnicas criadas pelo arquiteto.

Especificações técnicas

A especificação técnica descreve o como com base no escopo e objetivos descritos na especificação funcional. Esta especificação foi projetada para a equipe de engenharia usar como um plano de registro durante a implementação.

Nesta especificação inclua itens como:

  • Decisões tecnológicas, incluindo como: comprar, construir, reutilizar, estender ou desativar.
  • API e contratos de dados (esquemas), incluindo estratégia de implementação de compatibilidade com versões anteriores
  • Detalhes da implementação de rollout e rollback
  • Ciclo de vida de desenvolvimento seguro exclusivo (SDL) e implementação de privacidade
  • O plano de teste
  • Principais fontes de sinais de alerta e monitorização
  • Designs alternativos que foram considerados

A especificação técnica impulsionará os esforços de engenharia. Os itens de trabalho de engenharia são criados principalmente a partir do conteúdo desta especificação. As equipes de implementação referem-se aos itens de trabalho, à especificação técnica e à especificação funcional para garantir que o resultado final atenda aos requisitos funcionais e não funcionais.

Planos de recuperação de desastres

Para atender aos requisitos de confiabilidade da carga de trabalho, um arquiteto precisa projetar um sistema que possa se recuperar dentro das metas de RTO (Recovery Time Objetive, objetivo de tempo de recuperação) e RPO (Recovery Point Objetive, objetivo de ponto de recuperação) de destino. A especificação do projeto de arquitetura deve incluir o plano de recuperação. Esse plano deve abranger os componentes de arquitetura envolvidos, os mecanismos de failover e o impacto no usuário e no fluxo de dados, além de recomendações operacionais. Deve descrever quais os objetivos de recuperação que são cumpridos pela conceção e de que forma.

Embora se espere que o plano inicial evolua com base nos insights de exercícios e revisões pós-incidente, é responsabilidade do arquiteto entregar o plano inicial para toda a nova arquitetura.

Documentação de segurança e conformidade

Um arquiteto é responsável por projetar uma solução que respeite as restrições de segurança e conformidade pertinentes. É importante que os artefatos de design destaquem os recursos incorporados no design para dar suporte a esses requisitos e identifiquem quaisquer controles de compensação necessários quando os requisitos não puderem ser atendidos diretamente.

Consistência

Use um modelo para documentar as várias especificações da sua carga de trabalho. A consistência ajuda as partes interessadas, as partes responsáveis e as equipes de implementação quando a especificação está sendo lida.

Certifique-se de que as especificações têm campos de metadados importantes, tais como:

  • Estado: um status como Rascunho, Em revisão e Aprovado.
  • Link do item de trabalho: um link para o item de trabalho principal na lista de pendências da equipe.
  • Principais links cruzados: links para especificações relacionadas ou outra documentação que suporte a especificação.
  • Indivíduos-chave: Um lugar para listar os nomes dos principais tomadores de decisão envolvidos. Essa lista pode incluir funções como: analista de negócios, parceiro de negócios, líder técnico e o proprietário do produto ou lead que assinou a especificação.

Próximos passos