JakubSkibicki
Contributor

@Fkebbati 

First, traffic cost in Azure are not reported as a separate Resource Type, but appended to main resource causing the traffic. If you want to distinguish them use for instance Service Name. In this case traffic cost is appended to Databricks and not Storage Accounts. 

Cost for network traffic for Databricks and Storage Account with Private Endpoints is not a trivial case.

Simple use of Databricks clusters to read and write data over Private Endpoint incurs Inbound and Outbound cost. Those cost are not some in volume as @szymon_dybczak mentioned, but in my experience can double overall Databricks cost, and will scale as traffic volume changes. 

Also from experience Inbound cost will be much higher than Outbound cost. Circa 6 times more inbound. I imagine that Databricks/Spark makes a big overhead of data read, and to put data to worker nodes, or reading entire Delta Lake parquets. Read a lot, write some, i imagine.  

Also it is worth reminding that if you do work between different peered Vnets you will be charged with peering transit Private Link cost. VMs of worker nodes simply do not have a Private Endpoint and storage account in your case do.

And this is all regarding transfer within a single region. 

If you need to use Private Endpoint you need to accept those extra transfer cost.

Alternative to get some security, and avoid transit cost are Service Endpoint as you mentioned.