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 le déploiement dans les propres VPCs des clients, à la fois dans AWS et Snowpark Container Services.

Cette rubrique décrit les principales fonctionnalités d’Openflow, ses avantages, son architecture, son workflow et ses cas d’utilisation.

Fonctions clés et avantages

Ouvert et extensible

Un service géré extensible alimenté par Apache NiFi, qui vous permet de créer et de développer des processeurs à partir de n’importe quelle source de données vers n’importe quelle destination.

Plateforme unifiée d’intégration des données

Openflow permet aux ingénieurs de données de traiter des extractions et des chargements de données bidirectionnels complexes grâce à un service entièrement géré qui peut être déployé au sein de votre propre VPC ou au sein de votre déploiement Snowflake.

Prêt pour l’entreprise

Openflow offre dès l’installation des mécanismes intégrés de sécurité, de conformité, d’observabilité et de maintenabilité pour l’intégration des données.

Ingestion haute vitesse de tous les types de données

Une plateforme unifiée vous permet de gérer des données structurées et non structurées, en mode streaming et en lot, depuis votre source de données vers Snowflake, à quasiment toutes les échelles.

Ingestion continue de données multimodales pour le traitement d’AI

Near real-time unstructured data ingestion, so you can immediately chat with your data coming from sources such as Sharepoint, Google Drive, and so on.

Types de déploiement Openflow

Openflow est pris en charge à la fois dans les versions Bring Your Own Cloud (BYOC) et Snowpark Container Services (SPCS).

Openflow - Snowflake Deployment

Openflow - Snowflake Deployment, using Snowpark Container Services (SPCS), provides a streamlined and integrated solution for connectivity. Because SPCS is a self-contained service within Snowflake, it’s easy to deploy and manage. SPCS offers a convenient and cost-effective environment for running your data flows. A key advantage of Openflow - Snowflake Deployment is its native integration with Snowflake’s security model, which allows for seamless authentication, authorization, network security and simplified operations.

Lors de la configuration de Openflow - Snowflake Deployments, suivez le processus indiqué dans Configurer Openflow - Déploiement Snowflake.

Openflow - Bring Your Own Cloud

Openflow - Bring Your Own Cloud (BYOC) provides a connectivity solution that you can use to connect public and private systems securely and handle sensitive data preprocessing locally, within the secure bounds of your organization’s cloud environment. BYOC refers to a deployment option where the Openflow data processing engine, or data plane, runs within your own cloud environment while Snowflake manages the overall Openflow service and control plane.

Lors de la configuration de déploiements BYOC, suivez le processus comme indiqué dans Configuration d’Openflow - BYOC.

Cas d’utilisation

Utilisez Openflow si vous souhaitez récupérer des données depuis n’importe quelle source et les envoyer vers n’importe quelle destination avec une gestion minimale, couplée à la sécurité et à la gouvernance des données intégrées de Snowflake.

Les cas d’utilisation d’Openflow incluent :

  • 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 des données depuis des plateformes SaaS comme LinkedIn Ads vers Snowflake pour la création de rapports, les analyses et de les insights.

  • Créer un flux de données Openflow à l’aide de Snowflake et des processeurs et services de contrôleur<controllers/index> NiFi.

Sécurité

Snowflake utilise des fonctionnalités de sécurité de pointe qui vous assurent les plus hauts niveaux de sécurité pour votre compte, vos utilisateurs et toutes les données que vous stockez dans Snowflake. Voici quelques aspects clés :

Authentification
  • Les runtimes utilisent le Jeton géré par Snowflake comme méthode d’authentification par défaut et recommandée.

  • Le jeton géré par Snowflake fonctionne de manière cohérente à travers les types de déploiement SPCS et BYOC.

  • Les déploiements BYOC peuvent également utiliser l’authentification par paire de clés pour une gestion explicite des identifiants de connexion.

Autorisation
  • Openflow supports fine-grained roles for RBAC.

  • ACCOUNTADMIN to grant privileges to be able to create deployments and runtimes.

Chiffrement en transit
  • Les connecteurs Openflow prennent en charge le protocole TLS, en utilisant des clients Snowflake standard 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)
Support pour les liens privés
  • Les connecteurs Openflow sont compatibles avec la lecture et l’écriture de données dans Snowflake à l’aide d’une connexion PrivateLink AWS entrante.

Tri-Secret Secure support
  • Le connecteur Openflow est compatible avec Tri-Secret Secure pour l’écriture des données sur Snowflake.

Authentification de jeton géré par Snowflake

Le jeton géré par Snowflake est la méthode d’authentification recommandée et par défaut pour les environnements d’exécution Openflow se connectant à Snowflake. Cette méthode d’authentification fonctionne de manière cohérente pour les déploiements Openflow - Snowflake et les déploiements BYOC. Le jeton géré par Snowflake fournit une expérience unifiée et simplifiée pour la configuration de la connexion Snowflake.

Key benefits

Configuration simplifiée

