Поделиться через


Оптимизация проектирования рабочей нагрузки с помощью потоков

В этой статье рассматривается целевая оптимизация рабочих нагрузок с помощью потоков. Различные компоненты рабочей нагрузки имеют разные требования и уровни важности. Сегментируя рабочую нагрузку на потоки, вы можете определить приоритеты различных частей рабочей нагрузки и лучше согласовать инвестиции рабочей нагрузки с важностью каждого потока.

Этот процесс оптимизации рабочей нагрузки является итеративным и включает три ключевых этапа: (1) определение структуры потока в рабочей нагрузке, (2) определение технических требований и (3) проектирование потока в соответствии с требованиями (см. рис. 1).

Схема: трехэтапный процесс с пятью действиями. Первым шагом является определение потока. Чтобы определить поток, необходимо понимать предварительные требования и документировать поток. Второй шаг — определение требований к потоку. Чтобы определить требования к потоку, необходимо установить технические целевые показатели. Третий шаг — проектирование потока. Чтобы спроектировать поток, необходимо следовать рекомендациям по проектированию потока, а также разработать и протестировать поток. Существует стрелка от действия сборки и тестирования к первому действию (понимание предварительных требований), которая указывает на итерации этого процесса.Рис. 1. Процесс оптимизации рабочих нагрузок с помощью потоков.

Определение потока

Прежде чем определять требования к потоку, необходимо понять бизнес-факторы для потока. Предварительные требования для определения потока — определение бизнес-процесса и вариантов использования, которые он поддерживает. Понимая предварительные требования, можно начать документирование потока.

Общие сведения о предварительных требованиях

Потоки — это последовательности действий, поддерживающих функциональные возможности рабочей нагрузки. Существует два основных типа потоков: потоки пользователей и системные потоки. Потоки пользователей определяют взаимодействие с пользователем. Системные потоки определяют обмен данными между компонентами рабочей нагрузки. Потоки поддерживают бизнес-процессы и варианты использования. Рабочая нагрузка состоит из нескольких вариантов использования. Перед документированием потока необходимо определить бизнес-процесс и вариант использования, поддерживаемый потоком (см. рис. 2).

Схема, на которую показаны два прямоугольника, уложенные друг на друга. Верхняя рамка представляет собой бизнес-процесс с сегментами, отмеченными этапами 1, 2 и n, что указывает на последовательность этапов бизнес-процесса. С каждого этапа три вертикальные стрелки указывают вниз на строку из трех квадратов, представляющих различные варианты использования. Каждый квадрат помечен вариантом использования, вариантом использования 2 и вариантом использования n соответственно. Каждый квадрат содержит уникальную блок-схему с пометками Поток 1, Поток 2 и Поток n. Все варианты использования являются частью одной рабочей нагрузки. Каждый этап бизнес-процесса связан с конкретным вариантом использования рабочей нагрузки, и каждый вариант использования имеет свой собственный поток.Рис. 2. Связь между бизнес-процессами, вариантами использования, потоками и рабочей нагрузкой.

Определение бизнес-процесса

Бизнес-процесс — это ряд действий (этапов), которые соответствуют бизнес-требованиям. Потоки определяют последовательность, выполняемую пользователем или данными для выполнения каждого этапа бизнес-процесса. Например, продажа продуктов через Интернет является бизнес-процессом. Этапами этого бизнес-процесса может быть перечисление продукта в Интернете, получение заказов и доставка продукта.

Определение варианта использования

Вариант использования определяет функциональные требования потока. Прежде чем устанавливать технические требования потока, необходимо определить и понять вариант использования, поддерживаемый потоком. Каждый вариант использования должен поддерживать один этап бизнес-процесса (см. рис. 2). Вариант использования должен определять следующие атрибуты:

  • Цель: четко сформулировать задачи или цели, такие как включение покупок в Интернете. Эта ясность определяет функциональный дизайн и устанавливает четкие цели для проектирования потока.

  • Критичность. Оцените важность варианта использования, от обычной до критической. Значение, присвоенное варианту использования, определяет приоритеты и структуру потока. Для высокоценных вариантов использования может потребоваться улучшенная обработка ошибок, настройка производительности или рекомендации по взаимодействию с пользователем.

  • Потребители. Определите, являются ли пользователи (клиенты, сотрудники) или системные компоненты основными потребителями. Эта классификация определяет, является ли это потоком пользователя или системой, и влияет на структуру.

  • События. Определите триггеры или условия, которые инициируют и завершат вариант использования. Эти события определяют границы потока.

  • Выполнение. Изучите частоту работы и вариативность варианта использования для прогнозирования нагрузки на систему. Необходимо разработать поток для обработки различных сценариев выполнения.

  • Зависимости. Определите взаимозависимости с другими вариантами использования для управления рисками. Распознавание зависимостей варианта использования помогает разрабатывать потоки, которые плавно интегрируются с другими системными частями. Необходимо обеспечить доступность необходимых входных данных и совместимость выходных данных с последующими процессами.

