Three methods to integrate into Snowflake’s Data Cloud Architecture; the benefits and considerations

Exploring Data Sharing, Connected Applications, and Native Applications for Optimal Performance and Security

Cameron Wasilewsky
Data Cloud Architecture
5 min readJun 6, 2024

--

As a Partner Sales Engineer for Snowflake, I engage with numerous customers each week to discuss how we can collaborate, what is technically possible, and what the future holds for our platform. Recently, two significant announcements have drastically changed how I answer those questions:

  1. The introduction of Native Apps leveraging Snowpark Container Services
  2. And our evolving approach to the Snowflake’s Data Cloud Architecture,

This blog delves into the possibilities with Snowflake, whether you’re looking to leverage its robust data and virtual warehouse capabilities, share valuable data, or develop applications within the platform. There are three main options you can select from — each offering unique benefits and considerations.

Visual depiction of the different integrations and the benefits and considerations of each — Diagram by Author

Data Share

  • Share your data on Snowflake to make it accessible to others and open up monetization opportunities.
  • This allows data to move between Snowflake environments securely and without duplication.
  • Suitable for companies with valuable data looking to generate new revenue.

Connected Application or Feature Integration

  • Develop external applications that interact with Snowflake, leveraging the platform’s features, governance, compute, and storage.
  • Code logic and data moves between both applications and services.
  • Best for flexibility in using external resources and integrating with multiple systems. Low lift and fast for the entity provider but limited additional value delivered to the consuming entity.

Native Application

  • Build and run applications directly within Snowflake customer accounts using Snowflake’s native framework.
  • Code and data only move one way, directly into the consumer’s entity
  • Perfect for ensuring high security and performance for integrated applications.

1. Data Share:

If you possess valuable data, sharing it on Snowflake can broaden its accessibility and generate new revenue streams. You can also purchase data from other providers. This data can be provided directly through the marketplace, or you can establish data sharing capabilities directly between Snowflake entities.

Benefits:

  • Monetization of Data: By making your data available on Snowflake, you can tap into a new economic avenue by charging for data access.
  • Increased Visibility: Sharing data enhances your visibility within the Snowflake ecosystem, potentially attracting new customers or partners.
  • Consumers can build new capabilities, drive additional insight, and augment their current data ecosystem.

Considerations:

  • Data Governance Concerns: Ensuring the security and compliance of shared data can be challenging, especially with varying regulations across regions.
  • Dependency on Platform: Your data’s value can become closely tied to the platform, making it dependent on Snowflake’s continued success and policies.
Visual depiction of a consumer and provider entity integration through data sharing. Data can move between the two with both directions being an option. They flow through the Snowflake platform — created by the Author

You can learn more here

2. Connected Application or Feature Integration:

Connected applications are external applications that interact with Snowflake but have components that run outside of the Snowflake Environment. They can leverage Snowflake capabilities and features such as storage, computing, Snowpark Containers Services, Cortex, Model Registry, Feature Store, Snowpipe, and Dynamic Tables, just to name a few. However, there is still a transfer of data and logic between entities, which brings additional costs, security risks, and data duplication.

Benefits:

  • Flexibility: Allows external computing resources, which can be optimal for applications with specific performance or regulatory requirements.
  • Broader Integration: Facilitates integration with other systems and platforms, creating a more interconnected data ecosystem.

Considerations:

  • Security Concerns: Managing and securing connections between Snowflake and external systems can add complexity.
  • Data Movement, Cost, and Duplication: If logic or processing is in a different place from the data, movement will be needed, leading to additional overhead in maintenance and costs.
  • Performance Latency: Potential latency issues can affect performance as data moves between Snowflake and the external application.
Visual depiction of a consumer and provider entity integration with both logic and data moving through the public cloud — created by the Author

You can learn more about connected apps or features and service integration

3. Native Application:

With Snowflake’s Marketplace and Native Application framework, you can now build and run complex applications directly within customer accounts on Snowflake. This means there is no longer a need to move data; instead, the application, code, and logic can move to where the data is. This framework allows complex front and backend code to run security in a consuming entity’s Snowflake account.

Benefits:

  • High Security and Compliance: Applications run within the secure confines of Snowflake, ensuring compliance with data governance and security standards.
  • Optimized Performance: Running applications natively in Snowflake eliminates latency and improves performance by processing data where it resides. It also removed data duplication and additional costs.

Considerations:

  • Platform Lock-in: Developing native applications can lead to dependency on Snowflake’s infrastructure and future development framework.
  • Resource commitment: Requires investment in understanding and utilizing Snowflake’s native capabilities for application development.
Visual depiction of a provider's native application being deployed into a consumer's Snowflake platform. There is no movement of data and all security is maintained — created by the Author

You can learn more from the announcement, follow these steps to architect your app for this integration or leverage this blog post for technical details.

Which Integration Provides the Best Value for Your Buck?

The optimal path depends on your needs, resources, and strategic goals; for organizations seeking to maximize control and customization, building connections and leveraging Snowflake features might be most beneficial. Those looking to capitalize on existing data assets might find sharing data more lucrative. If you require flexibility outside of what Snowflake’s native environment offers, a connected application could be the way to go. However, for optimal security, access to a new market, and performance, developing a native application within Snowflake’s ecosystem might offer the most significant benefits.

Snowflake’s Data Cloud Architecture opens up many opportunities for integration and innovation. By carefully considering the pros and cons of each integration option, you can make an informed decision that aligns with your business objectives and maximizes the return on your investment.

Reach out to discuss your specific use case and how these different approaches apply

--

--

Cameron Wasilewsky
Data Cloud Architecture

Bridge between technology and business. Talks about AI, ML, Tech, business, communication and finance https://linktr.ee/cam.wasi