Negociar metas de desempenho realistas

Concluído
A experiência do usuário pretendida é definida e há uma estratégia para desenvolver um parâmetro de comparação e medir as metas em relação aos requisitos de negócios pré-estabelecidos.

Do ponto de vista do desempenho, é ideal ter metas de desempenho bem definidas para iniciar o processo de design. Para definir essas metas, você precisa ter um bom entendimento dos requisitos de negócios e da qualidade prevista do serviço que se espera que a carga de trabalho forneça. Defina as expectativas em colaboração com os stakeholders do negócio. Em vez de se concentrar apenas nas métricas técnicas, determine os efeitos aceitáveis na experiência do usuário para os principais fluxos.

Há uma dependência circular. Não é possível medir o que não foi definido, e não é possível definir sem medição. Portanto, também é importante medir o desempenho da carga de trabalho até chegar a uma definição satisfatória de limite aceitável com contrato coletivo.

Há uma forte correlação entre as metas de desempenho e confiabilidade, que ajudam a determinar a qualidade do serviço em termos de desempenho, disponibilidade e resiliência. Sem uma definição clara, é um desafio medir, alertar e testar o desempenho. Após estabelecer as metas e identificar os números reais por meio de testes ao longo do tempo, você pode implementar a automação para testes contínuos em relação a essas metas.

Siga as melhores práticas ao definir metas em nível macro, mesmo que sejam aproximadas ou estejam dentro de um intervalo.

Cenário de exemplo

A Contoso Bicycle é uma marca de bicicletas de venda direta ao consumidor nos Estados Unidos. Sua equipe de desenvolvimento começou a trabalhar na criação de um aplicativo para dar suporte à oferta planejada de serviços móveis de reparo de bicicletas da Contoso. O aplicativo está atualmente na fase de prova de conceito. Os técnicos usarão um aplicativo móvel para gerenciar sua agenda e ordens de serviço, além de receber pagamentos. Um site será utilizado para que os clientes agendem o serviço. É provável que o aplicativo Web, o aplicativo móvel e a API de back-end sejam hospedados no Serviço de Aplicativo do Azure.

Prepare-se para negociar metas de desempenho

Prepare-se para uma negociação eficaz por meio do reconhecimento de conceitos técnicos, explorando possibilidades de design com a infraestrutura disponível e usando resultados de experimentos concretos, se disponíveis. Usar dados históricos para obter visibilidade dos padrões de uso e gargalos. Traga insights de fatores externos, como entradas de análises de mercado, especialistas e padrões do setor.

Você pode tomar decisões informadas com base em insights práticos.

As metas de desempenho estão focadas na experiência do usuário com base no que é viável, nas melhores práticas do setor e nas tendências atuais do mercado.

Desafio da Contoso

  • Nas discussões sobre o aplicativo com os stakeholders do negócio, o desempenho ainda não foi discutido.
  • A equipe de desenvolvimento é nova no Azure e, portanto, não está familiarizada com as funcionalidades de desempenho e escala da plataforma.
  • Sem a orientação dos stakeholders e o conhecimento prático do que é possível, a equipe está preocupada com a possibilidade de ter que implantar a infraestrutura para testes e, posteriormente, recriá-la.
  • A equipe também está preocupada que ninguém esteja preparado para falar sobre metas de desempenho realistas na próxima reunião.

Aplicando a abordagem e os resultados

  • Os analistas de negócios e os desenvolvedores da Contoso discutem suas preocupações e elaboram um plano: Os analistas de negócios pesquisarão as expectativas de desempenho por meio de análises competitivas e sondagens informais, e a equipe de desenvolvimento pesquisará os recursos e as opções do Azure para diferentes tipos de preços.
  • As equipes se reagrupam com os stakeholders do negócio, trazendo os dados que compilaram e usam esses dados como base para suas negociações sobre metas de desempenho. Por meio de discussões sobre as potenciais funcionalidades de desempenho e os custos associados, todos os grupos saem satisfeitos com o uso do Serviços de Aplicativos para a carga de trabalho.

Negociar metas de desempenho de forma eficaz

Colabore com os proprietários de negócios para entender as promessas dos usuários, em termos de qualidade e conformidade regulamentar, se aplicável. Mantenha uma perspectiva ampla e evite entrar em detalhes granulares nessa fase. Seja explícito sobre o que representa um desempenho aceitável, com base nos investimentos, e entenda o contexto dos negócios e o crescimento previsto.

