Otimize 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 de importância variados. Ao segmentar uma carga de trabalho em fluxos, você pode priorizar diferentes partes de uma carga de trabalho e alinhar melhor os investimentos em carga de trabalho com a importância de cada fluxo.
Esse processo de otimização da 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).
Figura 1: O processo para otimizar cargas de trabalho usando fluxos.
Defina 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 de negócios e o caso de uso que ele suporta. Quando você entender os pré-requisitos, poderá 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. Existem dois tipos principais de fluxos: fluxos de usuário e fluxos de sistema. Os fluxos de usuário determinam as interações do usuário. Os fluxos do sistema determinam a comunicação entre os componentes da carga de trabalho. Os fluxos oferecem 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 de negócios e o caso de uso que o fluxo suporta antes de documentar um fluxo (consulte a figura 2).
Figura 2: A relação entre processos de negócios, casos de uso, fluxos e carga de trabalho.
Identifique o processo de negócios
Um processo de negócios é 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 executa para realizar cada estágio de um processo de negócios. Por exemplo, vender produtos online é um processo de negócios. Os estágios desse processo de negócios podem ser listar o produto online, receber pedidos e entregar o produto.
Identifique 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 suporta antes de estabelecer os requisitos técnicos de um fluxo. Cada caso de uso deve suportar um estágio em um processo de negócios (consulte a figura 2). Um caso de uso deve definir os seguintes atributos:
Objetivo: Articular claramente as tarefas ou objetivos, como permitir compras online. Essa clareza orienta o design funcional e define metas claras para o design de fluxo.
Criticidade: Avalie a importância do caso de uso, variando de rotineiro a crítico. 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 tratamento aprimorado de erros, ajuste de desempenho ou considerações de experiência do usuário.
Consumidores: identifique se os usuários (clientes, funcionários) ou componentes do sistema são os consumidores principais. Essa categorização determina se é um fluxo de usuário ou fluxo de 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 antecipar a carga do sistema. Você deve criar um fluxo para lidar com diferentes cenários de execução.
Dependências: Identifique interdependências com outros casos de uso para gerenciamento de riscos. Reconhecer as dependências de um caso de uso ajuda a projetar fluxos que se integram perfeitamente a outras partes do sistema. É necessário garantir a disponibilidade das entradas necessárias e a compatibilidade das saídas com os processos subsequentes.
Documente o fluxo
Use o caso de uso para documentar o fluxo. Você deve delinear ou mapear cada ação necessária em um fluxo. Capture critérios e caminhos de decisão. Identifique interações com outros casos de uso. Este esboço serve como um modelo para o design e gerenciamento de fluxo. Você também precisa capturar informações comerciais sobre o fluxo. Certifique-se de incluir 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 suportado pelo fluxo.
Proprietário do processo: o indivíduo que possui o processo de negócios.
Partes interessadas: Os indivíduos que você deve informar ou consultar sobre o status ou as mudanças do fluxo.
Caminhos de escalonamento: os indivíduos ou grupos que você deve entrar em contato para resolver 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 o negócio.
Classificação de criticidade: 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 as metas técnicas do fluxo. Defina metas mensuráveis para o fluxo que se alinhem aos cinco pilares do Well-Architected Framework (WAF). Estes pilares fornecem um quadro para a definição de objectivos técnicos:
Metas de confiabilidade: Avalie a importância de cada fluxo e defina metas de confiabilidade de acordo. Determine limites de desempenho e estabeleça SLAs (Service Level Agreements, contratos de nível de serviço) e SLOs (Objectives, contratos de nível de serviço) claros. Fluxos de maior criticidade exigem metas de confiabilidade mais rigorosas.
Metas de segurança: analise as necessidades de segurança de cada fluxo com base na confidencialidade dos dados e nas atividades do usuário. Implemente e atualize continuamente medidas de segurança para atender a essas necessidades, garantindo a conformidade com os padrões regulatórios.
Metas de custo: Entenda as demandas de cada fluxo para alocação eficaz de recursos. Defina metas para equilibrar custo com desempenho. Certifique-se de que o uso de recursos esteja alinhado com as prioridades de negócios.
Metas operacionais: defina métricas para monitoramento e solução de problemas eficazes. As metas devem garantir o uso eficiente de recursos e o alinhamento com as metas organizacionais.
Metas de desempenho: baseie as metas de desempenho nos requisitos iniciais de cada fluxo. Garantir que os fluxos essenciais recebam recursos adequados e ajustem continuamente as metas para atender às demandas em evolução e aprimorar as experiências do usuário.
Cria 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. Crie e teste o fluxo. Itere no design até que ele atenda às metas técnicas estabelecidas.
Siga as práticas recomendadas de design de fluxo
Ao projetar um fluxo, siga as práticas recomendadas de design de fluxo. Um fluxo bem projetado tem os seguintes atributos:
Com escopo: identifique pontos iniciais e finais distintos para cada fluxo. Limites claros ajudam a otimizar as interações do usuário ou do sistema.
Lógico: Projete seus fluxos com uma ordem lógica de etapas. Otimize para o caminho mais eficiente e reduza etapas desnecessárias.
Sustentá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 acionam ou orientam cada etapa de um fluxo. Essa precisão garante que o fluxo responda com precisão às 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 eficaz de erros evita interrupções e mantém a integridade do fluxo em circunstâncias inesperadas.
Escalável: certifique-se de que ele possa lidar com cargas variadas e se adaptar ao aumento ou redução das bases de usuários ou volumes de dados.
Seguro: Incorpore medidas de segurança no fluxo. Proteja os dados e as interações do usuário contra acesso não autorizado e ameaças.
Eficiente: planeje o uso eficiente dos recursos sem provisionamento excessivo. Lembre-se da otimização de custos.
Centrado no usuário: para fluxos de usuário, alinhe o design do fluxo com as expectativas e comportamentos do usuário. Torne-o intuitivo e reduza a curva de aprendizado para novos usuários.
Desenvolva e teste o fluxo
Desenvolva o fluxo para atender às metas técnicas e teste-o para garantir que ele atenda aos seus requisitos. Esse processo valida que o fluxo opera conforme o esperado, lida com eficiência com suas tarefas e atende às metas técnicas. Aqui estão as diretrizes para criar e testar um fluxo:
Selecione tecnologias: escolha tecnologias que se alinhem com as metas definidas em termos de confiabilidade, segurança e desempenho.
Desenvolver fluxo: Construa o fluxo de acordo com o design, tendo em mente as metas definidas.
Fluxo de teste: Realize testes para garantir que o fluxo atenda às metas. Itere conforme necessário para atingir as metas.
Monitorar: implemente ferramentas de monitoramento para rastrear o uso e os custos de recursos.
Revise periodicamente o fluxo em relação às metas definidas e aos padrões do setor. Use o feedback do monitoramento e das auditorias para melhorar o fluxo. Ajuste metas e processos conforme necessário para se alinhar às necessidades de negócios em constante mudança ou aos avanços tecnológicos.
Otimize os fluxos
Repita o processo definido neste artigo durante todo o ciclo de vida do fluxo. À medida que você itera no design do fluxo, use o Well-Architected Framework para otimizar os fluxos da perspectiva de cada pilar:
- Confiabilidade de fluxo
- Segurança de fluxo
- Otimização do custo do fluxo
- Excelência operacional do Flow
- Eficiência de desempenho de fluxo
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.
Fluxo do usuário 1: Criar shows futuros
Descrição do fluxo: Os funcionários do call center usam o aplicativo para criar um próximo show.
Processos empresariais: esse fluxo dá suporte ao processo de tíquete de compra, mas é assíncrono, reduzindo sua criticidade.
Proprietário do processo: Diretor de Vendas.
Partes interessadas: Departamento de vendas, planejamento e operações de shows, 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 a disponibilização de novos shows nas plataformas de vendas, influenciando diretamente no principal fluxo de receita 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 shows geralmente são agendados com antecedência semanalmente. O departamento de vendas especificou um requisito de 95% de disponibilidade para esse processo e concorda com o tempo de inatividade fora do horário comercial para fins de manutenção.
Classificação de criticidade: Baixa.
Fluxo do usuário 2: Pesquisar concertos
Descrição do fluxo: Os funcionários do call center usam o aplicativo para pesquisar os próximos shows.
Processos de negócios: esse fluxo dá suporte ao processo de compra de tíquetes , mas os funcionários do call center podem optar por listar todos os shows se a função de pesquisa não estiver disponível.
Proprietário do processo: o departamento de experiência do usuário (UX).
Partes interessadas: departamento de vendas, equipe de plataforma e equipe de aplicativos.
Caminho de escalonamento: equipe de aplicativos, equipe de plataforma, gerente do departamento de vendas de plantão.
Impacto nos negócios: esse fluxo permite que os funcionários do call center encontrem shows rapidamente e faz 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 shows 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 ficar frustrados devido ao aumento do tempo de espera ou atrasos. O departamento de vendas solicitou uma disponibilidade de 99% desse fluxo durante o horário comercial normal.
Classificação de criticidade: Média.
Fluxo do usuário 3: obter uma lista dos shows
Descrição do fluxo: Os funcionários do call center usam o aplicativo para obter uma lista de shows.
Processos empresariais: esse fluxo dá suporte direto ao processo de tíquete de compra.
Proprietário do processo: Diretor de Plataforma.
Partes interessadas: departamento de vendas, equipe de plataforma, equipe de dados.
Caminho de escalonamento: equipe de dados, engenheiro de plantão da equipe de dados, engenheiro de plantão da equipe de plataforma.
Impacto nos negócios: esse fluxo é parte integrante do caminho crítico das transações geradoras de receita para os negócios. A alta disponibilidade é essencial, pois os funcionários do call center contam com esse fluxo para processar as compras de ingressos. 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ários 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 show (o processo de lista dos próximos shows) em nome dos clientes da Relecloud.
Processos de negócios: esse fluxo é o principal recurso e 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 plantão da equipe de aplicativos, engenheiro de plantão da equipe de plataforma, engenheiro de plantão da equipe de dados, diretor de operações.
Impacto nos negócios: a alta disponibilidade desse fluxo é crucial, pois permite diretamente a compra de tíquetes de clientes. Qualquer mau funcionamento ou indisponibilidade desse fluxo pode impactar significativamente tanto a receita quanto 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 entram com segurança no aplicativo. Os administradores fornecem a eles as funções adequadas para comprar ingressos em nome dos clientes da Relecloud.
Processos empresariais: esse fluxo dá suporte direto ao processo de tíquete de compra. Sem essa funcionalidade, os funcionários do call center não podem entrar no aplicativo para comprar ingressos.
Proprietário do processo: equipe da plataforma.
Partes interessadas: equipe de plataforma, equipe de operações e departamento de vendas.
Caminho de escalonamento: engenheiro de plantão 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 importante 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 realizar a detecção de anomalias, a solução de problemas e a criação de perfil
Processos empresariais: esse fluxo não dá suporte a nenhum processo empresarial, mas fornece dados importantes para a equipe de operações.
Proprietário do processo: Diretor de Operações.
Partes interessadas: equipe de operações, equipe de plataforma e equipe de dados.
Caminho de escalonamento: equipe de operações (24 horas por dia, 7 dias por semana), engenheiro de plantão da equipe de dados.
Impacto nos negócios: esse fluxo é essencial para os esforços de monitoramento e melhoria contínua do negócio. 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 perda de informações e avisos críticos. Se o fluxo não atingir a disponibilidade esperada, há o risco de ignorar os problemas de produção, potencialmente levando a consequências graves. Para mitigar esse risco, o departamento de operações visa 99% de tempo de atividade, 24 horas por dia, 7 dias por semana. Eles devem programar o tempo de inatividade relacionado à manutenção com pelo menos 48 horas de antecedência.
Classificação de criticidade: Média.