Otimize o projeto 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 variáveis. 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 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 (veja a figura 1).
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 de negócios e o caso de uso de seus suportes. Quando você entender os pré-requisitos, poderá começar a documentar o fluxo.
Compreender os pré-requisitos
Os fluxos são sequências de ações que suportam a funcionalidade da carga de trabalho. Existem dois tipos principais de fluxos: fluxos de usuários 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 suportam 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 (veja a figura 2).
Figura 2: A relação entre processos de negócios, casos de uso, fluxos e carga de trabalho.
Identificar o processo de negócios
Um processo de negócios é uma série de ações (etapas) que atendem a um requisito de negócios. Os fluxos determinam a sequência que um usuário ou dados tomam para realizar cada estágio de um processo comercial. Por exemplo, vender produtos online é um processo comercial. As etapas desse processo de negócios podem ser listar o produto on-line, receber pedidos e entregar 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 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 (veja a figura 2). Um caso de uso deve definir os seguintes atributos:
Finalidade: Articular claramente as tarefas ou objetivos, como permitir compras online. Essa clareza orienta o design funcional e define objetivos claros para o design de fluxo.
Criticidade: Avaliar a importância do caso de uso, desde a rotina até a 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 tratamento de erros aprimorado, ajuste de desempenho ou considerações sobre a 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: Compreender a frequência operacional e a variabilidade do caso de uso para antecipar a carga do sistema. Você deve projetar um fluxo para lidar com diferentes cenários de execução.
Dependências: Identificar 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 suavemente com outras partes do sistema. Você precisa garantir a disponibilidade das entradas necessárias e a compatibilidade das saídas com os processos subsequentes.
Documentar o fluxo
Use o caso de uso para documentar o fluxo. Você deve descrever ou mapear cada ação necessária em um fluxo. Capture critérios e caminhos de decisão. Identificar 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 de fluxo:
Descrição do fluxo: uma descrição de alto nível do fluxo.
Processo de negócios: O processo de negócios que o fluxo suporta.
Proprietário do processo: o indivíduo que possui o processo comercial.
Partes interessadas: As pessoas que você deve informar ou consultar sobre o status do fluxo ou alterações.
Caminhos de escalonamento: os indivíduos ou grupos que você deve contatar para resolver problemas. É uma sequência de pessoas. O âmbito 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 os alvos técnicos do fluxo. Defina metas mensuráveis para o fluxo que se alinhem aos cinco pilares do Well-Architected Framework (WAF). Estes pilares proporcionam um quadro para a definição de objetivos técnicos:
Metas de confiabilidade: Avalie a importância de cada fluxo e estabeleça metas de confiabilidade de acordo. Determine limites de desempenho e estabeleça SLAs (Service Level Agreements, contratos de nível de serviço) e objetivos (SLOs) claros. Fluxos de criticidade mais altos exigem metas de confiabilidade mais rigorosas.
Alvos de segurança: Analise as necessidades de segurança de cada fluxo com base na sensibilidade dos dados e nas atividades do usuário. Implementar e atualizar continuamente medidas de segurança para atender a essas necessidades, garantindo a conformidade com as normas regulamentares.
Metas de custo: Compreender as demandas de cada fluxo para uma alocação eficaz de recursos. Estabeleça metas para equilibrar custo e desempenho. Garanta 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 dos recursos e o alinhamento com os objetivos organizacionais.
Metas de desempenho: Baseie as metas de desempenho nos requisitos iniciais de cada fluxo. Garantir que os fluxos essenciais recebam recursos adequados e ajustar continuamente as metas para atender às demandas em evolução e melhorar as experiências do usuário.
Projetar o fluxo
Projetar o fluxo para atender às metas técnicas. Você deve se familiarizar com as melhores práticas de design de fluxo para alcançar o resultado certo. Crie e teste o fluxo. Itere no projeto até que ele atinja as metas técnicas estabelecidas.
Siga as melhores práticas 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:
Escopo: Identificar 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: Projete fluxos fáceis de atualizar e manter. Use componentes modulares que podem ser modificados sem afetar toda a carga de trabalho.
Definido: Incorpora 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 tratamento de erros e exceções 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 variáveis e adaptar-se a bases de usuários ou volumes de dados crescentes ou cada vez menores.
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. Tenha em mente a otimização de custos.
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 aprendizagem para novos utilizadores.
Desenvolver e testar o fluxo
Desenvolver o fluxo para atender às metas técnicas e testá-lo para garantir que ele atenda aos seus requisitos. Esse processo valida que o fluxo opera como pretendido, lida eficientemente com suas tarefas e atende às metas técnicas. Aqui estão as orientações para criar e testar um fluxo:
Selecionar tecnologias: escolha tecnologias que se alinhem com os objetivos definidos em termos de confiabilidade, segurança e desempenho.
Desenvolver fluxo: Construa o fluxo de acordo com o projeto, tendo em mente as metas estabelecidas.
Fluxo de teste: realize testes para garantir que o fluxo atenda às metas. Itere conforme necessário para atingir as metas.
Monitor: implemente ferramentas de monitoramento para rastrear o uso de recursos e os custos.
Revise periodicamente o fluxo em relação às metas estabelecidas e aos padrões do setor. Use o feedback do monitoramento e das auditorias para melhorar o fluxo. Ajuste as metas e os processos conforme necessário para se alinhar com as necessidades de negócios em constante mudança ou os 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 projeto de fluxo, use o Well-Architected Framework para otimizar os fluxos da perspetiva de cada pilar:
- Fiabilidade do fluxo
- Segurança de fluxo
- Otimização de custos de fluxo
- Excelência operacional de fluxo
- Eficiência no desempenho do 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 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 de negócios: esse fluxo suporta o processo de tíquete de compra, mas é assíncrono, diminuindo sua criticidade.
Proprietário do processo: Diretor de Vendas.
Partes interessadas: Departamento de vendas, planejamento e operações de concertos, equipe de plataforma e equipe de aplicativos.
Caminhos de escalonamento: equipe de aplicativos, equipe de plataforma e, em seguida, departamento de vendas.
Impacto nos negócios: Este fluxo é importante para disponibilizar novos concertos nas plataformas de vendas, influenciando diretamente o principal fluxo de receita do negócio. Quando os funcionários do call center não conseguem criar shows devido à indisponibilidade desse fluxo, isso impacta negativamente tanto a receita quanto a reputação da empresa. No entanto, a alta disponibilidade não é essencial para este processo, uma vez que os concertos são normalmente agendados com antecedência e semanalmente. O departamento de vendas especificou um requisito de 95% de disponibilidade para este processo e está de acordo com o 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 shows.
Processos de negócios: esse fluxo suporta o processo de compra de ingressos, 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 aplicação, 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 faz parte do processo normal de vendas. A alta disponibilidade desse fluxo não é fundamental, uma vez que os funcionários têm a capacidade de listar shows mesmo na 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% deste fluxo durante o horário comercial normal.
Classificação de criticidade: Média.
Fluxo de utilizador 3: Obter uma lista dos concertos
Descrição do fluxo: Os funcionários do call center usam o aplicativo para obter uma lista de shows.
Processos de negócio: Este fluxo suporta diretamente o processo de ticket de compra.
Proprietário do processo: Diretor de Plataforma.
Stakeholders: 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 o negócio. A alta disponibilidade é essencial, pois os funcionários do call center dependem desse fluxo para processar a compra de ingressos. Em reconhecimento à sua importância, a empresa exige um uptime de 99,9% para esse fluxo, que inclui horário comercial estendido.
Classificação de criticidade: Alta.
Fluxo de usuário 4: Bilhete 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 de próximos shows) em nome dos clientes 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 equipas técnicas.
Caminho de escalonamento: engenheiro de plantão da equipe de aplicação, 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 afetar 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 fazem login com segurança no aplicativo. Os administradores fornecem as funções adequadas para comprar tíquetes em nome dos clientes Relecloud.
Processos de negócio: Este fluxo suporta diretamente o processo de ticket 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 da plataforma, equipe de operações e departamento de vendas.
Caminho de escalonamento: Engenheiro de plantão da equipe da 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, isso afeta diretamente a receita e a reputação. É um processo chave 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 deteção de anomalias, a solução de problemas e a criação de perfis.
Processos de negócios: esse fluxo não suporta nenhum processo de negócios, 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 o monitoramento e os esforços de melhoria contínua do negócio. Tem de ser tão redundante e resiliente quanto 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 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 tem como meta 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.