The Economics of a Data Mesh
I, along with Ralph Debusmann, recently interviewed Eric Broda who is co-authoring the O’Reilly book “Implementing a Data Mesh.” The conversation eventually made it to the costs of producing data products published in the data mesh. In my own book “Streaming Data Mesh”, I covered the idea of chargebacks to domains consuming data products but I didn’t expand on the economics of how a distributed system could work.
Domains that produce data products for other domains own the resource and infrastructure costs to serve said data products. This includes engineering time to build and maintain the data products to meet the service level agreements (SLAs) they are providing. Depending on the throughput, size, scale, etc. this could end up being a very large cost to the domain. Moreover, the return on investment for serving data products could be nothing. Why would a domain, business unit, or line of business incur the cost of serving data products with no ROI? Domains have a limited budget. So how do we create the first data product in a data mesh?
Data Product’s Chicken-Egg Problem
The questions to be asked are:
Do we wait until another domain requests a data product before building it? If so, how do other domains know what data products to ask for and from whom?
Following Domain Driven Design (DDD), each domain has the expertise to evaluate its data and decide which should be published as data products into the data mesh. But domains can’t…