Azure Databricks pricing: B2B subscription vs official page pricing - databricks

From one company I know that 50,000 DBUs for B2B Non-Production subscription may cost about 44,000$. In turn, at Databricks official pricing page, the most premium layer costs 0.55$/DBU (27,500$ per 50k DBUs).
Could you please explain the difference between B2B subscription DBUs and official page Data Analytics Pemium SKU DBUs?
Why the pricing differs so dramatically? Is there anything else (as part of B2B) besides support/fastrack?
Hope you won't need to publish private informationto to answer my question. But I need to understand the main reasons, to be able to plan costs for future projects.
UPD
Databricks B2B subscription does not provide you with a choice of different usage layers (Light/Engineering/Analytics). Instead you have a single option (price) for each bundle (DBU volume). That option is significantly more expensive than the most expensive Analytics layer.

Think of it as getting a discount on $50,000 worth of tokens. The way you run your process will pull from that bucket as if you had $50,000 to spend even though you are paying $46,000. You have a year or 3 years to spend them, if you don't spend them in that timeframe you lose the remaining. If you go through them all you will pay the pay-as-you-go price or you can pre-buy another year or 3 year bucket of units. Also how you run your jobs and what tier you run under (Standard or Premium) will determine how fast you burn through the bucket of units and does still matter as the previous answer stated.
https://azure.microsoft.com/en-us/pricing/details/databricks/
Databricks Unit pre-purchase plan
You can get up to 37% savings over pay-as-you-go DBU prices when you
pre-purchase Azure Databricks Units (DBU) as Databricks Commit Units
(DBCU) for either 1 or 3 years. A Databricks Commit Unit (DBCU)
normalizes usage from Azure Databricks workloads and tiers into to a
single purchase. Your DBU usage across those workloads and tiers will
draw down from the Databricks Commit Units (DBCU) until they are
exhausted, or the purchase term expires. The draw down rate will be
equivalent to the price of the DBU, as per the table above.
The purchase tiers and discounts for DBCU purchases are shown below:
1-year pre-purchase plan
DATABRICKS COMMIT UNIT (DBCU) PRICE (WITH DISCOUNT) DISCOUNT
25,000 $23,500 6%
50,000 $46,000 8%
100,000 $89,000 11%
200,000 $172,000 14%
350,000 $287,000 18%
500,000 $400,000 20%
750,000 $578,000 22%
1,000,000 $730,000 27%
1,500,000 $1,050,000 30%
2,000,000 $1,340,000 33%
Also Analytics/Engineering/Light are not options that you choose from. They are defined by how you run your jobs. Executing a job through the notebook interface is defined as an Analytics job where as if you schedule the notebook to run that is considered an engineering job and if you use a coded library submit job you are running under the light tier.
UPDATE - not enough room in comment section to answer OP reply
great thanks for your answer! I think I got my mistake, but please approve once again. So DBCU is about US dollars, so 50k DCBUs may be equal to let say ~100k DBUs, right?
DBUs and DBCUs are exactly the same and are charged the same as far as usage. The only difference is that you get an up front discount of 8% with your example of pre buying 50,000. If you were to run everything exactly the same in two different workspaces and you spent exactly 50,000 DBU Hours in one and 50,000 DBCU Hours in the other, you would owe $50,000 over the course of the year or you would pay $46,000 up front. Neither of these include the actual VM base costs that you would owe to Azure. The DBU structure is Databricks cut of the cost, so you would have to factor that in to your overall cost.
This took me a while to figure out when I started with databricks as well. When they say you are charged $0.55 for the Analytical job that is per DBU hour that is processed not .55 per job. So if I run an Analytical job for 1 hour I would burn .55 * (# of VM's * VM DBU cost per hour). If I ran that same job for only 1/2 an hour I would be charged (.55*.5) * (# of VM's * (VM DBU cost*.5)). It's easier to think of the DBU and DBCU units as 1 unit = $1 and you are burning the dollar value per second of compute not the unit count. The pricing grid that shows $0.55/DBU should be labeled $0.55/DBU-hour in my opinion. Took me a long time, a couple calls and a poc, to figure out.
As to your second question
And scheduling jobs through REST API is more beneficial then scheduling through ADF => Notebook, right?
Again the question is more complicated that it seems like it should be. I initially said yes it is better, I didn't catch the ADF portion of the question. You can run engineering jobs through ADF by making use of the job cluster option to run your notebooks. If you attach your notebooks through ADF to a premade analytics cluster you will pay the analytics cost. Using the API's you could schedule your notebooks in the built in jobscheduler that databricks provides. My understanding is that is charged at the engineer level of a Notebook and light level if a job library.
Another thing to ask for when prebuying if you go that route is to be able to attach the bucket of units to both your dev/test environment and prod environment. We keep them completely separate networks so we have two workspaces. can both pull from the same pool of units. Depends on your azure setup. We went through Databricks sales when we set ours up but Microsoft should be able to do the same.

Depending on the type of workload your cluster runs, you will either be charged for Data Engineering or Data Analytics workload.
For example, if the cluster runs workloads triggered by the Databricks jobs scheduler, you will be charged for the Data Engineering workload. If your cluster runs interactive features such as ad-hoc commands, you will be billed for Data Analytics workload.
Here is an example on how billing works?
If you run Premium tier cluster for 100 hours in East US 2 with 10 DS13v2 instances, the billing would be the following for Data Analytics workload:
VM cost for 10 DS13v2 instances —100 hours x 10 instances x $0.598/hour = $598
DBU cost for Data Analytics workload for 10 DS13v2 instances —100 hours x 10 instances x 2 DBU per node x $0.55/DBU = $1,100
The total cost would therefore be $598 (VM Cost) + $1,100 (DBU Cost) = $1,698.
In addition to VM and DBU charges, you may also be charged for managed disks, public IP address or any other resource such as Azure Storage, Azure Cosmos DB depending on your application.
Still you have confusion on understanding the Azure Databricks pricing?
I would suggest you to a create a billing support ticket to get more clarity on the "Azure Databricks pricing: B2B subscription vs official page pricing" which you are looking for.
Step1: Go to “Help+Support”
Step2: Under support =>Select + New support request
Step3: Fill Basic details: Issue type*: Billing
Step4: Review + Create
Note: Azure provides unlimited support for subscription management, which includes billing, quota adjustments, and account transfers.
Reference: How to create an Azure support request

Related

How do I calculate the cost of Azure Synapse Analytics?

I need to calculate the cost of the Azure Synapse Analytics. I have used the Azure Pricing Calculator but I could not figure it out. It shows close to USD 2,100.
I have the following components as a part of the Azure Synapse Analytics
Synapse workspace
Self Hosted agent - Standard_B2s
Synapse SQL pool
How do I calculate the cost of Azure Synapse Analytics?
This is a very difficult question to answer, because most of the costs are consumption/runtime oriented.
The pricing calculator defaults are not great, so you'll really want to fine tune it. For instance, you cannot remove Dedicated Pools, but you can set the Hours to 0. It also includes Data Explorer, which cannot be removed. To not include these prices in the calculator, deselect the "Auto select engine instances", and under both Engine V-Cores and Data Management V-Cores, set the hours to 0.
The calculator will NOT include any time for Spark pools (Notebooks) or Data Flows. These are both heavily consumption oriented which will vary greatly based on your runtime choices like pool size. Their costs are based on minutes of consumption, so good luck predicting that.
Here is a sample pricing calculator filled out to describe your situation. The assumptions are below.
you are using a Dedicated SQL pool not a Serverless SQL pool
you have scaled the dedicated SQL pool to DWU100c and left it running 24 hours a day (if you programmatically pause it then that would reduce the cost)
you do not want to commit to running it 24 hours a day for 1 or 3 years and get reserved pricing discounts
in the dedicated SQL pool you have under 1TB of data (compressed) and you have geo-redundant backups enabled
you are running under 1,000 pipeline activities per month on the self-hosted integration runtime, copy activities run less than an hour per month, and other activity hours are less than 7 hours per month.
you are not using other parts of Synapse like Spark pools, data flows, Data Explorer pools, Synapse Serverless SQL, etc.
you are in the East US Azure region
you have a B2s virtual machine with a 128GB premium SSD OS disk and no other attached disks where the self-hosted IR is installed. It is running 24 hours a day. (The VM cost but not storage cost could be lowered if you pause and resume it programmatically)
on the B2s virtual machine you do not want to commit to running it 24 hours a day for 1 or 3 years to get a reserved pricing discount and you are renting the Windows license with the VM rather than bringing your license with Azure Hybrid Benefit
this is retail pricing

Azure Synapse Billing Model for individuals?

This is a question on the pricing model of the azure synapse, how it works, and understanding the cost accrued/accumulated for developers who are doing self-study and exploring/learning the services.
For the same purpose, I purchased a pay-as-you-go service. The first question is -Is it the right scope/subscription for individuals who want to do practice or hands-on with Azure services?
Last Sunday i.e. 19 July 2020 (4 days ago) I provisioned 2 services (SQL server and Synapse SQL pool (data warehouse)).
Synapse SQL pool was set to 100 DWU and the service was immediately paused after creating it.
As per the billing I was expecting only to be charged 1.510 (since I had stopped the service and billing rate of 100 DWU is 1.510 per hour)
However on seeing today, i.e. 4 days since the services were provisioned I am seeing my accumulated charges to be 20.15 .
Does anyone know how this works out to be?
I have raised an SR for this and awaiting a response from Microsoft.
Appreciate it if anyone could give me some leads.
Regards
Lokesh
Did your bill include storage or was the $20 from compute alone? It would be reasonable for Synapse Data warehouse compute+storage: for 1 hour of DWU100 compute and 4 days of 1TB storage in central US region (1h * $1.51 + 4 * 24h * $0.19 = 1.51+18.24=$19.75).
The storage in ”old” Azure Data Warehouse comes with 1TB slots so you will be billed for 1TB even if you don’t use that all. With new Synapse on-demand you can use Azure Data Lake as your storage and it is billed by the actual usage.

Azure Stream Analytics. Pricing

I am looking at pricing information for Azure Stream Analytics using the Azure Pricing Calculator: https://azure.microsoft.com/en-us/pricing/calculator/#stream-analytics378d63b3-303d-4548-afd0-bac5d4249611
I says that it cost 80 USD for 1 month (730 hours).
Is this the idle price?
If i don't send any data to Steam Analytics I will be charged 80 USD a month for having the service deployed. Correct?
Then op top of that I pay for my actual usage in form of streaming units, where a streaming unit, according to the FAQ, is a blend of compute, memory, and throughput.
As a cloud service, Stream Analytics is optimized for cost. There are no upfront costs involved - you only pay for the streaming units you consume, and the amount of data processed. There is no commitment or cluster provisioning required, and you can scale the job up or down based on your business needs.
While creating stream Analytics Job, if you created a Stream Analytics job with streaming units = 1, it will be billed $0.11/hour.
If you created a Stream Analytics job with streaming units with N, it will be billed $0.11 * N/hour.
Hope this helps. If you have any further query do let us know.
NO. You will pay only for what you use. For example if you configure 1 streaming unit and used 10 hours per month (10*0.11). If you configure 2 streaming unit and used 20 hours per month (20*0.11*2)
1.If i don't send any data to Steam Analytics I will be charged 80 USD a
month for having the service deployed.
Quick answer is yes.Based on this document:
As a cloud service, Stream Analytics is optimized for cost. There are
no upfront costs involved - you only pay for the streaming units you
consume, and the amount of data processed. There is no commitment or
cluster provisioning required, and you can scale the job up or down
based on your business needs.
SU is basis of ASA job. Choosing the number of required SUs for a particular job depends on the partition configuration for the inputs and the query that's defined within the job.More details,please refer to this link.
2.Then op top of that I pay for my actual usage in form of streaming
units, where a streaming unit, according to the FAQ, is a blend of
compute, memory, and throughput.
If your data is not updated in real time, or very small,maybe ASA is not your Best choice. You could follow some suggestions in this thread:Azure Stream Analytics job expensive for small data?

What about expenses on unused resources in Windows Azure?

The main question is: do I have to pay for unused resources? For instance, Azure pricing calculator says approximately $30/month for XS box. This includes about 750 hours. What if I don't use them all? This is normal for early stage, while development is in progress.
This is just to make it clear if its cheaper to have a virtual hosting for development and beta-testing purposes.
Not exactly a programming question.
That said: Windows Azure Compute instances are metered by the hour, and metering happens when you have deployed instances (whether running or stopped). If you're doing dev work, deploy for an hour or two (or how long it takes you to test), then delete the deployment. Very easy to delete, very easy to redeploy. Just don't delete the actual hosted service definition (urlname.cloudapp.net, associated certificates, affinity group, etc.). Following this pattern, it's easy to test with 5-10 concurrent instances in a deployment throughout the month - just remember to delete the deployment after each test cycle.
#Bart is partially right about SQL Azure being billed for the month. It's actually amortized daily. This also means: If you set up a 5GB db and only have 99MB on a given day (or days), you're billed at the $4.999 monthly rate / # of days in month). That's about 17 cents daily if you stay under 100MB. And if you delete the db, you're no longer billed.
Same goes for Cache - the cost is amortized daily.
I'd look at the full pricing page here.
You do not have to pay for unused resources in SOME of the services.
In your example, if you deploy a website for 10 hours you will be billed for the 10 hours of usage. PLUS any transactions/bandwidth associated with it.
However, some the services do have a flat fee. For example, if you deploy a 5 gig DB to SQL Azure and u do not use it...u will be billed the monthly rate even if it just sits there.
Also your definition of "use it" needs to be clear. Azure will bill you, if you have ANYTHING deployed. Even if the VM is stopped, you are getting billed. Therefore, the best solution is to:
- monitor your usage (its updated multiple times per day)
- use a free trial, MSDN account or promotion to see what the charges will be
- call MIcrosoft...Azure is the hot thing now and they WILL give you a break on charges if they are within reason.

How to bundle the Azure accounts included in our MS VS Licenses

Our company has until bought a lot VS Pro/Premium and Ultimate Licenses, and each includes a free Azure Account.
At the Azure Info day we have been told the best way would be to bundle them into one big account
(there is just too much overhead if every developer here would register that account on his own).
Do you know how to do this ?
Is there a special account manager we should contact ?
Thanks in advance,
Mathias Held
Each MSDN subscription has its own Windows Azure subscription with a given number of resources allocated per month. Those resources cannot be combined. For example, if you have 10 developers with MSDN Ultimate subscriptions, each with 1,500 Compute hours per month, you can NOT combine them into a single account with 15,000 Compute hours.
Regarding too much overhead: The task of enabling Windows Azure resources is incredibly simple. In fact, if you go to the new Windows Azure portal and sign in with the Live ID associated with your MSDN account, the portal will recognize that there's an associated Windows Azure subscription.
If your concern is that an individual dev won't have enough Windows Azure Compute resources monthly, this is more of an educational issue. At 1,500 monthly Compute hours (and Extra Small instances running at 1/3 Compute Hour), you have enough resources to run 2 Small instances 24x7 (or 6 Extra Small). The prudent advice is to delete all deployments when not in use (e.g. after work hours or between test deployments). This will give you much more breathing room and let you run much larger VM sizes without risk of going over allotted resources.

Resources