Compartilhar via


Otimizar o design da carga de trabalho usando fluxos

Este artigo aborda a otimização direcionada de cargas de trabalho usando fluxos. Diferentes componentes de uma carga de trabalho têm requisitos e níveis variados de importância. Ao segmentar uma carga de trabalho em fluxos, você pode priorizar diferentes partes de uma carga de trabalho e alinhar melhor os investimentos de carga de trabalho com a importância de cada fluxo.

Esse processo de otimização de carga de trabalho é iterativo e envolve três etapas principais: (1) definir a estrutura de fluxo dentro de sua carga de trabalho, (2) definir requisitos técnicos e (3) projetar o fluxo para atender aos requisitos (consulte a figura 1).

Diagrama que mostra um processo de três etapas com cinco ações. A primeira etapa é definir o fluxo. Para definir o fluxo, você precisa entender os pré-requisitos e documentar o fluxo. A segunda etapa é definir os requisitos de fluxo. Para definir os requisitos de fluxo, você precisa estabelecer destinos técnicos. A terceira etapa é projetar o fluxo. Para projetar o fluxo, você precisa seguir as práticas recomendadas de design de fluxo e desenvolver e testar o fluxo. Há uma seta da ação de build e teste de volta para a primeira ação (entenda os pré-requisitos) que indica iterações desse processo.Figura 1: o processo para otimizar cargas de trabalho usando fluxos.

Definir o fluxo

Antes de definir os requisitos de fluxo, você precisa entender os drivers de negócios para o fluxo. Os pré-requisitos para definir um fluxo são identificar o processo empresarial e o caso de uso que ele dá suporte. Quando você entende os pré-requisitos, pode começar a documentar o fluxo.

Entender os pré-requisitos

Fluxos são sequências de ações que dão suporte à funcionalidade de carga de trabalho. Há dois tipos principais de fluxos: fluxos de usuário e fluxos do sistema. Os fluxos de usuário determinam interações do usuário. Os fluxos do sistema determinam a comunicação entre componentes de carga de trabalho. Os fluxos dão suporte a processos de negócios e casos de uso. Uma carga de trabalho consiste em vários casos de uso. Você precisa identificar o processo empresarial e o caso de uso que o fluxo dá suporte antes de documentar um fluxo (consulte a figura 2).

Diagrama que mostra duas caixas, empilhadas uma sobre a outra. A caixa superior representa um processo empresarial com segmentos marcados como Estágio 1, Estágio 2 e Estágio n, indicando uma sequência de estágios no processo de negócios. De cada estágio, três setas verticais apontam para baixo para uma linha de três quadrados que representam diferentes casos de uso. Cada quadrado é rotulado com Caso de uso, Caso de uso 2 e Caso de uso n, respectivamente. Cada quadrado contém um fluxograma exclusivo com fluxos rotulados Flow 1, Flow 2 e Flow n. Os casos de uso fazem parte de uma única carga de trabalho. Cada estágio do processo empresarial está vinculado a um caso de uso de carga de trabalho específico e cada caso de uso tem seu próprio fluxo.Figura 2: a relação entre processos empresariais, casos de uso, fluxos e carga de trabalho.

Identificar o processo empresarial

Um processo empresarial é uma série de ações (estágios) que atendem a um requisito de negócios. Os fluxos determinam a sequência que um usuário ou dados usa para realizar cada estágio de um processo empresarial. Por exemplo, vender produtos online é um processo de negócios. As etapas nesse processo de negócios podem estar listando o produto online, recebendo pedidos e entregando o produto.

Identificar o caso de uso

Um caso de uso define os requisitos funcionais de um fluxo. Você precisa identificar e entender o caso de uso que um fluxo dá suporte antes de estabelecer os requisitos técnicos de um fluxo. Cada caso de uso deve dar suporte a um estágio em um processo empresarial (consulte a figura 2). Um caso de uso deve definir os seguintes atributos:

  • Finalidade: articule claramente as tarefas ou os objetivos, como habilitar compras online. Essa clareza orienta o design funcional e define metas claras para o design de fluxo.

  • Criticalidade: avalie a importância do caso de uso, que vai da rotina à crítica. O valor atribuído a um caso de uso informa a priorização e o design do fluxo. Casos de uso de alto valor podem exigir considerações avançadas sobre tratamento de erros, ajuste de desempenho ou experiência do usuário.

  • Consumidores: identifique se os usuários (clientes, funcionários) ou componentes do sistema são os principais consumidores. Essa categorização determina se é um fluxo de usuário ou fluxo do sistema e influencia o design.

  • Eventos: defina gatilhos ou condições que iniciam e concluem o caso de uso. Esses eventos definem os limites do fluxo.

  • Execução: entenda a frequência operacional e a variabilidade do caso de uso para prever a carga do sistema. Você deve criar um fluxo para lidar com diferentes cenários de execução.

  • Dependências: identifique interdependencies com outros casos de uso para o gerenciamento de riscos. Reconhecer as dependências de um caso de uso ajuda na criação de fluxos que se integram suavemente a outras partes do sistema. Você precisa garantir a disponibilidade de entradas necessárias e a compatibilidade de saídas com processos subsequentes.