Ao adotar essa abordagem, você evitará fazer suposições que podem não estar alinhadas com as metas de negócios. Isso também gera clareza e motivação na equipe de carga de trabalho.

Ter um contexto de negócios nos requisitos funcionais e não funcionais pode revelar alterações no design em outros pilares do Azure Well-Architected e ajudar você a fazer compensações informadas.

A definição de parâmetros logo no início ajuda a evitar custos associados a possíveis redesenhos da solução posteriormente; ela permite que você garanta que as metas de desempenho cubram projeções futuras, para que você possa alinhar os esforços atuais com as metas de longo prazo.

Desafio da Contoso

  • A equipe de arquitetura tem ideias aproximadas do que pode ser aceitável, mas ainda não tem detalhes específicos. De modo geral, os arquitetos acreditam que poderão evitar o retrabalho com sua escolha de plataforma de aplicativo, mas se sentiriam mais confiantes com um pouco mais de especificidade do que o que obtiveram até agora.
  • Até o momento, as discussões sobre desempenho foram vagas, com declarações como: "O site precisa ser rápido."
  • Sem um pouco mais de especificidade, os arquitetos se preocupam com o fato de que podem exagerar na engenharia do design para o desempenho ou enfrentar atrasos que adiem o lançamento para produção.

Aplicando a abordagem e os resultados

  • Os parceiros comerciais e a equipe técnica se reúnem para chegar a um consenso sobre metas gerais, mas realistas, e alguns limites absolutos que devem ser evitados. Com isso em mãos, os arquitetos podem fazer provas de conceitos como parte do seu projeto inicial para obter um amplo contrato sobre a plataforma de aplicativos e apresentar algumas descobertas de desempenho em relação ao preço.
  • Um dos resultados dessa reunião é saber que a Contoso Bicycle planeja operar apenas no sudoeste dos Estados Unidos no primeiro ano, mas expandirá para todo o país no segundo ano. Essas informações serão levadas em conta no projeto.

Projeto com foco centrado em fluxo

Identifique os fluxos de carga de trabalho e priorize os fluxos no diagrama arquitetônico. Defina a tolerância ao desempenho de cada fluxo como um intervalo do desempenho desejado ao inaceitável. Avalie os pontos de entrada e saída de cada fluxo, considerando a criticidade do caminho, a frequência de uso e a intensidade arquitetônica.

Ao priorizar os fluxos, você pode concentrar seus recursos em áreas críticas que têm o maior efeito sobre os resultados de negócios e do usuário.

Ao dividir o sistema em suas partes e dependências, você entende a função e a influência de cada componente no desempenho. Você também fica ciente dos possíveis problemas.

Isso ajuda a estabelecer uma linha de base de desempenho e a impulsionar a otimização.

Desafio da Contoso

  • Até o momento, a equipe técnica trabalhou com os stakeholders para identificar metas de desempenho de alto nível, mas ainda não se concentrou em fluxos individuais. Para que a equipe de design possa detalhar os fluxos, como o localizador de serviços e os fluxos de pagamento, ela precisará entender os requisitos desses fluxos.
  • Sem esses requisitos específicos, o design corre o risco de subalocar recursos para os principais fluxos ou de superalocar recursos para fluxos de prioridade mais baixa.

Aplicando a abordagem e os resultados

  • Após analisar os fluxos de usuários com a empresa, a equipe de arquitetura agora tem metas muito específicas documentadas para cada fluxo. A decomposição da carga de trabalho agora leva em conta o intervalo entre o desejado e o inaceitável por fluxo.
  • Os arquitetos se esforçarão para atingir as metas desejadas com seu projeto, permitindo que o sistema se desenvolva ao longo do tempo com recursos adicionais e, ao mesmo tempo, comprometendo-se em algum grau para manter o custo e outros requisitos não funcionais sob controle.
  • A equipe consegue concluir o design em torno das metas acordadas e, agora, a equipe de implementação será responsável por garantir que esses limites sejam respeitados e por levantar quaisquer preocupações se não puderem ser alcançados com o projeto com o qual estão trabalhando.

Verifique seu conhecimento

1.

Por que a equipe técnica da Contoso precisou pesquisar as funcionalidades de desempenho no Azure?

2.

Qual das opções a seguir é um exemplo dos tipos de pontos que você deve abordar em uma negociação de meta de desempenho?

3.

Verdadeiro ou falso: As metas de desempenho devem ser contextualizadas em termos de fluxos de carga de trabalho, não de recursos individuais.