Instances, Provisioning and RavenDB Products
A cloud instance is a RavenDB server, allocated for you on a cloud provider like AWS or Azure.
Your cloud instances are fully managed by RavenDB Cloud, including security, monitoring, backups and patches.
You get operator-level access to your RavenDB instances, and can perform most admin operations on your own.
Each RavenDB product is provisioned as many instances as it requires. A production cluster for example is
allocated three instances at a minimum, while a development server's single node is allocated a single instance.
Your RavenDB product can be a single server or a multi-node cluster.
Each server or cluster-node occupies a single cloud instance.
Different instances are equipped to your specifications to accommodate your different products and
may be considerably different from each other in features, capabilities, and cost. The instances of
a basic production cluster, for example, are burstable,
while those of a higher-grade production cluster are reserved.
There are three types of RavenDB cloud products. They are explained in detail in the
Tiers and Instances section, in the meantime - here are
a few words about each.
The Free Tier
This tier offers a single product: a single-node RavenDB cloud server designated for experiments and evaluation.
It is operated by a low-end instance that is shared with other users and is equipped with the community subset of RavenDB features.
You can have only one free instance in your account. If you don't use your free instance for 30 days, it will be terminated.
The Development Tier
The development tier offers a set of server configurations that can handle increasingly
higher CPU load. All configurations are single-node servers, but a development server is equipped
with RavenDB's full features set.
Though superior to a free instance, a development instance still runs a single node on shared
hardware and is designated for development, not production.
The Production Tier
A production configuration is a full RavenDB cluster of at least three nodes. You can choose its
components using the Portal from a set of pre-selected templates, or contact
us and we'll custom-tailor your product for your specific production requirements, i.e. with a specific
HW selection or a multi-region cluster.
||Very low - High
||By CPU Priority (Basic/Standard/Performance)
By Cluster Size
|Up to extra performance, high network and reserved NVMe
Burstable vs. Reserved clusters
Reserved clusters are production clusters of grade Standard or Performance. Their resources are
pre-allocated and can be used only by them. Designed to run production systems with demanding workloads,
these are the workhorses of the RavenDB Cloud.
Free instances, Development instances and low-end ("basic") Production clusters are operated by
"burstable" CPUs. Such clusters are suitable for small to medium production loads but are limited
in the total amount of resources that they can consume.
RavenDB's burstable instance allows you to consume more resources for a short amount of time but will
throttle operations if the cluster uses more than its fair share of system resources.
Such clusters are useful because a RavenDB Cloud balances resource usage among the instances in the cluster.
If you expect moderate usage (with some peaks), choosing a burstable option can allow you to save about 20% of your costs.
Upgrading from Burstable to Reserved
The RavenDB Cloud allows you to upgrade from a Basic production instance to a Standard or
Performance cluster at will, with no impact on your system availability.
Budget, Credits and Throttling
Burstable instances are given a budget of CPU credits.
Credits are consumed when the instance uses computing and I/O resources, and are accumulated, up to a certain limit, when resources usage is low.
Burstable INSTANCES and throttling
When an instance's budget is consumed, its services are throttled.
For example, Indexing may be delayed and Requests may be denied.
We throttle by denying resources, instead of charging you more.
RavenDB Cloud automatically attempts to balance the load between your cluster nodes.
Burstable CLUSTERS and throttling
Basic-grade production clusters are burstable: each node of such a cluster
is accommodated by a burstable instance.
When the budget of a burstable cluster is drained or nearly so, the cluster automatically shifts the workload to cluster nodes that still have
credits to work with.
If the amount of work you're performing is large enough to drain the entire cluster's budget, it may still be throttled.
Use a suitable configuration.
The stronger your burstable instances are, the less susceptible they are to budget drainage and throttling.
If you are regularly warned or your product is actually throttled, consider upscaling its configuration.
Your instances will warn you when their credits are about to drain up, and inform you when throttling is performed.
They will also perform preemptive actions to lower resources usage.
How much is a CPU credit, and what's in my budget?
A single credit represents using 100% of the CPU for a full minute out of an hour.
You can view what's currently in your instance's budget, by adding
/debug/cpu-credits to its URL.
Note that the figures relate to CPU seconds; for CPU minutes, divide them by 60.
"MaxCredits": 8640.0 means your instance can accumulate an entitlement for up to 144 minutes of full CPU usage.