Documentar o fluxo

Use o caso de uso para documentar o fluxo. Você deve estruturar ou mapear cada ação necessária em um fluxo. Capturar critérios e caminhos de decisão. Identificar interações com outros casos de uso. Essa estrutura de tópicos serve como um blueprint para design e gerenciamento de fluxo. Você também precisa capturar informações de negócios sobre o fluxo. Inclua os seguintes detalhes na documentação do fluxo:

  • Descrição do fluxo: uma descrição de alto nível do fluxo.

  • Processo empresarial: o processo empresarial que o fluxo dá suporte.

  • Proprietário do processo: o indivíduo que possui o processo empresarial.

  • Stakeholders: os indivíduos que você deve informar ou consultar sobre status de fluxo ou alterações.

  • Caminhos de escalonamento: os indivíduos ou grupos que você deve contatar para resolve problemas. É uma sequência de pessoas. O escopo da responsabilidade individual cresce com cada pessoa no caminho.

  • Impacto nos negócios: a importância desse fluxo para os negócios.

  • Classificação de criticalidade: um rótulo qualitativo que indica a importância relativa do fluxo.

Para obter mais informações, consulte Exemplos de fluxo.

Definir requisitos de fluxo

Utilize o caso de uso para estabelecer os destinos técnicos do fluxo. Defina destinos mensuráveis para o fluxo que se alinham aos cinco pilares do WAF (Well-Architected Framework). Esses pilares fornecem uma estrutura para definir destinos técnicos:

  • Destinos de confiabilidade: avalie a importância de cada fluxo e defina as metas de confiabilidade adequadamente. Determine os limites de desempenho e estabeleça SLAs (contratos de nível de serviço) claros e objetivos (SLOs). Fluxos de maior criticalidade exigem metas de confiabilidade mais rigorosas.

  • Destinos de segurança: analise as necessidades de segurança de cada fluxo com base na confidencialidade de dados e nas atividades do usuário. Implemente e atualize continuamente as medidas de segurança para atender a essas necessidades, garantindo a conformidade com os padrões regulatórios.

  • Destinos de custo: entenda as demandas de cada fluxo para uma alocação efetiva de recursos. Defina destinos para equilibrar o custo com o desempenho. Verifique se o uso de recursos está alinhado com as prioridades de negócios.

  • Destinos operacionais: defina métricas para monitoramento e solução de problemas eficazes. Os destinos devem garantir o uso eficiente de recursos e o alinhamento com as metas organizacionais.

  • Metas de desempenho: metas de desempenho base nos requisitos iniciais de cada fluxo. Verifique se os fluxos essenciais recebem recursos adequados e ajustam continuamente as metas para atender às demandas em evolução e aprimorar as experiências do usuário.

Projetar o fluxo

Projete o fluxo para atender às metas técnicas. Você deve se familiarizar com as práticas recomendadas de design de fluxo para obter o resultado certo. Compile e teste o fluxo. Iterar no design até que ele atenda aos destinos técnicos estabelecidos.

Siga as práticas recomendadas de design de fluxo

Ao criar um fluxo, siga as práticas recomendadas de design de fluxo. Um fluxo bem projetado tem os seguintes atributos:

  • Escopo: identifique pontos iniciais e finais distintos para cada fluxo. Os limites claros ajudam a otimizar as interações do usuário ou do sistema.

  • Lógico: Crie seus fluxos com uma ordem lógica de etapas. Otimize para o caminho mais eficiente e reduza as etapas desnecessárias.

  • Mantenedível: fluxos de design fáceis de atualizar e manter. Use componentes modulares que você pode modificar sem afetar toda a carga de trabalho.

  • Definido: incorpore condições específicas que disparam ou orientam cada etapa em um fluxo. Essa precisão garante que o fluxo responda com precisão a entradas do usuário, alterações de dados ou estados do sistema.

  • Confiável: crie caminhos de exceção e tratamento de erros em seus fluxos. O gerenciamento de erros efetivo evita interrupções e mantém a integridade do fluxo em circunstâncias inesperadas.

  • Escalonável: verifique se ele pode lidar com cargas variadas e adaptar-se ao crescimento ou redução de bases de usuários ou volumes de dados.

  • Seguro: insira medidas de segurança dentro do fluxo. Proteja os dados e as interações do usuário contra acesso e ameaças não autorizados.

  • Eficiente: planeje o uso eficiente de recursos sem provisionamento excessivo. Tenha em mente a otimização de custo.

  • Centrado no usuário: para fluxos de usuário, alinhe o design de fluxo com as expectativas e comportamentos do usuário. Torne-o intuitivo e reduza a curva de aprendizado para novos usuários.

