see on GitHub

RavenDB on the Cloud: Overview

Running RavenDB as a cloud service frees you from operational overhead by passing much of the administration to the hands of RavenDB's developers and allowing them to maintain and optimize your instances for you, take care of cluster operations like adding or removing nodes, and run recurring tasks like backing up your data.


What do you get?

Some of the key reasons for running RavenDB on the cloud are -

  • The high availability of a cloud service.
  • The constant monitoring and healthcare of your products and their accommodating equipment.
  • Your insulation from the cloud infrastructure's administration as we handle and continuously optimize it.
  • The high security level.
  • Regular backups to your database and settings.
  • Our support.

Your Account

Your cloud-RavenDB account gathers your products' information, your own details, and your contracts and billing data. We create your account and send you a link to its Portal as soon as you finish registering, so you can immediately start creating and handling your cloud products.

Register Your Account

To create a new account, enter https://cloud.ravendb.net/user/register and allow the wizard to walk you through the 4 simple stages of the registration procedure:

  1. E-Mail
  2. Domain
  3. Billing
  4. Summary

1. E-Mail

"Registration: Email Address"

  • Provide your email address
  • Read the terms & conditions and the privacy policy, and click the accept checkbox if you accept them.
  • Click the Next button

2. Domain

"Registration: Domain Name"

  • Enter an unoccupied domain name of your choice, that would be used for your cloud products.
    The domain name is typically your organization or project name and will be used in all your products' URLs. The procedure will check this name's availability, and if it's free - let you continue using the Next button.
    -or-
    If you prefer not to currently provide a domain name, use the Later button.
    You will still be required to provide a domain name, but it will happen later on when you create your first product.

3. Billing

"Registration: Billing"
"Registration: Billing"

  • Enter your billing and payment information and click the Next button
    -or-
    Click the Skip Billing Information button if you prefer to evaluate the cloud service for now using the free product.

4. Summary

"Registration: Link"

  • Verify your choices, confirm you're not a robot and click the Sign-up button to register your cloud account.

  • The sign-up process will send a registration link to your email.
  • Click the link to enter your account. No password required.
  • The link will expire after a while, use the login page to re-visit your account.

Login To Your Account

To access your account, click https://cloud.ravendb.net/user/login.


Login

"Login"

  • Enter the same email address you provided during registration, confirm you're not a robot and click the Send Magic Link button

  • The login procedure will send you a message with a link. Click the link to enter your account, no password required.

The magic link is expirable to make sure each visit is logged and keep account activity trackable and more secure.

An account can currently be managed by a single operator, we will soon add multiple-operators management.

RavenDB on the Cloud

Instances, Provisioning and RavenDB Products


Cloud Instances

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.


Provisioning

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.


RavenDB Products

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.

RavenDB Tiers

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.


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.


Tier Sub-tiers CPU Options SLA
Free - Very low None No
Development Dev10-Dev70 Very low - High All Yes
Production By CPU Priority (Basic/Standard/Performance)
By Cluster Size
Up to extra performance, high network and reserved NVMe All Yes

Burstable vs. Reserved clusters

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.


Burstable Instances

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.


Throttling Warnings

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.
Throttling Is Coming
Throttling Is Here


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.
Current Budget
Note that the figures relate to CPU seconds; for CPU minutes, divide them by 60.
E.g., "MaxCredits": 8640.0 means your instance can accumulate an entitlement for up to 144 minutes of full CPU usage.