Skip to content
On this page
Designing Principles Behind GreptimeCloud — Our Seamless Database Cloud Service
GreptimeCloud is designed as a fully managed database cloud service at an enterprise level, with a focus on time-series data. Currently, it has achieved its initial milestone of allowing internal testing to be open for applications. This article will explore the design principles of GreptimeCloud with the goal of creating a smooth and efficient user experience.
ByNing Sun
• March 15, 2023

From the very beginning of its establishment, the Greptime team set the goal of building a cloud-native database and started the work of extending GreptimeDB into a fully managed cloud service, namely GreptimeCloud.

Now, GreptimeCloud has reached its first milestone: open application for internal testing. To gain a deeper understanding of the experiences and challenges faced by users of time-series data, and to offer more specific database solutions, interested users are welcome to participate in our user survey. We will invite eligible users to take part in early testing to experience GreptimeCloud.

GreptimeCloud is more than just deploying GreptimeDB on cloud providers. As a DBaaS product, what it emphasizes more is user experience, efficiency and meeting customer requirements. Here we will share four design principles when building our reliable and smooth cloud product.

Serverless is the best experience

Serverless has become a trending topic in recent years. However, it doesn't literally mean operating without servers. Rather, it simply implies that users can enjoy the product without the need to worry about servers.

When the concept of Serverless first emerged, it was primarily focused on Serverless Computing, the concept of unawareness of computing resources like BaaS (Backend as a Service), represented by Google App Engine and FaaS (Function as a Service), represented by AWS Lambda. However, with the evolution of Cloud Computing, Cloud vendors have started offering Serverless Database products, such as AWS Aurora Serverless and Google Cloud Firestore.

Serverless is more than a technology, but is also a kind of experience. Different from traditional cloud products, serverless services do not sell you CPU and memory directly. A well-abstracted serverless service does not want users to perceive the boundaries between these physical resources, but rather to focus more on the application itself.

  • Customers no longer pay for resources but usages. Capacity planning can be simplified to measure your usage, instead of translating it to resources with stress tests (our services will complete this step for users).

  • Usages are strictly isolated and protected. We abstract all operations on the cloud to corresponding control units which can be bought directly as customer capacity. Our rate-limiter will protect customers from issues like noisy neighbours and unexpected traffic bursts.

  • Scaling is just allocating more or less control units, as there will be no server in this abstraction. We will deal with resource scheduling for you: spinning up additional containers, putting data into the right places, finding them when query comes and executing queries with capable resources.

Single binary experience with the speed of parallel

GreptimeDB is designed to scale from a single binary to a multi-tenant cluster. GreptimeCloud is the most important instance of the latter. We strive to provide a consistent user experience, whether using a single binary or cloud solution. This allows for local code to be easily ported to the cloud without modifications.

Hiding the complexity requires some of the features to be reimplemented in a distributed manner. Additionally, leveraging commodity object storage also adds work to fill the performance gap.

  • Automatic data placement: we will split your data when it becomes too large or hot, and will schedule resources to hold the load.
  • Splitting and executing queries and scripts in parallel should be seamless for the user, except for the noticeable improvement in speed.
  • Compute-Storage separation without sacrificing performance.

Continuous upgrades

As a new player we would like to ship cool features to our customers as soon as possible, and that's one of the benefits from using a cloud service. Maintaining and improving a stateful service can be a challenging task, requiring constant effort from our development and SRE teams to ensure the continuous delivery of updated versions for each component.

We introduce architectural and operational principles to safeguard the upgrades.

  • The state is minimised to certain components, replicatable and continuously monitored.
  • Clear separation of the data plane and control plane.
  • Features should be managed, gradually available and rollbackable.

Fitting into your squad painlessly

In Greptime we value your time adopting our products. The open-source GreptimeDB is already compatible with multiple protocols used in the data world. In GreptimeCloud, we enhanced GreptimeDB into our Managed Prometheus Backend with the same philosophy. Customers who use Prometheus and Prometheus-compatible solutions can port their deployment to GreptimeCloud in minutes.

Our aim is to seamlessly integrate with users' current time-series data stack, offering added benefits such as scalability, efficiency, long-term storage, advanced data management features, and operational ease.

GreptimeCloud will continue to develop into an enterprise-level fully managed cloud service that focuses on the field of time-series data. We offer top-tier security, reliability, scalability, and compatibility to help our users focus on their core business development.

To deliver better product experience, we would like to understand our users' migration needs. If you have any experience or suggestions to share, or if you're interested in collaboration or a product trial, we invite you to participate in our user research. Alternatively, you can join our Slack community. We will respond to your inquiry as soon as possible.