Документирование потока

Используйте вариант использования для документирования потока. Необходимо наметить или сопоставить каждое действие, необходимое в потоке. Запишите критерии и пути принятия решений. Выявление взаимодействий с другими вариантами использования. Эта структура служит схемой для проектирования потока и управления ими. Кроме того, необходимо записать бизнес-информацию о потоке. Обязательно включите в документацию по потоку следующие сведения:

  • Описание потока: общее описание потока.

  • Бизнес-процесс: бизнес-процесс, поддерживаемый потоком.

  • Владелец процесса: лицо, которому принадлежит бизнес-процесс.

  • Заинтересованные лица: лица, которых вы должны информировать или консультировать по состоянию или изменениям потока.

  • Пути эскалации: лица или группы, с которыми необходимо связаться для устранения проблем. Это последовательность людей. С каждым человеком на пути растет область индивидуальной ответственности.

  • Влияние на бизнес. Важность этого потока для бизнеса.

  • Оценка критичности: качественная метка, указывающая относительную важность потока.

Дополнительные сведения см. в разделе Примеры потока.

Определение требований к потоку

Используйте вариант использования для определения технических целей потока. Определите измеримые целевые показатели для потока, которые соответствуют пяти основным аспектам платформы Well-Architected (WAF). Эти основные принципы предоставляют платформу для установки технических целей:

  • Целевые показатели надежности. Оцените важность каждого потока и установите целевые показатели надежности соответствующим образом. Определите пороговые значения производительности и установите четкие соглашения об уровне обслуживания (SLA) и цели (SLO). Для потоков с более высоким уровнем важности требуются более строгие целевые показатели надежности.

  • Целевые показатели безопасности. Анализируйте потребности в безопасности каждого потока на основе конфиденциальности данных и действий пользователей. Реализуйте и постоянно обновляйте меры безопасности в соответствии с этими потребностями, обеспечивая при этом соответствие нормативным стандартам.

  • Целевые показатели затрат. Изучите требования каждого потока для эффективного распределения ресурсов. Установите целевые показатели, чтобы сбалансировать затраты и производительность. Убедитесь, что использование ресурсов соответствует бизнес-приоритетам.

  • Операционные целевые показатели. Определите метрики для эффективного мониторинга и устранения неполадок. Целевые показатели должны обеспечивать эффективное использование ресурсов и согласование с целями организации.

  • Целевые показатели производительности. Целевые показатели производительности основываются на начальных требованиях каждого потока. Убедитесь, что основные потоки получают достаточные ресурсы и постоянно корректируют целевые показатели в соответствии с меняющимися потребностями и улучшают взаимодействие с пользователем.

Проектирование потока

Проектируйте поток в соответствии с техническими целями. Вам следует ознакомиться с рекомендациями по проектированию потоков, чтобы достичь нужного результата. Выполните сборку и тестирование потока. Выполните итерацию по дизайну, пока он не будет соответствовать установленным техническим целям.

Следуйте рекомендациям по проектированию потока

При проектировании потока следуйте рекомендациям по проектированию потоков. Хорошо спроектированный поток имеет следующие атрибуты:

  • Область действия. Определите отдельные начальные и конечные точки для каждого потока. Четкие границы помогают оптимизировать взаимодействие с пользователем или системой.

  • Логических: Проектируйте потоки с логическим порядком шагов. Оптимизация для наиболее эффективного пути и сокращение ненужных шагов.

  • Поддерживаемый: потоки разработки, которые легко обновлять и обслуживать. Используйте модульные компоненты, которые можно изменять, не затрагивая всю рабочую нагрузку.

  • Определено. Включите определенные условия, которые запускают или направляют каждый шаг в потоке. Такая точность гарантирует, что поток точно реагирует на входные данные пользователя, изменения данных или состояния системы.

  • Надежный. Создайте в потоках пути обработки ошибок и исключений. Эффективное управление ошибками предотвращает нарушение работы и обеспечивает целостность потока при непредвиденных обстоятельствах.

  • Масштабируемость. Убедитесь, что он может обрабатывать различные нагрузки и адаптироваться к растущим или сокращающимся пользовательским базам или объемам данных.

  • Безопасность. Внедряйте меры безопасности в поток. Защита данных и взаимодействия пользователей от несанкционированного доступа и угроз.

  • Эффективность. Планируйте эффективное использование ресурсов без чрезмерной подготовки. Учитывайте оптимизацию затрат.

  • Ориентированные на пользователей. Для пользовательских потоков согласуйте структуру потока с ожиданиями и поведением пользователей. Сделайте это интуитивно понятным и уменьшите кривую обучения для новых пользователей.