Desenvolver e testar o fluxo

Desenvolva o fluxo para atender às metas técnicas e testá-lo para garantir que ele atenda aos seus requisitos. Esse processo valida se o fluxo opera conforme o esperado, lida com eficiência com suas tarefas e atende aos destinos técnicos. Aqui estão as diretrizes para criar e testar um fluxo:

  • Selecionar tecnologias: escolha tecnologias que se alinhem com as metas definidas em termos de confiabilidade, segurança e desempenho.

  • Desenvolver fluxo: crie o fluxo de acordo com o design, tendo em mente os destinos definidos.

  • Fluxo de teste: realize testes para garantir que o fluxo atenda aos destinos. Iterar conforme necessário para atender às metas.

  • Monitor: implemente ferramentas de monitoramento para acompanhar o uso e os custos de recursos.

Examine periodicamente o fluxo em relação às metas definidas e aos padrões do setor. Use comentários de monitoramento e auditorias para melhorar o fluxo. Ajuste metas e processos conforme necessário para se alinhar às mudanças nas necessidades de negócios ou aos avanços tecnológicos.

Otimizar fluxos

Repita o processo definido neste artigo durante todo o ciclo de vida do fluxo. Conforme você itera no design de fluxo, use o Well-Architected Framework para otimizar os fluxos da perspectiva de cada pilar:

Exemplos de fluxo

Aqui estão alguns exemplos de fluxo para ajudá-lo a projetar seus fluxos. Os exemplos usam a arquitetura de referência de padrão de aplicativo Web confiável como base e mostram a documentação que você deve ter em cada fluxo.

Diagrama que mostra um fluxo de exemplo com base no Relecloud.

Fluxo de usuário 1: Criar próximos concertos

Descrição do fluxo: os funcionários do call center usam o aplicativo para criar um próximo concerto.

  • Processos empresariais: esse fluxo dá suporte ao processo de compra de tíquete , mas é assíncrono, reduzindo sua criticidade.

  • Proprietário do processo: Diretor de Vendas.

  • Stakeholders: departamento de vendas, planejamento de concertos e operações, equipe de plataforma e equipe de aplicativos.

  • Caminhos de escalonamento: equipe de aplicativos, equipe de plataforma e departamento de vendas.

  • Impacto nos negócios: esse fluxo é importante para disponibilizar novos shows em plataformas de vendas, influenciando diretamente o fluxo de receita main do negócio. Quando os funcionários do call center não conseguem criar shows devido à indisponibilidade desse fluxo, isso afeta negativamente a receita e a reputação da empresa. No entanto, a alta disponibilidade não é essencial para esse processo, pois os concertos normalmente são agendados com antecedência semanalmente. O departamento de vendas especificou um requisito de 95% de disponibilidade para esse processo e é agradável ao tempo de inatividade fora do horário comercial para fins de manutenção.

  • Classificação de criticidade: baixa.

Fluxo de usuário 2: Pesquisar concertos

Descrição do fluxo: os funcionários do call center usam o aplicativo para pesquisar os próximos concertos.

  • Processos empresariais: esse fluxo dá suporte ao processo de compra de tíquetes , mas os funcionários do call center podem optar por listar todos os concertos se a função de pesquisa não estiver disponível.

  • Proprietário do processo: o departamento de experiência do usuário (UX).

  • Stakeholders: departamento de vendas, equipe de plataforma e equipe de aplicativos.

  • Caminho de escalonamento: equipe de aplicativos, equipe de plataforma, gerente de departamento de vendas de plantão.

  • Impacto nos negócios: esse fluxo permite que os funcionários do call center encontrem shows rapidamente e faça parte do processo normal de vendas. A alta disponibilidade desse fluxo não é crítica, pois os funcionários têm a capacidade de listar concertos mesmo em sua ausência. Isso degrada a experiência do funcionário do call center pode degradar e afetar a produtividade. Os clientes podem sentir frustração devido ao aumento dos tempos de espera ou atrasos. O departamento de vendas solicitou uma disponibilidade de 99% desse fluxo durante o horário comercial regular.

  • Classificação de criticidade: média.

