Три способа развертывания пользовательских действий
Три способа развертывания пользовательских действий
Введение
Какой самый быстрый способ развернуть пользовательское действие?Какая наиболее универсальная настройка позволяет полностью настроить рабочий процесс? Среда, которую вы выбираете для перехвата и обработки пользовательских действий, является важным фактором, определяющим возможности работы с данными на последующих этапах рабочего процесса. Основные варианты:
- Развертывания без кода с использованием платформ автоматизации, например Zapier, Integromat или Microsoft Power Automate.
- Решения с минимальным кодом, например AWS Lambda или «Функции Azure», где можно запускать такие простые сценарии, как «задачи» в полностью управляемых средах.
- Запускаемые и обслуживаемые серверы
Эта диаграмма показывает архитектуру для пользовательских действий:
Без кода: развертывание в Zapier
Интерфейс Zapier «нажми и создай» — это хороший выбор для базовых автоматизаций, где цель заключается в отправке ресурсов, комментариев или событий состояния из Frame.io в популярные приложения или инструменты повышения продуктивности.
Преимущества
- Простота использования. Нажимайте и создавайте автоматизации.
- Task history — это инструмент журнала выполнения Zapier, который создает сводку по вводу/выводу данных для каждого шага рабочего процесса при каждом запуске автоматизации.
- Оплата учетной записи уровня премиум открывает доступ к Paths — инструменту для создания логики разветвления в автоматизациях.
Недостатки
- Поддержка веб-перехватчиков в Zapier ограничена. Она не поддерживает создание подробных сообщений или какое-либо взаимодействие с пользователем Frame.io при выполнении вашего пользовательского действия. Причины ограничения объясняются в документах поддержки Zapier:
Мы [Zapier] всегда возвращаем сообщение о выполнении с полезной нагрузкой, содержащей отладочную информацию, при сборе веб-перехватчика — независимо от того, есть ли за этим веб-перехватчиком активный Zap, или он приостановлен… Нет способа настроить ответ на запрос, который вы отправляете на URL-адрес Catch Hook, поскольку ответ отправляется до того, как Zap запускается и выполняет обработку запроса веб-перехватчика.
- Пользовательский интерфейс Zapier может быть рутинным при проверке правильной работы пользовательских действий. Например, Test Data требует проверки и обновления во время тестирования. Если данные теста не соответствуют данным в реальном времени, Zapier может выдавать ложно-отрицательные значения и ошибки, даже когда логический процесс Zap настроен верно. Если критически важная часть данных, например
URL-адрес файланедоступна, когда задача ожидает, Zap может выдать ошибку или не функционировать должным образом.
Мы создали полезное руководство!
Мы предоставляем подробные руководства о том, как создавать интеграции Zapier, включая детальное руководство Развертывание пользовательских действий в Zapier.
Минимальный код: развертывание в AWS
Пользовательские действия можно отправить в API-интерфейс Gateway в AWS и интегрировать с тем самым внушительным набором облачных сервисов Amazon. Самый простой подход — проксировать событие Frame.io, содержащееся в пользовательском действии, в AWS Lambda — вычислительном сервисе для выполнения бессерверных функций. Пример проектирования для сервиса файлового архива: 
Преимущества:
- AWS Free Tier предоставляет вам 3,2 млн секунд вычислительного времени в месяц, прежде чем с вас будет взиматься плата.
- API-интерфейс Gateway и сервисы Lambda поддерживают отличные инструменты тестирования и мониторинга, например CloudWatch и X-Ray.
- Сервисы можно масштабировать для поддержки файлов огромных размеров (более 500 ГБ)
Недостатки
- Объединение нескольких сервисов (Веб-перехватчик -> API-интерфейс Gateway -> Lambda 1 -> Lambda 2) или изучение использования более новых решений, например AWS Fargate, может занимать много времени.
- Документация AWS часто бывает устаревшей или не содержит ключевых деталей. Например, при настройке API-интерфейс Gateway непросто понять, будут полезные нагрузки закодированы в Base64 или нет.
- В целом, настройка довольно сложная.
См. руководство для полного пошагового выполнения развертывания пользовательских действий в AWS. Примечание. Можно развернуть пользовательские действия в любом облачном вычислительном сервисе, не только в AWS (Azure, Google Cloud Platform, Digital Ocean и т. д.)
Запуск сервера и размещение собственного кода
Облачные сервисы очень удобны, но для рабочих процессов, где требуется полный контроль над данными, можно написать и развернуть собственный сервер.
В команде DevRel нам нравится создавать серверы FastAPI на Python. Их легко создавать, и они хорошо подходят для схемы «запрос-ответ», используемой в пользовательских действиях.
Преимущества:
- Управление сквозным потоком данных. Никаких неожиданностей.
- Синхронизация данных с NAS или файловой системой без дополнительного доступа в облако.
Недостатки
- Требуется администрирование сервера, создание собственных функций безопасности, обработка сетевого обнаружения, нагрузки и т. д.
Клонируйте наш Образец кода для развертывания сервера FastAPI для обработки пользовательских действий.
Теперь обсудим лучшее решение для ваших требований
Опубликуйте ваши требования в нашем сообществе, мы будем рады помочь вам найти лучшее решение для вашего рабочего процесса.