Integrating with Snowflake — a guide for SaaS Providers

One of the major shifts I’ve personally seen, even before my time at Snowflake, is that organizations are not looking to their cloud data platforms for just analytics. Organizations instead need a Data Cloud to power their core business processing. The Snowflake Data Cloud has long evolved from just being a “data warehouse in the cloud” to run business intelligence and reports — now, it’s the data platform for data collaboration, applications, and AI. As a part of that evolution, there has been a major shift in how data is moved to and from Snowflake. ETL vendors/partners like Fivetran and Portable have been, and will always be, there to help integrate Snowflake, transactional databases, and Software-as-a-Service (SaaS) platforms; however, customers are now demanding more from their favorite SaaS platforms for a tighter integration with Snowflake for a truly frictionless experience with their data.

Today, here are the 4 main ways a partner can integrate, or build on top of, Snowflake:

  1. Custom Snowflake Connectors
  2. Secure Data Sharing — Integration
  3. Secure Data Sharing — Managed Application
  4. Connected Application

As we dive into each method, I’ll also give some examples for each with a few of our partners in the Martech partner ecosystem.

Custom Snowflake Connectors

Description: One of the most popular choices is a custom-built Snowflake connector from the provider into Snowflake. A custom connector is a partner built and maintained connector, using one of the officially supported Snowflake drivers. The most common pattern in this method is to have a customer create a user/role for the provider’s connector, and the provider will automatically load data on behalf of the customer into the customer’s Snowflake account. While ETL partners were some of the first to build these custom connectors to help move data from SaaS vendor APIs into Snowflake, more partners are building their own connectors in addition to their standard data APIs.

Best for: Partners who aren’t using Snowflake, specifically ones who have a lot of event data or other immutable data that needs to get loaded into a customer’s Snowflake account.

Getting Started: If you’re not already registered in the Snowflake Partner Network (SPN), then that’s your first step. Once you’ve registered a partnership, check out the Connector Best Practices Guide that is available after you log in to SPN.

Example: Twilio Segment developed one of the early connectors into Snowflake, and now they have three dedicated connectors: Snowflake Destination (Event Data), Profile Sync, and Reverse ETL. A customer can ingest their customer behavioral data from Segment using the Snowflake Destination, receive profile updates to create their Customer 360 in Snowflake, and use Reverse ETL to send data from Snowflake back to Segment and other downstream destinations.

Secure Data Sharing

Secure Data Sharing is one of the staple features of Snowflake’s Data Collaboration capabilities. Snowflake customers love using data sharing because data is in a ready-to-query format inside of their Snowflake account, without the customer needing to manage any access to get data from a provider. If needed, a customer can also share back data from their account to a partner or vendor Snowflake account. This is what is known as “bi-directional sharing”.

There are two types of methods here, and while both are technically “building” on Snowflake, the first method is for providers who aren’t using Snowflake for their SaaS application.

Integration (Custodian Account)

Description: Without the provider or partner using Snowflake as a core part of their application, the provider can build an integration with Snowflake that leverages a Snowflake account solely for data sharing with customers. This is typically referred to as a “custodian account” which the provider maintains to enable data sharing for customers. The provider will either load data into Snowflake from another data store, or use an External Table, and then that data can be shared with a customer.

Best for: This method is best for partners who want to list datasets on the Snowflake Data Marketplace, or for partners who are receiving a heavy demand from customers to enable Secure Data Sharing with Snowflake. It’s typically best suited for sharing dimensional data that customers don’t need to re-materialize in Snowflake, allowing customers to query the share directly.

Getting Started: This integration requires more planning than a connector. Be sure to check out Design Patterns for Multi-Tenant Tenancy Applications on Snowflake for design guidance when loading data into Snowflake for usage in a Custodian Account. Also reach out to your Partner Account Manager and Partner SE for further help and guidance.

Example: Salesforce CDP / “Genie”. Salesforce has worked closely with Snowflake to build this type of integration using Snowflake’s native capabilities with Apache Iceberg. Come find out more about this integration at Snowflake Summit!

Managed Application

Description: When a Snowflake customer/partner builds an application on top of Snowflake, they can use a managed application deployment model. While there are some rare exceptions, secure data sharing is the preferred method to collaborate with other Snowflake customers. When partners build applications as a part of the Powered by Snowflake program, they get additional resources to help them build, market, and operate their application.

Best for: Technology providers who have built their application on top of Snowflake in the managed application deployment model.

Getting Started: If you’re a Snowflake customer and want to build an application on Snowflake, or have already one, reach out to your Snowflake AE. If you’re not a customer yet, reach out to our sales team via this form. Either way, it’s a good idea to register for the Powered by Snowflake program in SPN.

Example: Simon Data is Powered by Snowflake, and allows customers to use a bi-directional share to collaborate on data. The customer provides Simon Data with a share containing customers, transactions, events, and other contextual data, like retail inventory. Simon Data can then share back campaign performance data or a completed customer profile for custom reporting. Zeta, another Powered by Snowflake, also operates in a similar manner.

Outside of martech, be sure to keep an eye out for a future blog from us specifically about Blue Yonder and the Luminate platform that they’ve built on Snowflake.

Connected Application

I’ve previously written a number of posts on connected applications. For a detailed explanation, I would recommend starting with Designing a Connected Application, which has a lot of helpful links.

Description: A connected application is when an application connects to a customer’s Snowflake account and doesn’t persist data outside of that account. This model is similar to the connector model above, but the major difference is that a connected app does not keep a persistent copy of the data. Connected apps are also known to “push-down” compute into Snowflake when possible. These apps can use SQL, JavaScript, or Snowpark (Python, Java, and Scala) to push down application logic and processing into Snowflake.

Best for: This is a great fit for start-ups looking to take part in the “warehouse-native” or “composable” methodology. It’s also great for brand new applications by existing technology providers. Some managed application providers, like Simon Data and ActionIQ, are adding a connected app deployment to let the customer take full control of data processing and governance inside of their Snowflake account.

Getting Started: In addition to the blog above, check out this guide on snowflake.com. If you’re a current customer, reach out to your AE and SE to ask for further guidance. If you’re a start-up looking to build on Snowflake, I encourage you to sign up for the Powered by Snowflake Startup Program.

Example: There are many to choose from, but to follow the CDP trend in the other examples, RudderStack is a good one to look at. They ingest both behavioral data and SaaS data, help with deterministic identity, and then can help activate data to destinations, all using the customer’s Snowflake account without an external datastore. Also check out this blog with ActionIQ where they detail their new Hybrid Compute solution with Snowflake.

Building with Snowflake

While all of these are great options today, later this month, at Snowflake Summit, we’ll be giving you updates on the Snowflake Native Application framework, as well as many other exciting announcements. After the conference, I’ll follow-up this blog detailing more options on how to natively build within Snowflake.

--

--

Luke Ambrosetti
Snowflake Builders Blog: Data Engineers, App Developers, AI/ML, & Data Science

Partner Solutions Engineer @ Snowflake. data apps + martech. sweet tea and fried chicken connoisseur. drummer’s syndrome survivor.