A propos d’Openflow¶
Snowflake Openflow est un service d’intégration qui connecte n’importe quelle source de données et n’importe quelle destination avec des centaines de processeurs prenant en charge les données textuelles structurées et non structurées, les images, l’audio, la vidéo et les données de capteurs. Basé sur Apache NiFi, Openflow vous permet d’exploiter un service entièrement géré dans votre propre Cloud pour un contrôle total.
Note
La plateforme Openflow est actuellement disponible pour être déployée dans le VPC des clients dans AWS.
Cette rubrique décrit les fonctions clés d’Openflow, ses avantages, son architecture et son flux de travail, ainsi que des cas d’utilisation.
Fonctions clés et avantages¶
Ouvert et extensible : un service géré extensible basé sur Apache NiFi, qui vous permet de créer et d’étendre des processeurs à partir de n’importe quelle source de données vers n’importe quelle destination.
Plateforme d’intégration des données unifiée: Openflow permet aux ingénieurs de données de gérer des processus complexes et bidirectionnels ETL grâce à un service entièrement géré qui peut être déployé à l’intérieur du propre VPC des clients, dans le Cloud ou sur site.
Prêt pour l’entreprise: Openflow offre une sécurité prête à l’emploi, une conformité et des crochets d’observabilité et de maintenabilité pour l’intégration des données.
Ingestion à grande vitesse de tous les types de données: une plateforme unifiée qui vous permet de traiter des données structurées et non structurées, en mode lot et en mode flux, depuis votre source de données jusqu’à Snowflake, à pratiquement n’importe quelle échelle.
Ingestion continue de données multimodales pour le traitement AI: ingestion de données non structurées en quasi temps réel, afin que vous puissiez immédiatement dialoguer avec vos données provenant de sources telles que Sharepoint, Google Drive, etc.
Architecture¶
Le diagramme suivant illustre l’architecture Openflow :