Le jeton géré par Snowflake élimine la nécessité de générer, de stocker et de faire pivoter des identifiants de connexion de longue durée tels que des paires de clés. Le jeton est automatiquement géré par Snowflake, ce qui réduit les frais généraux.

Unified across deployment types

Si vous déployez Openflow dans Snowpark Container Services (SPCS) ou Bring Your Own Cloud (BYOC), vous configurez l’authentification de la même manière en utilisant la stratégie d’authentification SNOWFLAKE_MANAGED.

Enhanced security

Les jetons sont de courte durée et automatiquement actualisés, ce qui réduit le risque associé à l’exposition des informations d’identification.

Fonctionnement

Lorsque vous configurez un connecteur ou un processeur pour se connecter à Snowflake, sélectionnez SNOWFLAKE_MANAGED comme Stratégie d’authentification Snowflake. Le runtime obtient et gère automatiquement le jeton utilisé pour s’authentifier auprès de Snowflake en votre nom.

Le comportement du Jeton géré par Snowflake varie en fonction de votre type de déploiement :

Openflow - Snowflake Deployments

Lors de l’exécution dans un déploiement géré par Snowflake, le runtime utilise les jetons de session SPCS fournis nativement par l’environnement SPCS. Ces jetons sont disponibles au moment de l’exécution et ne nécessitent aucune configuration supplémentaire.

BYOC deployments

Lors de l’exécution dans un déploiement BYOC, le runtime utilise la fédération d’identité de charge de travail pour s’authentifier auprès de Snowflake. Le runtime échange automatiquement son identité de fournisseur Cloud (par exemple, un rôle AWS IAM) pour un jeton Snowflake.

Note

Pour utiliser un jeton géré par Snowflake dans les déploiements BYOC, vous devez d’abord configurer des Rôles d’exécution pour votre déploiement.

Quand utiliser le jeton géré par Snowflake

Utilisez le jeton géré par Snowflake pour :

  • Toutes les nouvelles configurations de connecteurs dans les déploiements SPCS et BYOC.

  • Migrations de l’authentification par paire de clés vers le modèle d’authentification simplifié et géré.

  • Scénarios dans lesquels vous souhaitez éviter de gérer des paires de clés ou d’autres identifiants de connexion de longue durée.

Autres méthodes d’authentification

Bien que le jeton géré par Snowflake soit recommandé, les déploiements BYOC prennent également en charge l’authentification par paire de clés (KEY_PAIR) pour les cas où vous avez besoin d’une gestion des identifiants explicite. Pour plus d’informations sur l’authentification par paire de clés, voir Authentification par paire de clés et rotation de paires de clés.

Pour plus d’informations sur les mécanismes d’authentification sous-jacents, voir ce qui suit :

Architecture

Le diagramme suivant illustre l’architecture Openflow :

Architecture Openflow

L’agent de déploiement installe et démarre l’infrastructure de déploiement Openflow dans votre VPC et synchronise régulièrement les images de conteneurs à partir du registre d’images du système Snowflake.

Les composants Openflow comprennent :

Deployments

A deployment is where your data flows execute, within individual runtimes. You will often have multiple runtimes to isolate different projects, teams, or for SDLC reasons, all associated with a single deployment. Deployments come in two types Bring Your Own Cloud (BYOC) and Openflow - Snowflake.

Plan de contrôle

The control plane is a layer containing all components used to manage and observe Openflow runtimes. This includes the Openflow service and API, which users interact with via the Openflow canvas or through interaction with Openflow APIs. On Openflow - Snowflake Deployments, the Control Plane consists of Snowflake-owned public cloud infrastructure and services as well as the control plane application itself.

BYOC deployments

Les déploiements BYOC sont des déploiements qui servent de conteneurs pour des environnements d’exécution qui sont déployés dans votre environnement Cloud. Ils encourent des frais en fonction de leur utilisation du calcul, de l’infrastructure et du stockage. Pour plus d’informations, voir Considérations relatives aux coûts et à la mise à l’échelle d’Openflow BYOC.

Openflow - Snowflake Deployments

Openflow - Snowflake Deployments are containers for runtimes and are deployed using a compute pool. They incur utilization charges based on their uptime and usage of compute. See Considérations relatives aux coûts et à la mise à l’échelle des déploiements Openflow Snowflake for more information.

Temps d’exécution

Runtimes host data pipelines, with the framework providing security, simplicity, and scalability. You can deploy Openflow runtimes in your VPC using Openflow. You can deploy Openflow connectors to your runtimes, and also build completely new pipelines using Openflow processors and controller services.

Exécution Openflow - Snowflake Deployment

Openflow - Snowflake Deployment Runtimes are deployed as Snowpark Container Services service to an Openflow - Snowflake Deployment deployment, which is represented by an underlying compute pool. Customers request a Runtime through the deployment, which executes a request on behalf of the user to service. Once created, customers access it via a web browser at the URL generated for that underlying service.