How Braze and Snowflake Built an Effective, Ongoing Technical Partnership
To serve consumers effectively, brands need open, frictionless access to their data. Here at Braze, we’ve put in a lot of work to make that vision of data agility a reality for our customers, including the 2019 launch of Snowflake Secure Data Sharing (SDS). This innovative feature lets joint Braze and Snowflake customers take full advantage of Snowflake’s Data Cloud with secure, account-to-account data sharing through Snowflake database tables, secure views, and secure user-defined functions.
This key feature was made possible by a technical integration between Braze and Snowflake—but our collaboration didn’t stop there. Over the past two years, our ongoing partnership with Snowflake has blossomed into a true partnership, allowing us to work closely together to maintain, and optimize Snowflake SDS support for our shared customers. That sort of back and forth doesn’t just happen; getting it right involves a lot of stakeholders and thoughtful collaboration. Let’s take a look at how we got here and how our partnership works in practice, week after week and year after year.
Braze and Snowflake: The Birth of a Partnership
Braze support for Snowflake SDS was built to provide our customers with instant access to data across both Braze and Snowflake, making it possible to gain deeper insights into user behavior, message engagement, retention, funnel outcomes, and other event-driven analytics. To make that happen, we decided to build a new internal data lake on top of Snowflake, allowing us to leverage that platform’s Secure Data Sharing feature (which was still in development at the time) to make it easier for both Braze and our mutual customers to access and manage in-the-moment data.
With Snowflake SDS, Braze customers can securely access data without copying or transferring information between the two different platforms—instead, sharing is handled via Snowflake’s unique services layer and metadata store. The upshot is that data shared within a given Snowflake region doesn’t take up additional storage space on Snowflake, making it easy for brands to seamlessly use Braze data within Snowflake.
Building support for Snowflake SDS within Braze was a significant technical undertaking (read more about that process here). But to do it successfully, we had to go beyond technical expertise; we also had to share our workflow and communicate with Snowflake around how we intended to leverage the Data Cloud to meet our goals. Having those insights into our approach made it possible for Snowflake to optimize existing features and build new ones that helped us successfully launch and maintain both Snowflake SDS support and our internal data lake.
Braze and Snowflake: An Ongoing Collaboration
The same spirit of open communication that made our partnership with Snowflake successful in the first place plays a central role in keeping the partnership between our companies strong. Alignment across our organizations is key to making sure that everything runs as smoothly as possible, so we make a point of communicating on a regular basis to keep all the key stakeholders in the loop.
“We do weekly calls with the Braze team,” said Mike Platt-Hepworth, Enterprise Account Executive at Snowflake. “They cover everything from collaborating across our go-to-market teams to enablement from the technical side of things.”
“On the technical side of things, we’re engaged with a lot of different Braze stakeholders,” said Ashish Patel, Sales Engineer at Snowflake. “We have our top engineers interacting on a monthly basis with the Braze engineering team. At times, the focus is on solving engineering-related issues, but we’re also constantly taking feedback from the Braze team on how we can make the overall Snowflake product better.”
Curious what that collaboration looks like in practice? Let’s explore three situations where the effective collaboration between the Braze and Snowflake technical teams resulted in improvements to one or both of our respective platforms.
1. Snowflake Tasks and Streams
Snowflake added the ability to filter and transform streaming data to streams and tasks, a product update that played an essential role in supporting the creation of core Braze data lake-related product offerings, including our cross-region Data Sharing capabilities. Snowflake also provides us with an easy way of tracking performance and exceptions on these functionalities so that we’re immediately alerted to any issues, providing customers with a smooth, reliable experience.
“Streams and tasks provide our customers with an effective way to orchestrate overall pipelines,” explains Patel. “While we were working to perfect this key feature, we got good feedback from Braze on what was working well and wasn’t on their side of things, then collaborated with the Braze engineering team to resolve issues. Thanks to our close collaboration with Braze engineers, we’re able to share early access to some features with them, making it possible for us to get quick feedback and make responsive improvements. The result of that partnership and collaboration was that it made it possible for us to make our product even better while also making adjustments that streamlined things for Braze and made our integration more successful.”
2. Braze Kafka Cluster Migration
Similarly, Braze carried out a Kafka cluster migration after one of our conversations with the engineering team over at Snowflake that made it easier to separate out data based on Snowflake regions. This effort, which allowed us to streamline things by removing an entire streaming step in the pipeline, supported operational improvements and gave us more control over the batch size for individual files.
3. GDPR-Related Deletion Support
In the early days of the Braze and Snowflake partnership, we explored splitting our tables into two to separate personally-identifiable information (PII) from non-PII data in order to simplify things in connection with data deletions required by the EU’s General Data Protection Regulation (GDPR). While we didn’t end up moving ahead with this approach, we consulted closely with Snowflake during the trial run and asked them at one point to build a feature that would reduce the impact of GDPR-related deletions on clustering. They responded by creating a feature that was enabled specifically for us, allowing us to optimize the way we conduct GDPR deletes even without making a major change in how our tables are structured. More recently, with these learnings in hand, we’ve partnered with the Snowflake team to bring together a Snowflake feature and Braze usage patterns in order to once again drive significant decreases in the cost of maintaining GDPR compliance.
Throughout this journey, we’ve discovered just how important trust is when it comes to collaborating with our technology partners. Being able to align and work seamlessly with Snowflake has been a major factor in the success of our partnership. Having nuanced, ongoing insight into our approach made it possible for Snowflake to optimize existing features and build new ones that helped us successfully launch both Snowflake SDS support and our internal data lake—and to continue optimizing how our respective systems work together into the future.
Want to learn more about how the Braze Product and Engineering organization has worked together with technology partners to support our platform’s ability to provide key customer value? Check out Braze Cofounder and CTO Jon Hyman’s exclusive look at how Braze leverages AWS’ Auto Scaling feature to support our platform’s massive, ever-changing scale.
Interested in becoming part of the Braze Product and Engineering team? Check out our open roles on the Braze Careers page.