L’agent de déploiement installe et démarre l’infrastructure de déploiement d’Openflake sur votre VPC et synchronise régulièrement les images des conteneurs à partir de Snowflake System Image Registry.
Voici quelques-uns des composants d’Openflow :
Déploiement : un déploiement est l’endroit où vos flux de données s’exécutent, au sein d’environnements d’exécution individuels. Vous aurez souvent plusieurs environnements d’exécution pour isoler différents projets, équipes, ou pour des raisons SDLC, tous associés à un seul déploiement.
Environnement d’exécution : les environnements d’exécution hébergent vos pipelines de données, le framework assurant la sécurité, la simplicité et l’évolutivité. Vous pouvez déployer des environnements d’exécution Openflow dans votre VPC en utilisant Openflow. Vous pouvez déployer des connecteurs Openflow dans vos environnements d’exécution, et également construire de nouveaux pipelines à partir de zéro en utilisant des processeurs et des services de contrôleurs Openflow.
Le plan de contrôle : le plan de contrôle est une couche de l’architecture qui contient tous les conteneurs utilisés pour la gestion et l’observation, y compris l’API et le service Openflow, avec lesquels les utilisateurs interagissent par l’intermédiaire de l’UI Openflow ou par une interaction directe avec les APIs Openflow.
Workflow¶
Personnage utilisateur |
Tâche |
---|---|
Ingénieur/administrateur Cloud AWS |
Crée un ensemble de déploiements dans son compte Cloud AWS. L’UI Openflow est utilisée pour gérer les déploiements ainsi que la création et la maintenance des environnements d’exécution. L’UI Openflow permet aux utilisateurs de créer, redimensionner, mettre à niveau et supprimer des environnements d’exécution dans tous les déploiements. Les connexions Snowflake sont utilisées pour s’authentifier à Openflow et les rôles et privilèges sont utilisés pour contrôler l’accès aux déploiements et aux exécutions d’Openflow. |
Ingénieur des données (auteur du pipeline, responsable de l’ingestion des données) |
Utilise l’environnement d’exécution pour créer des flux à partir de zéro ou pour configurer des connecteurs déployés. Crée un nouveau flux à partir de zéro, ou utilise un connecteur existant tel quel ou comme point de départ pour le personnaliser. Alimente les données de la couche de bronze dans votre compte Snowflake (ou autre système cible). Les connecteurs sont un moyen simple de résoudre un cas d’utilisation d’intégration spécifique, et les utilisateurs moins techniques peuvent les déployer sans nécessairement avoir besoin d’un ingénieur en données. |
Ingénieur de données (opérateur de pipeline) |
Configure les paramètres du flux et exécute le flux |
Ingénieur de données (responsable de la transformation vers les couches Silver et Gold) |
Responsable de la transformation des données de la couche bronze alimentée par le pipeline en couches argent et or pour l’analyse. |
Utilisateur professionnel |
Utilise les objets de la couche d’or pour l’analyse |
Cas d’utilisation¶
Utilisez Openflow si vous souhaitez récupérer des données de n’importe quelle source et les placer dans n’importe quelle destination avec une gestion minimale, tout en profitant de la sécurité des données et de la gouvernance intégrées de Snowflake.
Voici quelques cas d’utilisation de Openflow :
Ingérer des données à partir de sources de données non structurées, telles que Google Drive et Box, et les rendre prêtes pour le chat dans vos assistants AI avec Snowflake Cortex ou utiliser les données pour votre propre traitement personnalisé.
Répliquez la capture des données de changement (CDC) des tables de base de données dans Snowflake pour une réplication complète et centralisée.
Ingérer des événements en temps réel à partir de services de flux, tels qu’Apache Kafka, dans Snowflake pour des analyses en temps quasi réel.
Ingérer les données des plateformes SaaS, telles que LinkedIn Ads, vers Snowflake pour le reporting, l’analyse et les insights.
Créer un flux de données à l’aide d’Openflow en utilisant les processeurs Snowflake et NiFi et les contrôleurs.
Sécurité¶
Openflake utilise des fonctions de sécurité à la pointe de l’industrie qui vous aident à garantir les plus hauts niveaux de sécurité pour votre compte et vos utilisateurs, ainsi que pour toutes les données que vous stockez dans Snowflake. Voici quelques aspects clés :
Authentification
Les environnements d’exécution utilisent OAuth2 pour l’authentification auprès de Snowflake
Autorisation
Openflow prend en charge des rôles à granularité fine pour RBAC
ACCOUNTADMIN pour accorder des privilèges pour pouvoir créer des déploiements et des environnements d’exécution
Chiffrement en transit
Le connecteur Openflow supporte le protocole TLS, en utilisant des clients Snowflake standards pour l’ingestion des données
Toutes les communications entre les déploiements Openflow et le plan de contrôle Openflow sont chiffrées à l’aide du protocole TLS
Gestion des secrets (BYOC)
Intégration avec AWS Secrets Manager ou Hashicorp Vault. Pour plus d’informations, voir Mots de passe chiffrés dans les fichiers de configuration.
Support pour les liens privés
Les connecteurs Openflow sont compatibles avec la lecture et l’écriture de données dans Snowflake en utilisant des données AWS PrivateLink entrantes
Tri-Secret Secure support
Le connecteur Openflow est compatible avec Tri-Secret Secure pour l’écriture des données sur Snowflake.
Disponibilité régionale¶
Openflow est disponible pour tous les comptes sur AWS Régions commerciales. Openflow n’est pas disponible dans les régions gouvernementales.
Limitations¶
Comme décrit dans les termes de Snowflake Openflow BYOC, la sécurité d’Openflow BYOC est un modèle de responsabilité partagée.
L’autorisation Openflow utilise des rôles et leurs privilèges associés qui sont directement accordés à l’utilisateur. Actuellement, Openflow ne prend pas en charge l’autorisation lorsque le rôle est attaché à un autre rôle dans la hiérarchie des rôles de l’utilisateur.