Dispatches from Day Five of the Operational Analytics Conference
Growth is obviously a great thing for a company. More customers means more money to invest in a better product, made by more engineers, for a more diverse set of use cases. Getting there, however, can be painful, especially when it comes to something as complex and finicky as data.
During the final Operational Analytics Conference panels on Friday, we talked about how processes and stacks need to evolve as a company grows with a panel that included:
Zeeshan, who has seen the data team at Shopify grow from a handful of people to dozens, brought up an interesting point around the dueling concerns data teams have to think about as they grow, and how to solve those with different methodologies and tools.
Zeeshan Qureshi: Effectively, there's two scaling concerns: growing in the number of people, and then growing in the volume of data. With people, when your org is small enough – 10 or 20 people – the people building the data models are also the people running the infrastructure, and they can hold processes in their head. After that point, you come into a situation where you need a bit more rigor. You need continuous integration, you need to enforce style guides, certain naming conventions … this and that.
So you could live in notebooks, and not be fully GitOps up until then, but after you have to adopt a proper development methodology. When Shopify hit that scale, I would say about three years ago, our data volumes were just so big, that we needed to separate the people using the data modeling and creating the people running the platform.
And that is also the switch where you could go from a SaaS-hosted platform to actually building your own storage engines and query engines, where you have just such specialize needs. If you were to look at concrete tools, the warehousing space has been solved pretty well by things like BigQuery and Snowflake. It's the slicing and dicing of the data on like datasets that are terabytes big, which is still even for us today is hard. So that's where Star-tree and Druid and a lot of those other tools are making a lot more progress. And that's where I feel like, a 500-plus company is going to be investing a lot more money there.
It was interesting how he identified the two lanes, people and data volume, that had two different solutions. As teams get bigger and collaborate on more complex code, teams have to start normalizing on a Git-based process, or the very least and have some conventions in place. Likewise, when a company hits a certain scale of data, it makes sense to split the data infrastructure team from the data modeling team.
This was only a small piece of a really fascinating and wide-ranging talk that I was glad I got to be a part of. Listen to the entire discussion below and be sure to check out the other sessions as well.