Функции AWS Step Functions
AWS Step Functions обеспечивает бессерверную оркестрацию для современных приложений. Оркестрация централизованно управляет рабочим процессом, разбивая его на несколько этапов, добавляя логику потока и отслеживая входящие и исходящие потоки между этапами.
Во время работы приложений Step Functions поддерживает его состояние, отслеживая, на каком именно этапе рабочего процесса находится приложение, и сохраняет данные журнала событий, передаваемые между компонентами приложения. Это означает, что в случае сбоя сети или зависания компонентов приложение может продолжить работу с того места, где оно остановилось.
Благодаря Step Functions разработка приложений становится более быстрой и интуитивно понятной, поскольку можно определять рабочий процесс приложения и управлять им независимо от его бизнес-логики. Внесение изменений в один компонент не влияет на другой.
Можно просто и удобно обновлять и изменять рабочие процессы в одном месте без необходимости контроля, отслеживания и поддержки нескольких интеграций типа «точка-точка». Вы также можете легко интегрироваться практически с любым приложением SaaS прямо из рабочих процессов.
Step Functions избавляет функции и контейнеры от излишнего кода, что позволяет ускорить написание приложений, повысить их отказоустойчивость и упростить поддержку.
В чем заключаются функции Step Functions?
Визуальная и простая в использовании конфигурация рабочего процесса
Используя AWS Step Functions, можно задавать рабочие процессы в виде конечных автоматов, которые преобразуют сложный код в простые для понимания операторы и диаграммы. Быстрее и проще создавать приложения и подтверждать, что они реализуют требуемую функциональность. Узнайте больше о том, как работает Step Functions.
Встроенная обработка ошибок, тайм-ауты и параллельный поток обработки для распределенных приложений
AWS Step Functions предоставляет готовые шаги для рабочего процесса, называемые состояниями, которые реализуют базовые сервисные примитивы, что позволяет убрать эту логику из приложения. Состояния могут передавать данные другим состояниями и микросервисам, обрабатывать исключения, добавлять тайм-ауты, принимать решения, параллельно выполнять несколько путей и многое другое. Подробнее о состояниях.
Улучшенное управление переменными и полезными данными
AWS Step Functions предоставляет расширенные функции управления переменными и полезными данными для ускорения разработки приложений. Благодаря этому разработчикам стало легче хранить полезные данные и ссылаться на них в рабочих процессах Step Functions при помощи переменных. Можно назначать и ссылаться на информацию на любом этапе рабочего процесса без использования промежуточных состояний, что упрощает управление полезными данными на всех этапах рабочего процесса. Разработчики могут использовать встроенные возможности трансформации данных с помощью JSONata, что снижает необходимость в применении собственного кода и повышает производительность. JSONata расширяет возможности трансформации данных, в том числе форматирования даты/времени и выполнения математических операций, а также позволяет производить манипуляции с информацией непосредственно в рабочих процессах. Кроме того, можно постепенно внедрять переменные и JSONata как в новые, так и в действующие рабочие процессы на уровне всего процесса или его отдельных состояний, при этом имеющиеся рабочие процессы остаются полностью функциональными и не требуют никаких изменений. Благодаря этим возможностям разработчики могут создавать более сложные и эффективные рабочие процессы с меньшим количеством состояний, что дополнительно снижает общие затраты.
Прямая интеграция с 220 сервисами AWS и более 10 000 API
С помощью интеграций сервиса AWS Step Functions можно настроить рабочий процесс Step Functions для вызова более 220 сервисов AWS. Примеры перечислены ниже.
- Вычислительные сервисы (AWS Lambda, Amazon ECS, Amazon EKS и AWS Fargate)
- Сервисы баз данных (Amazon DynamoDB)
- Сервисы обмена сообщениями (Amazon SNS и Amazon SQS), обработка данных
- Аналитические сервисы (Amazon Athena, Пакет AWS, AWS Glue, Amazon EMR и AWS Glue DataBrew)
- Сервисы генеративного искусственного интеллекта и машинного обучения (Amazon SageMaker, Amazon Bedrock)
- API-интерфейсы, созданные API шлюзом Amazon
Подробнее об интеграции сервиса.
Интеграция практически с любым приложением SaaS прямо из рабочего процесса
Интеграция конечных точек AWS Step Functions с HTTPS позволяет напрямую интегрировать сервисы на основе HTTP в рабочие процессы. Вы можете создавать, управлять и координировать многоэтапные рабочие процессы, состоящие из сервисов AWS и приложений SaaS, из одного места. Благодаря интеграции конечных точек HTTPS можно легко координировать различные компоненты приложения, управлять аутентификацией, тестировать интеграцию и обрабатывать ошибки без необходимости писать собственный код или поддерживать дополнительную инфраструктуру. Интеграция конечных точек HTTPS повышает гибкость разработчиков и позволяет легко расширять функциональность приложений SaaS, которые поддерживают ваш бизнес.
Координация распределенных компонентов
AWS Step Functions позволяет работу любого приложения, которое может устанавливать HTTPS-соединение, независимо от того, где оно размещено — например, на инстансах Amazon EC2, мобильных устройствах или локальных серверах. С помощью Step Functions можно быстро создавать распределенные приложения, использующие как сервисы AWS, так и собственные микросервисы. Узнайте больше о заданиях действий.
Возможность повторного использования компонентов обеспечивает надежную и эффективную разработку приложений
AWS Step Functions координирует существующие функции и микросервисы Lambda и превращает их в надежные приложения, позволяя быстро перестраивать их в новые композиции. Задачи рабочего процесса можно выполнять где угодно, в том числе на инстансах, контейнерах, функциях и мобильных устройствах . Узнайте, как повторно использовать существующие компоненты приложения.
Сокращение циклов разработки за счет разделения логики рабочего процесса
AWS Step Functions позволяет полностью отделить логику приложения от его реализации. Можно добавлять, перемещать, менять местами и переупорядочивать шаги без необходимости вносить изменения в бизнес-логику. Благодаря такому разделению задач рабочие процессы приобретают модульность, упрощается обслуживание, масштабируемость и повторное использование кода.
Встроенное управление состояниями и отслеживание хода выполнения рабочих процессов
AWS Step Functions отслеживает состояние приложения во время работы, в том числе отслеживает, на каком этапе оно находится, и сохраняет данные, которые передаются между этапами рабочего процесса. Это означает, что вам не нужно самостоятельно управлять состоянием с помощью хранилищ данных или встраивать комплексное управление состоянием во все свои задачи.
Встроенная обработка ошибок
Сервис AWS Step Functions автоматически обрабатывает ошибки и исключения с помощью встроенного механизма обработки и отката в предыдущее состояние. При этом неважно, сколько требуется времени для выполнения задания – несколько секунд или несколько месяцев. Можно автоматически повторять неудавшиеся или незавершенные вовремя задачи, по-разному реагировать на различные типы ошибок и корректно восстанавливаться, возвращаясь к назначенному коду очистки и восстановления. Узнайте больше об обработке ошибок Step Functions и о том, как обрабатывать ошибки с помощью конечного автомата.
История выполнения рабочих процессов в реальном времени и с возможностью аудита
AWS Step Functions предоставляет средства диагностики в режиме реального времени и панель управления, интегрируется с Amazon CloudWatch и AWS CloudTrail, а также регистрирует в журнал все исполнения функций, включая общее состояние, неудавшиеся действия, входящие и исходящие потоки. Если что-то пойдет не так, вы сможете быстро определить не только источник, но и причину, а также быстро устранить неполадки. Узнайте больше о мониторинге и ведении журналов Step Functions.
Визуальная панель управления оператора для мониторинга и устранения неполадок
Приложение можно запустить простым нажатием кнопки. После этого можно наблюдать за выполнением шагов, чтобы быстро проверить, что приложение работает корректно. Консоль выделяет ошибки, что позволяет быстро определить исходную причину ошибки и устранить ее.
Высокая доступность и отказоустойчивость рабочих процессов
Сервис AWS Step Functions имеет встроенные функции отказоустойчивости и поддерживает необходимые объемы вычислительных ресурсов в различных зонах доступности в каждом из регионов, защищая рабочие процессы приложения от неисправностей отдельных единиц оборудования или сбоев на уровне центров обработки данных. Это позволяет обеспечить доступность как самого сервиса, так и запускаемых в нем приложений.
Масштабируемые бессерверные решения
Сервис AWS Step Functions автоматически масштабирует операции и используемые вычислительные ресурсы, чтобы обеспечить достаточную производительность приложения при изменении нагрузки. Масштабирование Step Functions выполняется автоматически, поэтому производительность приложения остается стабильной даже при увеличении частоты запросов к нему.
Оркестрация больших объемов для рабочих процессов обработки событий, таких как Интернет вещей и получение данных
AWS Step Functions поддерживает Express Workflows. Express Workflows поддерживают скорость передачи событий более 100 000 в секунду, что позволяет создавать рабочие процессы с большими объемами и короткой продолжительностью.
Express Workflows может координировать вызовы функций AWS Lambda, действия движка правил AWS IoT и события Amazon EventBridge из более чем сотни сторонних источников событий AWS SaaS.
Узнайте больше о рабочих процессах Express и Standard и о том, как их можно использовать в примерах архитектур автоматизации, на странице примеров использования Step Functions.
Параллельная обработка в больших масштабах
Step Functions может выполнять итерацию объектов, таких как изображения, журналы или CSV-файлы, хранящиеся в Amazon S3, а затем запускать и координировать тысячи параллельных рабочих процессов для обработки данных. Вы можете значительно ускорить и упростить масштабирование тысяч одновременных рабочих процессов, что позволит вам анализировать миллионы журналов, выполнять итерации с терабайтами данных или обрабатывать документы, изображения и видеофайлы. Узнайте больше о состоянии сопоставления Step Functions для создания параллельных рабочих процессов в больших масштабах.
Безопасность
AWS Step Functions интегрируется с управлением идентификацией и доступом AWS (IAM) и предлагает использовать политику IAM с наименьшими привилегиями для всех ресурсов, используемых в рабочем процессе. Step Functions поддерживает адреса VPC (VPCE) с помощью AWS PrivateLink. Вы можете обращаться к AWS Step Functions с помощью функций AWS Lambda с поддержкой VPC и других сервисов AWS, минуя общедоступный Интернет. Узнайте больше о безопасности и аутентификации Step Functions.
Соответствие требованиям
AWS Step Functions соответствует требованиям HIPAA и может использоваться с приложениями, которые содержат данные медицинского обслуживания, например закрытую медицинскую информацию (PHI). Step Functions также отвечает требованиям SOC (оценка систем и организации), а результаты сторонних аудитов доступны на сайте соответствия AWS требованиям программы AWS. AWS Step Functions также соответствует требованиям других распространенных стандартов. Изучите сайт о безопасности облака AWS, чтобы получить представление об уровне соответствия.
Оплата по факту использования
При использовании AWS Step Functions вы платите за каждый переход из одного состояния в другое. Плата начисляется по количеству переходов между состояниями, независимо от того, как долго выполняется шаг (время выполнения может достигать одного года), при этом время простоя не оплачивается. Это позволяет сохранить экономическую эффективность Step Functions при масштабировании от нескольких исполнений до десятков миллионов. Подробнее о ценах на Step Functions.