Функции AWS Step Functions

В чем преимущества AWS Step Functions?

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

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

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

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

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

Общие вопросы

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

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

AWS Step Functions предоставляет расширенные функции управления переменными и полезными данными для ускорения разработки приложений. Благодаря этому разработчикам легче хранить полезные данные и ссылаться на них в рабочих процессах Step Functions при помощи переменных. Можно назначать данные и ссылаться на них на любом этапе рабочего процесса без использования промежуточных состояний, что упрощает управление полезными данными на всех этапах рабочего процесса. Разработчики могут использовать встроенные возможности трансформации данных с помощью JSONata, что уменьшает необходимость в применении собственного кода и повышает производительность. JSONata расширяет возможности трансформации данных, в том числе форматирования даты/времени и выполнения математических операций, а также позволяет производить манипуляции с данными непосредственно в рабочих процессах. Кроме того, можно постепенно внедрять переменные и JSONata как в новые, так и в действующие рабочие процессы на уровне всего процесса или его отдельных состояний, при этом имеющиеся рабочие процессы остаются полностью функциональными и не требуют никаких изменений. Благодаря этому разработчики могут создавать более сложные и эффективные рабочие процессы с меньшим количеством состояний, что дополнительно снижает общие затраты.

С помощью интеграций сервиса 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)
  • API-интерфейсы, созданные API шлюзом Amazon

 Подробнее об интеграции сервиса

AWS Step Functions поддерживает интеграцию с сервисами AWS, приложениями SaaS и частными API на базе AWS PrivateLink и Amazon VPC Lattice, позволяя клиентам ускорить внедрение инноваций и упростить модернизацию распределенных приложений в публичных и частных сетях, как локально, так и в облаке. Возможности облака AWS и внешних приложений SaaS можно использовать в новых и существующих рабочих нагрузках, добиваясь повышения производительности, гибкости и снижения затрат. Вы можете создавать, управлять и координировать многоэтапные рабочие процессы, состоящие из ваших приложений, сервисов AWS и приложений SaaS, без необходимости писать собственный код или поддерживать дополнительную инфраструктуру. Благодаря полностью управляемому подключению к частным ресурсам вы можете безопасно координировать рабочие процессы в устаревших системах и облачных приложениях, что позволяет ускорить внедрение инноваций в AWS и одновременно повысить безопасность и соответствие нормативным требованиям. Благодаря этому появляется возможность быстрее выводить продукты на рынок, поскольку не требуется писать и поддерживать специальный сетевой или интеграционный код и разработчики легко могут создавать расширяемые системы и добавлять новые возможности.

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.

Подробнее о ценах на AWS Step Functions

Перейти на страницу цен
Готовы начать?
Войти в консоль AWS Step Functions
Есть вопросы?
Связаться с нами