Search⌘ K
AI Features

Multitenancy in Tectonic

Explore how Tectonic handles multitenancy by efficiently sharing storage and ephemeral resources among multiple tenants. Understand static and dynamic resource allocation, traffic group prioritization, and access control mechanisms that ensure performance isolation and secure data access in a consolidated storage system.

Preamble

Remember that one of the primary goals of Tectonic is to efficiently utilize storage resources for many use cases of multiple groups of clients. We call these groups, tenants. Multitenancy allows multiple tenants to share underlying resources, though the challenge is to do so in a way that there is performance isolation between the tenants’ workloads.

Multitenancy
Multitenancy

Multiple tenants were using their dedicated, special-purpose storage systems. When they will migrate to our system, they want the following:

  • A sufficient amount of resources as per their needs.

  • Performance similar to what before, via their custom storage systems.

On the other hand, we want our system resources to be shared such that:

  • Sharing is high where resources are fully utilized (not stranded).

  • Sharing is fair in the sense that each tenant gets what it wants but cannot overstep others.

  • There is performance isolation between the tenants.

This lesson discusses the issues above and their solutions in detail. The high-level summary is as follows:

  • Static vs. dynamic resource allocation: Tectonic system uses quotas for some resource types (for example, storage capacity), which are adjusted manually since needs change. Additionally, such resources are isolated from others, for example, on different storage nodes.

  • Application priorities within a tenant: Since each tenant can have many applications, Tectonic enables a tenant to mark each application in one of the available traffic groups. It is similar to the nice values We use nice values in the Linux operating system to set the priority of the process.associated with processes in the Linux operating system. They convey relative priority to our system.

  • Across tenant priorities: Tectonic then takes all the traffic group markings from all the tenants and then sorts them into one of the three service buckets. (It is analogous to the multi-level feedback-based queues in the Linux OS, where each ...