Разработка и тестирование потока

Разработайте поток в соответствии с техническими целями и протестируйте его, чтобы убедиться, что он соответствует его требованиям. Этот процесс проверяет, работает ли поток должным образом, эффективно обрабатывает свои задачи и соответствует техническим целям. Ниже приведены рекомендации по созданию и тестированию потока.

  • Выбор технологий. Выберите технологии, которые соответствуют заданным целевым объектам с точки зрения надежности, безопасности и производительности.

  • Поток разработки. Создание потока в соответствии с проектом с учетом заданных целей.

  • Поток тестирования. Проводите тестирование, чтобы убедиться, что поток соответствует целевым показателям. Выполнять итерацию по мере необходимости для достижения целевых показателей.

  • Мониторинг. Реализуйте средства мониторинга для отслеживания использования ресурсов и затрат.

Периодически проверяйте поток в соответствии с установленными целевыми показателями и отраслевыми стандартами. Используйте отзывы о мониторинге и аудите, чтобы улучшить поток. При необходимости корректируйте целевые показатели и процессы в соответствии с меняющимися потребностями бизнеса или технологическими достижениями.

Оптимизация потоков

Повторите процесс, определенный в этой статье, на протяжении всего жизненного цикла потока. При итерации по структуре потока используйте Well-Architected Framework для оптимизации потоков с точки зрения каждого компонента:

Примеры потоков

Ниже приведено несколько примеров потоков, которые помогут вам спроектировать потоки. В примерах в качестве основы используется эталонная архитектура шаблонов надежных веб-приложений и показана документация по каждому потоку.

Схема, на которую показан пример потока на основе Relecloud.

Поток пользователя 1. Создание предстоящих концертов

Описание потока. Сотрудники центра обработки вызовов используют приложение для создания предстоящего концерта.

  • Бизнес-процессы. Этот поток поддерживает процесс приобретения билетов , но он является асинхронным, снижая его важность.

  • Владелец процесса: директор по продажам.

  • Заинтересованные лица: отдел продаж, планирование и эксплуатация концертов, команда платформы и команда приложений.

  • Пути эскалации: команда приложений, команда платформы, а затем отдел продаж.

  • Влияние на бизнес. Этот поток важен для предоставления новых концертов на платформах продаж, напрямую влияя на main поток доходов бизнеса. Когда сотрудники центра обработки вызовов не могут создавать концерты из-за недоступности этого потока, это негативно влияет как на доход, так и на репутацию компании. Однако высокий уровень доступности не имеет важного значения для этого процесса, так как концерты обычно планируются заранее на еженедельной основе. Отдел продаж указал требование о доступности 95 % для этого процесса и согласен с простоем в нерабочее время для целей обслуживания.

  • Оценка критичности: низкая.

Поток пользователя 2. Поиск концертов

Описание потока. Сотрудники центра обработки вызовов используют приложение для поиска предстоящих концертов.

  • Бизнес-процессы. Этот поток поддерживает процесс приобретения билетов , но сотрудники центра обработки вызовов могут выбрать перечисление всех концертов, если функция поиска недоступна.

  • Владелец процесса: отдел пользовательского интерфейса.

  • Заинтересованные лица: отдел продаж, команда платформы и команда приложений.

  • Путь эскалации: команда приложений, команда платформы, менеджер отдела продаж по вызову.

  • Влияние на бизнес. Этот поток позволяет сотрудникам центра обработки вызовов быстро находить концерты и является частью обычного процесса продаж. Высокий уровень доступности этого потока не имеет решающего значения, так как сотрудники имеют возможность перечислять концерты даже в его отсутствие. Это ухудшает работу сотрудника call-центра и может повлиять на производительность. Клиенты могут испытывать разочарование из-за увеличения времени ожидания или задержек. Отдел продаж запросил 99 % доступности этого потока в обычные рабочие часы.

  • Оценка критичности: средняя.