Fluxo de usuário 3: Obter uma lista dos concertos

Descrição do fluxo: os funcionários do call center usam o aplicativo para obter uma lista de concertos.

  • Processos empresariais: esse fluxo dá suporte diretamente ao processo de compra de tíquete .

  • Proprietário do processo: Diretor da Plataforma.

  • Stakeholders: departamento de vendas, equipe de plataforma, equipe de dados.

  • Caminho de escalonamento: equipe de dados, engenheiro de chamada da equipe de dados, engenheiro de chamada da equipe de plataforma.

  • Impacto nos negócios: esse fluxo é essencial para o caminho crítico das transações de geração de receita para a empresa. A alta disponibilidade é essencial, pois os funcionários do call center dependem desse fluxo para processar compras de tíquetes. Em reconhecimento à sua importância, a empresa exige um tempo de atividade de 99,9% para esse fluxo, que inclui horário comercial estendido.

  • Classificação de criticidade: alta.

Fluxo de usuário 4: tíquete de compra

Descrição do fluxo: os funcionários do call center usam o aplicativo (o processo de autenticação e autorização ) para comprar ingressos para um próximo concerto (o próximo processo de shows da lista ) em nome dos clientes do Relecloud.

  • Processos empresariais: esse fluxo é o principal recurso e o fluxo do aplicativo.

  • Proprietário do processo: Diretor de Vendas.

  • Stakeholders: departamento de vendas e todas as equipes técnicas.

  • Caminho de escalonamento: engenheiro de chamada da equipe de aplicativo, engenheiro de chamada da equipe de plataforma, engenheiro de chamada da equipe de dados, Diretor de Operações.

  • Impacto nos negócios: a alta disponibilidade desse fluxo é crucial, pois habilita diretamente as compras de tíquete do cliente. Qualquer mau funcionamento ou indisponibilidade desse fluxo pode afetar significativamente a receita e a reputação da empresa. A empresa estabeleceu um requisito rigoroso para esse processo vital, esperando 99,9% de tempo de atividade, mesmo durante o horário comercial estendido.

  • Classificação de criticidade: alta.

Fluxo de usuário 5: Autenticação e autorização

Descrição do fluxo: os funcionários do call center entrarão com segurança no aplicativo. Os administradores fornecem a eles as funções adequadas para comprar tíquetes em nome dos clientes do Relecloud.

  • Processos empresariais: esse fluxo dá suporte diretamente ao processo de compra de tíquete . Sem essa funcionalidade, os funcionários do call center não podem entrar no aplicativo para comprar tíquetes.

  • Proprietário do processo: equipe de plataforma.

  • Stakeholders: equipe de plataforma, equipe de operações e departamento de vendas.

  • Caminho de escalonamento: engenheiro de chamada da equipe de plataforma, Diretor de Operações.

  • Impacto nos negócios: esse fluxo requer alta disponibilidade porque os funcionários do call center não podem comprar tíquetes se esse fluxo não estiver funcionando corretamente. Se esse fluxo não estiver disponível, ele afetará diretamente a receita e a reputação. É um processo fundamental para o qual a empresa espera 99,9% de tempo de atividade, inclusive durante o horário comercial estendido.

  • Classificação de criticidade: alta.

Fluxo do sistema: coletar telemetria

Descrição do fluxo: para entender as alterações de estado no sistema de produção, o aplicativo Web e as instâncias de API coletam e enviam informações, erros e avisos. Esses dados ajudam a equipe de operações a executar detecção de anomalias, solução de problemas e criação de perfil.

  • Processos empresariais: esse fluxo não dá suporte a nenhum processo de negócios, mas fornece dados importantes para a equipe de operações.

  • Proprietário do processo: Diretor de Operações.

  • Stakeholders: equipe de operações, equipe de plataforma e equipe de dados.

  • Caminho de escalonamento: equipe de operações (24/7), engenheiro de chamada da equipe de dados.

  • Impacto nos negócios: esse fluxo é essencial para os esforços de monitoramento e melhoria contínua da empresa. Ele precisa ser o mais redundante e resiliente possível. A equipe de operações é responsável por restaurar rapidamente esse fluxo após qualquer falha para evitar a falta de informações críticas e avisos. Se o fluxo não atingir a disponibilidade esperada, haverá o risco de ignorar problemas de produção, potencialmente levando a graves consequências. Para atenuar esse risco, o departamento de operações visa 99% de tempo de atividade, 24/7. Eles devem agendar o tempo de inatividade relacionado à manutenção com pelo menos 48 horas de antecedência.

  • Classificação de criticidade: média.