Hi, my name is Thomas Weiss
and I’m a Program Manager in the Azure Cosmos DB team.
In this video, I will guide you through the different offers that are available today
or will be available soon –
on Azure Cosmos DB.
When using Azure Cosmos DB, you pay for the storage consumed by your data,
and for the operations you perform against the database.
Any operation you perform
consumes some amount of database resources expressed in Request Units, or RUs
 
So choosing the right offer is all about choosing
how Azure Cosmos DB will deliver these Request Units
whenever you’re using the database.
The first offer that’s been available on Azure Cosmos DB since the service launched
is provisioned throughput.
This offer lets you configure the amount of throughput
you expect the database to deliver,
and requires you to plan for the right performance level
to cover your application’s needs.
Note that this offer delivers throughput,
expressed in request units per second.
So, by configuring my database at 5,000 RU/s,
I’m guaranteed that this amount of throughput
will be available,
which is great for applications that receive sustained traffic.
I also get very strong guarantees
over the latency and availability of my database.
Now it’s pretty rare that request traffic
is as steady as shown here,
and actual traffic usually varies over time.
This can lead to unused capacity
if the amount of throughput we have provisioned
is substantially higher than the throughput my application consumes.
When traffic patterns are predictable,
Azure Cosmos DB lets you manually change the amount of provisioned throughput
to make sure that the capacity you provision
matches the capacity you need.
What if my traffic patterns are unpredictable?
In this situation, it’s impractical, or even impossible
to use manual scaling because we never know when we will need more throughput,
and when we will need less.
That’s when autoscale comes into play!
In this mode, you only have to configure a maximum amount of throughput
you expect your application to need.
Then, Azure Cosmos DB will automatically scale your provisioned throughput
up and down to accommodate your application’s requirements
within a range than spans from the maximum level you’ve configured,
down to 10 percent  of that maximum.
Autoscale delivers the exact same promises,
and is the best solution when you have unpredictable traffic patterns,
but also need guaranteed performance.
The provisioned throughput offer we have covered so far
lets you provision throughput capacity…
but what if I don’t need any real throughput?
When performing development or testing activities
or even when running small, non-critical applications,
our database may just sit idle most of the time,
and only needs to process requests occasionally.
We can certainly use autoscale here again a
as it will dynamically scale up the delivered throughput
whenever a request kicks in.
But because the time granularity of autoscale is one hour,
and because it always provisions at least 10 percent
of the maximum throughput you’ve configured,
this would still represent unused capacity.
To best accommodate this kind of workload,
we are introducing a new offer: serverless.
Azure Cosmos DB serverless
is going to be a pure consumption model.
Where only RU/s consumed by your request will get billed,
eliminating the concept of provisioned capacity
that isn't required in this scenario.
This new offer will launch in public preview in just a couple of months.
In this video, we have explored the provisioned throughput offer
that is available today on Azure Cosmos DB
and the new serverless offer that will become available very soon.
By efficiently addressing any traffic pattern,
this comprehensive offering ensures that Azure Cosmos DB
is a cost-effective solution for any workload.
