cloud services payments - azure

All cloud payments described in hours.
Let's look at situation when server spend 0.75s to generate page and only one time this month (because nobody requested website).
Here is text from AWS and Azure website
"Pay only for what you use. There is no minimum fee. Estimate your
monthly bill using the AWS Simple Monthly Calculator."
"Windows Azure Pricing No upfront costs. Pay only for what you use"
Does it mean that I will pay just for 0.75s or for entire month?

You'll have to pay for one hour:
AWS:
Pricing is per instance-hour consumed for each instance, from the time
an instance is launched until it is terminated. Each partial
instance-hour consumed will be billed as a full hour.
Azure:
Compute hours are billed based on the number of clock hours your
service was deployed multiplied by the number of equivalent small
compute instances included in your deployment. Partial compute
instance hours (prior to conversion) are billed as full compute hours
for each clock hour an instance is deployed.

Related

Azure Databricks pricing: B2B subscription vs official page pricing

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

Windows Azure. Worker role billing

Can somebody tell please what is the billing policy for worker role instance?
Here Cloud Services Pricing at the bottom a FAQ section tells
If my deployed instance is in the "stopped" state, do I still get billed?
Yes, a stopped instance still occupies the compute resource that powers the instance, and therefore you still get billed. In order to stop billing, you need to delete your deployment.
If my web or worker role was deployed for less than an hour, how much do I get billed for?
Cloud services are billed based on the duration of time your service was deployed for. If your instance was deployed for less than an hour or, multiple hours plus some fraction of hour, you will be charged for that duration only. Azure does not round up the partial hour to full hour for billing - you pay for exactly the duration of time that your Cloud Services instance was in 'running' state.
So what is the exact billing policy? Whether a deployed but "stopped" state worker role is get billed or not?
You're still getting billed.
The analogy here is a like a hotel room. If you still occupy a room (deployed) but you're not there (stopped) you still occupy the room and consume resources (the room cannot be reused).

Shared Websites in Azure

If there are only requests to a shared Azure website during day hours (12 hours per day) does this mean the monthly bill would be for ~375 hours? All of the calculator prices are based on 744 hours which equates to one month.
Currently the calculator shows the pricing for one shared website is the same as one small VM so why even have the shared level at all?
Edit: I just found out there was actually a bug in the Azure Calculator.
You will have to pay for every hour (minute from June) your Web site, VM, Mobile service and cloud service has been online/available. This means if you keep your site running for a month, you will have to pay for ~744 hours (average hours in a month).
Microsoft changed the Azure pricing model to a charge per minute your VM is running last month (June). Previous to last month you would also have to pay for each hour even if you VM was stopped. When you stop your VM now, you will no longer be billed for each hour the VM is stopped.
In your case, this means you would have to stop and start your website to pay less per month.
As for the pricing. As far as I know the cost for one shared website is less than the other options (extra small VM, extra small CS, etc).
For example (using the calculator for 1 instance):
Shared Website: €7,21
Extra Small VM: €11,09

Azure Shared Website billing

My shared instance website is costing about £20 GBP per month, and this is detailed as 'Compute Hours' in my bill.
According to Scott Gu's blog
"You pay for a shared mode web-site using the standard “pay as you go” model that we support with other features of Windows Azure (meaning no up-front costs, and you pay only for the hours that the feature is enabled). A web-site running in shared mode costs only 1.3 cents/hr during the preview (so on average $9.36/month)."
According to the azure pricing calculator a site on a shared instance should cost $9.36.
According to the Azure pricing details
"Shared Instance Model
The shared instance model provides support for custom domain names, 1
GB of storage, and unlimited outbound data transfer charged on the
terms of your Windows Azure subscription at the standard Pay-As-You-Go
rates. Up to three instances per Web site may be deployed at an
additional cost.
Under the shared instance model, you will receive the following
benefits:
The ability to assign your custom host or domain name Outbound traffic
charged at Pay-As-You-Go rates; unlimited inbound data transfer 1 GB
storage (shared by all sites) 20 MB of a third-party, MySQL database
Each Web site operated under the shared instance model will be charged
at $0.02 / hour (approx. $14.40 / month) per Web Site instance at
general availability. During preview, a 33% discount will be applied
for an effective monthly rate of $9.60 / month, per Web Site instance.
During preview, all paid shared instance hours will be billed using
the current Cloud Services small compute meter, except we will emit
1/9th of the Cloud Services small compute hours to deliver the
discounted pricing of $9.60 / month per Web Site instance. The monthly
calculation per paid shared Web Site instance is as follows: 720 hours
* 1/9 * $0.12 =$9.60."
So what I am misunderstanding? A shared website at the this moment in time (Jan 2013) should cost less than $10 per month.
EDIT MORE INFO
The price I am paying is exactly 3 times £9.60

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.

Resources