Trois méthodes pour déployer des actions personnalisées

Introduction

Quelle est la méthode la plus rapide pour déployer une action personnalisée ? Quelle est la configuration la plus polyvalente, vous permettant de personnaliser entièrement votre workflow ? L’environnement que vous sélectionnez pour intercepter et gérer les actions personnalisées est un facteur important pour déterminer ce qui peut être fait avec vos données dans les étapes de workflow qui en résultent. Les choix de base sont :

  1. Déploiements sans code, en utilisant une plateforme d’automatisation comme Zapier, Integromat ou Microsoft Power Automate
  2. Solutions low-code comme AWS Lambda ou les fonctions Azure, où vous pouvez exécuter des scripts simples comme des « tâches » dans des environnements entièrement maintenus ;
  3. Serveurs que vous exécutez et maintenez

Ce diagramme illustre l’architecture des actions personnalisées :

<img alt=“Diagramme des actions personnalisées” src=“//images.ctfassets.net/4a2bckdt649q/775seuYAm5iWc8ToGddzqu/f4abeef79d5ca61b04bd6f65b7593b2f/a73b943-custom_actions_architecture.png”>

Sans code : déployer vers Zapier

L’interface « cliquer et créer » de Zapier est un bon choix pour les automatisations de base où votre objectif est d’envoyer des ressources, commentaires ou événements de statut depuis Frame.io vers des applications populaires ou des outils de productivité.

<img alt=“Configuration Zapier” src=“//images.ctfassets.net/4a2bckdt649q/7J4tu37VUNxYkUqcmLM7wZ/1453834e051781da7744b4a885debf15/548d2d6-zapier_catch_webhook.png”>

Avantages

  • Simple à utiliser. Pointer et cliquer pour créer des automatisations.
  • Historique des tâches est l’outil de journal d’exécution de Zapier et résume les données d’entrée/sortie pour chaque étape de workflow à chaque exécution d’automatisation.
  • Payer pour un compte premium déverrouille Chemins, un outil pour créer l’ajout d’une logique de bifurcation aux automatisations.

Inconvénients :

  • La prise en charge des webhooks par Zapier est limitée en ce qu’elle ne prendra pas en charge les messages détaillés ou toute interaction de retour vers l’utilisateur Frame.io lorsque votre action personnalisée s’exécute. La limitation est expliquée dans la documentation d’assistance Zapier :
Nous [Zapier] retournons toujours un message de réussite avec une charge utile d’informations de débogage lors de la collecte d’un webhook - que ce soit ou non qu’il y ait un Zap derrière le webhook ou s’il est en pause ou non… Il n’y a aucun moyen de personnaliser la réponse à la demande que vous envoyez à l’URL Catch Hook, car la réponse est envoyée avant que le Zap se déclenche et s’exécute sur la demande webhook.
  • L’interface utilisateur de Zapier peut être fastidieuse lors de la vérification du bon fonctionnement des actions personnalisées. Par exemple, les données de test doivent être vérifiées et actualisées pendant les tests ; si les données de test ne correspondent pas aux données en direct, Zapier peut générer des « faux négatifs » et afficher des erreurs même lorsque la conception de votre Zap est correcte. Si une donnée critique comme l’URL de fichier n’est pas disponible lorsqu’une tâche l’attend, votre Zap peut générer une erreur ou ne pas fonctionner comme prévu.
Nous avons rédigé un guide pour cela !

Nous avons rédigé des guides complets sur la conception d’intégrations Zapier, y compris un guide détaillé sur Comment déployer des actions personnalisées sur Zapier.

Code minimal : déployer sur AWS

Les actions personnalisées peuvent être envoyées vers API Gateway dans AWS et intégrées à l’ensemble notoirement vaste de services cloud d’Amazon. Le modèle le plus simple consiste à transférer l’événement Frame.io contenu dans votre action personnalisée vers AWS Lambda, un service de calcul pour l’exécution de fonctions sans serveur. Voici un exemple de conception pour un service d’archive de fichiers : <img alt=“AWS Lambda” src=“//images.ctfassets.net/4a2bckdt649q/6elz3dJIRNnubtPjVfNF3T/ef59a0b674c90c3edd90b3d379e80102/2ef81ac-action-lambda.png”>

Avantages :

  • L’offre gratuite AWS vous octroie 3,2 millions de secondes de temps de calcul par mois avant que les services vous soient facturés.
  • API Gateway et les Lambdas prennent en charge des outils de test et de surveillance fantastiques comme CloudWatch et X-Ray.
  • Les services peuvent être mis à l’échelle pour prendre en charge des fichiers de taille importante (500 Go+)

Inconvénients :

  • L’assemblage de plusieurs services (Webhook -> API Gateway -> Lambda 1 -> Lambda 2) ou l’apprentissage de l’utilisation d’offres plus récentes comme AWS Fargate peut prendre du temps.
  • La documentation AWS est souvent obsolète ou manque de détails clés. Par exemple, lors de la configuration d’API Gateway, il n’est pas facile de discerner si les charges utiles seront encodées en Base64 ou non.
  • La configuration est généralement un peu compliquée.

Consultez le guide pour une présentation complète du déploiement d’actions personnalisées sur AWS. Remarque : Vous pouvez déployer des actions personnalisées sur n’importe quel service de calcul cloud, pas seulement AWS (Azure, Google Cloud Platform, Digital Ocean, etc.)

Exécuter un serveur et héberger votre propre code

Les services cloud sont très pratiques, mais pour les processus où vous voulez un contrôle total sur vos données, vous pouvez décider d’écrire et de déployer votre propre serveur.

Dans l’équipe DevRel, nous aimons écrire des serveurs FastAPI en Python. Ils sont faciles à créer et correspondent bien au modèle demande-réponse des actions personnalisées.

Avantages :

  • Contrôlez le flux de bout en bout de vos données. Absolument aucune surprise.
  • Synchronisez les données vers un NAS ou un système de fichiers sans exposition supplémentaire au cloud.

Inconvénients :

  • Nécessite l’administration d’un serveur, la création de vos propres fonctionnalités de sécurité, la gestion de la découverte réseau, de la charge, etc.

Clonez notre exemple de code pour déployer un serveur FastAPI pour gérer les actions personnalisées.

Parlons de la meilleure conception pour vos besoins

Publiez vos exigences dans notre communauté, nous sommes ravis de vous aider à déterminer la meilleure conception pour votre workflow.