Поток пользователя 3. Получение списка концертов

Описание потока. Сотрудники центра обработки вызовов используют приложение для получения списка концертов.

  • Бизнес-процессы. Этот поток напрямую поддерживает процесс приобретения билетов .

  • Владелец процесса: директор платформы.

  • Заинтересованные лица: отдел продаж, команда платформы, команда данных.

  • Путь эскалации: команда данных, инженер по вызову группы данных, инженер по вызову команды платформы.

  • Влияние на бизнес. Этот поток является неотъемлемой частью критического пути получения дохода транзакций для бизнеса. Высокий уровень доступности имеет важное значение, так как сотрудники центра обработки вызовов используют этот поток для обработки покупок билетов. В знак признания его важности, бизнес требует 99,9% времени доступности для этого потока, который включает в себя расширенные рабочие часы.

  • Оценка критичности: высокая.

Поток пользователя 4. Приобретение билета

Описание потока. Сотрудники центра обработки вызовов используют приложение (процесс проверки подлинности и авторизации ) для покупки билетов на предстоящий концерт ( список предстоящих концертов ) от имени клиентов Relecloud.

  • Бизнес-процессы. Этот поток является основной функцией и потоком приложения.

  • Владелец процесса: директор по продажам.

  • Заинтересованные лица: отдел продаж и все технические группы.

  • Путь эскалации: инженер группы приложений по вызову, инженер группы платформы по вызову, инженер группы обработки данных по вызову, главный операционный директор.

  • Влияние на бизнес. Высокий уровень доступности этого потока имеет решающее значение, так как он напрямую обеспечивает покупку билетов клиентов. Любая неисправность или недоступность этого потока может значительно повлиять как на доход, так и на репутацию компании. Компания установила строгие требования к этому жизненно важному процессу, ожидая 99,9 % времени безотказной работы даже в течение длительного рабочего времени.

  • Оценка критичности: высокая.

Поток пользователя 5. Проверка подлинности и авторизация

Описание потока. Сотрудники центра обработки вызовов безопасно входят в приложение. Администраторы предоставляют им соответствующие роли для приобретения билетов от имени клиентов Relecloud.

  • Бизнес-процессы. Этот поток напрямую поддерживает процесс приобретения билетов . Без этой функции сотрудники центра обработки вызовов не смогут войти в приложение, чтобы купить билеты.

  • Владелец процесса: команда платформы.

  • Заинтересованные лица: команда платформы, группа эксплуатации и отдел продаж.

  • Путь эскалации: инженер по вызову команды платформы, главный операционный директор.

  • Влияние на бизнес. Для этого потока требуется высокий уровень доступности, так как сотрудники центра обработки вызовов не могут приобрести билеты, если этот поток не работает должным образом. Если этот поток недоступен, это напрямую влияет на доход и репутацию. Это ключевой процесс, для которых компания ожидает 99,9 % времени доступности, в том числе в течение длительного рабочего времени.

  • Оценка критичности: высокая.

Системный поток: сбор данных телеметрии

Описание потока. Чтобы понять изменения состояния в рабочей системе, веб-приложения и экземпляры API собирают и отправляют сведения, ошибки и предупреждения. Эти данные помогают операционной группе выполнять обнаружение аномалий, устранение неполадок и профилирование.

  • Бизнес-процессы. Этот поток не поддерживает бизнес-процессы, но предоставляет важные данные для операционной группы.

  • Владелец процесса: операционный директор.

  • Заинтересованные лица: команда эксплуатации, команда платформы и команда по обработке данных.

  • Путь эскалации: группа операций (24/7), специалист по работе с данными по вызову.

  • Влияние на бизнес. Этот поток имеет важное значение для мониторинга и непрерывного совершенствования бизнеса. Она должна быть максимально избыточной и устойчивой. Команда эксплуатации отвечает за быстрое восстановление этого потока после сбоя, чтобы избежать отсутствия критически важных сведений и предупреждений. Если потоку не удается достичь ожидаемой доступности, существует риск упустить проблемы в рабочей среде, что может привести к серьезным последствиям. Чтобы снизить этот риск, операционный отдел стремится обеспечить 99 % времени доступности, 24/7. Они должны запланировать время простоя, связанного с обслуживанием, не менее чем за 48 часов.

  • Оценка критичности: средняя.