Что такое рабочий процесс?

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

Ниже приведен пример простого рабочего процесса поддержки.

  1. Клиент Николай отправляет запрос в службу поддержки.
  2. Открытая заявка поручена Александре, представителю службы поддержки.
  3. Александра получает назначенную заявку и просит Николая предоставить информацию. Во время ожидания ответа заявка находится на этапе рассмотрения.
  4. После того, как Николай предоставляет запрошенную информацию, Александра даст ответ с решением, а заявка переходит в состояние «выполнена».
  5. Николай получает ответ, а также ссылку на опрос, где он может оставить отзыв о своем запросе в службу поддержки. Он в восторге от быстрого ответа Александра и ставит высокие оценки в опросе. Заявка переходит в состояние «закрыта».

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

В чем преимущества использования рабочих процессов?

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

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

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

Что дают рабочие процессы для архитектуры приложений?

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

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

Как сервисы рабочих процессов улучшают архитектуру приложения?

Надежность

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

Простота

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

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

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

Возможности масштабирования

Сервисы рабочих процессов разработаны для беспрепятственного масштабирования в зависимости от использования вашего приложения. При добавлении работы с процессами в приложение или при повышении их уровня сложности вы можете автоматизировать администрирование.

Гибкость

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

Каковы распространенные сценарии использования рабочего процесса?

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

  • Оркестрация приложений – координация слабо связанных микросервисов, каждый из которых работает в своем собственном процессе и независимо развертывается, посредством передачи событий. Объедините между собой бессерверные функции для создания веб-приложения с асинхронным этапом одобрения человеком. Дополнительные примеры использования см. в разделе Оркестрация микросервисов в Руководстве разработчика AWS Step Functions.
  • Обработка данных: консолидация данных из множества данных в объединенные отчеты, уточнение и уменьшение больших наборов данных и перевод их в форматы, пригодные для использования, или координация многоэтапных рабочих процессов аналитики и машинного обучения. Дополнительные примеры использования см. в разделе Обработка данных в Руководстве разработчика AWS Step Functions.
  • Автоматизация DevOps и ИТ: создание средств для непрерывной интеграции и непрерывного развертывания или создание приложений, управляемых по событиям, которые автоматически реагируют на изменения в инфраструктуре. Дополнительные примеры использования см. в разделе Автоматизация ИТ и безопасности в Руководстве разработчика AWS Step Functions.
  • Интернет-коммерция: автоматизация критически важных бизнес-процессов, например процессов выполнения заказов и отслеживания запасов.
  • Веб-приложения – внедрение надежных процессов регистрации и аутентификации пользователей, опционально интегрируя шаги аудита и повышенной безопасности.
  • Машинное обучение – выполнение заданий извлечения, преобразования и загрузки (ETL) для создания, обучения и развертывания модели машинного обучения. Например, сбор и обработка данных изображений для обнаружения объектов в видеопотоке, добавления ограничивающих рамок или предоставления визуальной информации и информации метаданных для каталогизации данных. Дополнительные примеры использования см. в разделе Машинное обучение в Руководстве разработчика AWS Step Functions.
  • Автоматизация безопасности – запланированный анализ или реагирование на инциденты безопасности, инициированные событиями управляемых ресурсов, с настраиваемыми рабочими процессами, которые запускают шаги аудита и уведомления в зависимости от бизнес-правил.
  • Обработка мультимедиа – извлечение данных из PDF-документов или изображений для обработки. Разделение и перекодирование видео с помощью массивной параллелизации. Дополнительные примеры использования см. в разделе Обработка мультимедиа в сценариях использования пошаговых функций AWS. 

Как создать рабочий процесс?

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

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

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

Практическое руководство по использованию визуального конструктора рабочих процессов Workflow Studio см. в разделе Как создать бессерверный рабочий процесс в Центре разработчиков AWS.

Каковы распространенные шаблоны рабочих процессов?

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

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

Какие сервисы рабочих процессов предоставляет AWS?

AWS Step Functions – это малокодовый визуальный сервис рабочих процессов для оркестрации сервисов AWS, автоматизации бизнес-процессов и создания бессерверных приложений. Step Functions включает в себя Workflow Studio, визуальный конструктор рабочих процессов с редактором кода, благодаря которому необходимость в написании кода снижается до минимума. Этот инструмент автоматически генерирует ваши функции и конфигурацию на Amazon States Language, структурированном языке на основе JSON, используемом для определения конечных автоматов. Вы можете использовать язык Amazon States Language в консоли Step Functions или экспортировать и редактировать код на нем.

Управляемые рабочие процессы Amazon для Apache Airflow (Amazon MWAA) предоставляют те же возможности Apache Airflow с открытым исходным кодом, но в качестве полностью управляемого сервиса. Используйте Amazon MWAA для переноса существующих локальных решений в облако, чтобы сократить эксплуатационные расходы и развернуть их в нужном масштабе. Разработчики могут продолжать писать модели ориентированных ациклических графов (DAG) на Python, объявляя зависимости для задач и интегрируя их с другими сервисами AWS.

Сервис AWS Step Functions рекомендуется использовать при разработке любых новых приложений, так как он обеспечивает более продуктивный и гибкий подход к координации компонентов приложения с помощью наглядного представления рабочих процессов. Практическое руководство по использованию Step Functions Workflow Studio и Amazon States Language см. в разделе Как создать бессерверный рабочий процесс в Центре разработчиков AWS. 

Рабочие процессы на базе AWS: дальнейшие шаги

Дополнительные ресурсы по продукту
Подробнее о сервисах интеграции приложения 
Зарегистрируйтесь на уровень бесплатного пользования AWS Step Functions

Создавайте рабочие процессы с помощью более чем 200 сервисов AWS и 9000 действий API

Регистрация 
Начать разработку в консоли

Создание решений с использованием шлюза AWS в Консоли управления AWS.

Вход