Оптимизация проектирования рабочей нагрузки с помощью потоков
В этой статье описывается целевая оптимизация рабочих нагрузок с помощью потоков. Различные компоненты рабочей нагрузки имеют различные требования и уровни важности. Сегментируя рабочую нагрузку в потоки, вы можете определять приоритеты различных частей рабочей нагрузки и лучше выравнивать инвестиции в рабочие нагрузки с важностью каждого потока.
Этот процесс оптимизации рабочей нагрузки является итеративным и включает три ключевых шага: (1) определите структуру потока в рабочей нагрузке, (2) определите технические требования и (3) определите поток в соответствии с требованиями (см. рис. 1).
Рис. 1. Процесс оптимизации рабочих нагрузок с помощью потоков.
Определение потока
Прежде чем определить требования к потоку, необходимо понять бизнес-драйверы для потока. Предварительные требования для определения потока определяют бизнес-процесс и вариант его использования. Когда вы понимаете предварительные требования, можно начать документирование потока.
Предварительные требования
Потоки — это последовательности действий, поддерживающих функциональные возможности рабочей нагрузки. Существует два основных типа потоков: потоки пользователей и системные потоки. Потоки пользователей определяют взаимодействие с пользователем. Системные потоки определяют связь между компонентами рабочей нагрузки. Потоки поддерживают бизнес-процессы и варианты использования. Рабочая нагрузка состоит из нескольких вариантов использования. Необходимо определить бизнес-процесс и вариант использования потока, прежде чем документировать поток (см. рисунок 2).
Рис. 2. Связь между бизнес-процессами, вариантами использования, потоками и рабочей нагрузкой.
Определение бизнес-процесса
Бизнес-процесс — это ряд действий (этапов), которые соответствуют бизнес-требованиям. Потоки определяют последовательность, выполняемую пользователем или данными для выполнения каждого этапа бизнес-процесса. Например, продажа продуктов в Интернете — это бизнес-процесс. Этапы этого бизнес-процесса могут быть перечислением продукта в Интернете, получении заказов и доставке продукта.
Определение варианта использования
Вариант использования определяет функциональные требования потока. Перед установкой технических требований потока необходимо определить и понять вариант использования потока. Каждый вариант использования должен поддерживать один этап в бизнес-процессе (см. рис. 2). Вариант использования должен определять следующие атрибуты:
Цель: четко сформулировать задачи или цели, например включить онлайн-покупки. Эта ясность направляет функциональный дизайн и задает четкие цели для проектирования потока.
Критичность. Оценка важности варианта использования, начиная от подпрограммы до критической. Значение, назначенное варианту использования, сообщает о приоритетности и проектировании потока. Для вариантов использования с высоким уровнем ценности может потребоваться улучшенная обработка ошибок, настройка производительности или рекомендации по работе с пользователем.
Потребители: определите, являются ли пользователи (клиенты, сотрудники) или системные компоненты основными потребителями. Эта классификация определяет, является ли он потоком пользователя или системным потоком и влияет на структуру.
События: определение триггеров или условий, инициирующих и завершающих вариант использования. Эти события определяют границы потока.
Выполнение. Изучите операционную частоту и вариативность варианта использования для прогнозирования системной нагрузки. Для обработки различных сценариев выполнения необходимо разработать поток.
Зависимости. Определение взаимозависимостей с другими вариантами использования для управления рисками. Распознавание зависимостей варианта использования помогает в разработке потоков, которые плавно интегрируются с другими системными частями. Необходимо обеспечить доступность необходимых входных данных и совместимость выходных данных с последующими процессами.
Документируйте поток
Используйте вариант использования для документирования потока. Необходимо указать или сопоставить каждое действие, необходимое в потоке. Захват критериев принятия решений и путей. Определите взаимодействие с другими вариантами использования. Эта структура служит схемой для проектирования и управления потоками. Также необходимо записать бизнес-информацию о потоке. Обязательно включите следующие сведения в документацию по потоку:
Описание потока: высокоуровневое описание потока.
Бизнес-процесс: бизнес-процесс, поддерживаемый потоком.
Владелец процесса: человек, который владеет бизнес-процессом.
Заинтересованные лица: лица, которые следует информировать или проконсультироваться по состоянию потока или изменениям.
Пути эскалации: лица или группы, которые следует связаться, чтобы устранить проблемы. Это последовательность людей. Область индивидуальной ответственности растет с каждым человеком на пути.
Влияние на бизнес: важность этого потока для бизнеса.
Оценка критическости: качественная метка, указывающая относительную важность потока.
Дополнительные сведения см . в примерах потока.
Определение требований к потоку
Используйте вариант использования для установления технических целевых объектов потока. Определите измеримые целевые объекты для потока, которые соответствуют пяти столпам хорошо спроектированной платформы (WAF). Эти основные принципы предоставляют платформу для настройки технических целевых объектов:
Целевые показатели надежности: оцените важность каждого потока и задайте целевые показатели надежности соответствующим образом. Определите пороговые значения производительности и установите четкие соглашения об уровне обслуживания (СОГЛАШЕНИЯ об уровне обслуживания) и цели (SLOS). Для более высоких показателей надежности требуются более строгие целевые показатели надежности.
Целевые показатели безопасности. Анализ потребностей в безопасности каждого потока на основе конфиденциальности данных и действий пользователей. Реализуйте и непрерывно обновляйте меры безопасности в соответствии с этими потребностями, обеспечивая соответствие нормативным стандартам.
Целевые показатели затрат. Понимание требований каждого потока для эффективного распределения ресурсов. Задайте целевые показатели для балансировки затрат с производительностью. Убедитесь, что использование ресурсов соответствует приоритетам бизнеса.
Операционные целевые объекты: определение метрик для эффективного мониторинга и устранения неполадок. Целевые показатели должны обеспечить эффективное использование ресурсов и выравнивание с целями организации.
Целевые показатели производительности: базовые целевые показатели производительности на начальных требованиях каждого потока. Убедитесь, что необходимые потоки получают достаточные ресурсы и постоянно корректируют целевые показатели для удовлетворения изменяющихся требований и улучшения взаимодействия с пользователями.
Проектирование потока
Проектирование потока для удовлетворения технических целей. Вы должны ознакомиться с рекомендациями по проектированию потоков, чтобы добиться правильного результата. Выполните сборку и тестирование потока. Выполняет итерацию по проектированию до тех пор, пока она не соответствует установленным техническим целям.
Рекомендации по проектированию потока
При разработке потока следуйте рекомендациям по проектированию потока. Хорошо разработанный поток имеет следующие атрибуты:
Область действия. Определение отдельных начальных и конечных точек для каждого потока. Очистить границы помогают оптимизировать взаимодействие пользователей или системы.
Логический: проектирование потоков с помощью логического порядка шагов. Оптимизируйте наиболее эффективный путь и уменьшите ненужные шаги.
Поддержка: потоки разработки, которые легко обновлять и поддерживать. Используйте модульные компоненты, которые можно изменить, не затрагивая всю рабочую нагрузку.
Определено: включение определенных условий, которые активируют или направляют каждый шаг в потоке. Эта точность гарантирует точное реагирование потока на входные данные пользователя, изменения данных или состояния системы.
Надежность: создание путей обработки ошибок и исключений в потоках. Эффективное управление ошибками предотвращает нарушение и поддерживает целостность потока при непредвиденных обстоятельствах.
Масштабируемость. Убедитесь, что она может обрабатывать различные нагрузки и адаптироваться к росту или сокращению пользовательских баз или томов данных.
Безопасный: внедрение мер безопасности в потоке. Защита данных и взаимодействия пользователей от несанкционированного доступа и угроз.
Эффективное. Планирование эффективного использования ресурсов без чрезмерной подготовки. Имейте в виду оптимизацию затрат.
Пользовательский центр: для потоков пользователей выравнивайте структуру потока с учетом ожиданий пользователей и поведения. Сделайте его интуитивно понятным и уменьшайте кривую обучения для новых пользователей.
Разработка и проверка потока
Разработайте поток для удовлетворения технических целей и проверьте его, чтобы обеспечить соответствие требованиям. Этот процесс проверяет, работает ли поток должным образом, эффективно обрабатывает свои задачи и соответствует техническим целям. Ниже приведены рекомендации по созданию и тестированию потока.
Выбор технологий: выбор технологий, которые соответствуют заданным целевым объектам с точки зрения надежности, безопасности и производительности.
Поток разработки: создайте поток в соответствии с проектом, учитывая заданные целевые объекты.
Поток тестирования: проводите тестирование, чтобы обеспечить соответствие потока целевым объектам. Итерацию по мере необходимости для удовлетворения целевых показателей.
Мониторинг. Реализуйте средства мониторинга для отслеживания использования ресурсов и затрат.
Периодически просматривает поток в соответствии с заданными целевыми объектами и отраслевыми стандартами. Используйте отзывы о мониторинге и аудите для улучшения потока. Настройте целевые показатели и процессы в соответствии с изменяющимися бизнес-потребностями или технологическими достижениями.
Оптимизация потоков
Повторите процесс, определенный в этой статье, на протяжении всего жизненного цикла потока. При итерации по проектированию потока используйте платформу Well-Architected Framework для оптимизации потоков с точки зрения каждого из них:
- Надежность потока
- Безопасность потока
- Оптимизация затрат потока
- Эффективность работы потока
- Эффективность производительности потока
Примеры потока
Ниже приведены несколько примеров потоков, которые помогут вам разработать потоки. В примерах используется эталонная архитектура шаблона надежного веб-приложения в качестве основы и отображается документация по каждому потоку.
Поток пользователя 1. Создание предстоящих концертов
Описание потока: сотрудники центра обработки вызовов используют приложение для создания предстоящего концерта.
Бизнес-процессы: этот поток поддерживает процесс покупки билетов , но он асинхронный, что снижает его критические возможности.
Владелец процесса: директор по продажам.
Заинтересованные лица: отдел продаж, планирование концертов и операций, команда платформы и группа приложений.
Пути эскалации: команда приложений, команда платформы, а затем отдел продаж.
Влияние на бизнес: этот поток важен для создания новых концертов, доступных на платформах продаж, непосредственно влияя на основной поток доходов бизнеса. Когда сотрудники центра обработки вызовов не могут создавать концерты из-за недоступности этого потока, это негативно влияет как на доход, так и репутацию компании. Однако высокий уровень доступности не является важным для этого процесса, так как концерты обычно планируются заранее на еженедельной основе. Отдел продаж указал требование о доступности 95 % для этого процесса и согласен с временем простоя за пределами рабочих часов в целях обслуживания.
Рейтинг критическости: низкий.
Поток пользователя 2. Поиск концертов
Описание потока: сотрудники центра обработки вызовов используют приложение для поиска предстоящих концертов.
Бизнес-процессы: этот поток поддерживает процесс покупки билетов , но сотрудники центра вызовов могут выбрать список всех концертов, если функция поиска недоступна.
Владелец процесса: отдел взаимодействия с пользователем (UX).
Заинтересованные лица: отдел продаж, команда платформы и группа приложений.
Путь эскалации: команда приложений, группа платформы, менеджер отдела продаж по вызову.
Влияние на бизнес: этот поток позволяет сотрудникам центра обработки вызовов быстро находить концерты и является частью нормального процесса продаж. Высокий уровень доступности этого потока не является критически важным, так как сотрудники имеют возможность перечислять концерты даже в его отсутствие. Это снижает работу сотрудника центра обработки вызовов, что может снизить производительность и повлиять на производительность. Клиенты могут испытывать разочарование из-за увеличения времени ожидания или задержек. Отдел продаж запросил 99% доступности этого потока в течение обычных рабочих часов.
Рейтинг критическости: средний.
Поток пользователя 3. Получение списка концертов
Описание потока: сотрудники центра обработки вызовов используют приложение для получения списка концертов.
Бизнес-процессы: этот поток напрямую поддерживает процесс покупки билета .
Владелец процесса: директор платформы.
Заинтересованные лица: отдел продаж, команда платформы, команда данных.
Путь эскалации: команда данных, команда по вызову, инженер по вызову, команда разработчиков платформы.
Влияние на бизнес: этот поток является неотъемлемой частью критического пути создания доходов транзакций для бизнеса. Высокий уровень доступности является важным, так как сотрудники центра обработки вызовов полагаются на этот поток для обработки покупок билетов. При признании своей важности бизнес предписывает 99,9% времени простоя для этого потока, который включает в себя расширенные рабочие часы.
Рейтинг критическости: высокий.
Поток пользователя 4. Билет на покупку
Описание потока: сотрудники центра обработки вызовов используют приложение (процесс проверки подлинности и авторизации) для покупки билетов на предстоящий концерт (список предстоящих концертов) от имени клиентов Relecloud.
Бизнес-процессы: этот поток является основной функцией и потоком приложения.
Владелец процесса: директор по продажам.
Заинтересованные лица: отдел продаж и все технические команды.
Путь эскалации: инженер по вызову, команда разработчиков платформы по вызову, специалист по обработке и анализу данных, главный операционный директор.
Влияние на бизнес: высокий уровень доступности этого потока имеет решающее значение, так как он напрямую включает покупки билетов клиентов. Любая неисправность или недоступность этого потока может значительно повлиять как на доход, так и репутацию компании. Бизнес устанавливает строгие требования к этому жизненно важному процессу, ожидая 99,9% времени ожидания, даже в течение расширенных рабочих часов.
Рейтинг критическости: высокий.
Поток пользователя 5. Проверка подлинности и авторизация
Описание потока: сотрудники центра вызовов безопасно войдите в приложение. Администраторы предоставляют им соответствующие роли для покупки билетов от имени клиентов Relecloud.
Бизнес-процессы: этот поток напрямую поддерживает процесс покупки билета . Без этой функциональности сотрудники центра вызовов не могут войти в приложение, чтобы купить билеты.
Владелец процесса: команда платформы.
Заинтересованные лица: команда платформы, группа операций и отдел продаж.
Путь эскалации: инженер по вызову группы платформы, главный операционный директор.
Влияние на бизнес: этот поток требует высокой доступности, так как сотрудники центра обработки вызовов не могут приобрести билеты, если этот поток не работает должным образом. Если этот поток недоступен, он напрямую влияет на доход и репутацию. Это ключевой процесс, который бизнес ожидает 99,9% времени ожидания, включая в течение расширенных рабочих часов.
Рейтинг критическости: высокий.
Системный поток: сбор данных телеметрии
Описание потока. Чтобы понять изменения состояния в рабочей системе, экземплярах веб-приложения и API, собираются и отправляются сведения, ошибки и предупреждения. Эти данные помогают группе операций выполнять обнаружение аномалий, устранение неполадок и профилирование.
Бизнес-процессы: этот поток не поддерживает бизнес-процессы, но предоставляет важные данные для группы операций.
Владелец процесса: директор по операциям.
Заинтересованные лица: группа операций, команда платформы и команда данных.
Путь эскалации: команда операций (24/7), инженер по вызову команды данных.
Влияние на бизнес: этот поток является важным для мониторинга и непрерывного улучшения бизнес-процессов. Он должен быть максимально избыточным и устойчивым. Группа операций отвечает за быстрое восстановление этого потока после любого сбоя, чтобы избежать отсутствия критически важных сведений и предупреждений. Если поток не может достичь ожидаемой доступности, существует риск пропуска рабочих проблем, что может привести к серьезным последствиям. Чтобы снизить этот риск, отдел операций стремится к 99% времени простоя, 24/7. Они должны запланировать время простоя, связанное с обслуживанием, по крайней мере 48 часов заранее.
Рейтинг критическости: средний.