Ivan Andika created HDDS-15215:
----------------------------------

             Summary: Multi tenancy in HDDS layer
                 Key: HDDS-15215
                 URL: https://issues.apache.org/jira/browse/HDDS-15215
             Project: Apache Ozone
          Issue Type: Improvement
            Reporter: Ivan Andika


This is just a loose idea.

Currently multi tenancy in Ozone refers to namespace level multi tenancy while 
there are no concepts of a "tenant" in the HDDS layer (although there is a 
concept of "owner" which is now set to the OM service so that different OM 
services will not share the same container). However, in storage system 
literature multi-tenancy refers to the ability of storage system to isolate its 
"tenant" (each tenant might have different use cases and performance 
characteristics) while at the same time use the same shared resource pool.

>From Tectonic paper [1], there are two challenges
* Tenants must share resources while giving each tenant its fair share (i.e. at 
least the same resource
* Tenants should be able to optimize performance as in specialized systems
In Tectonic, they use a concept of TrafficGroup to try to isolate some traffics

Currently, we have a loose isolation logic in containers and pipelines for HDDS 
layer, but any number of tenant in an OM service can share the same container 
(i.e. there is no relation between namespace and block space) which might 
affect tenant's performance. In my opinion we can think deeper on how namespace 
and blockspace can relate to each other. We can see at the old Ozone 
presentation 
(https://www.slideshare.net/slideshow/ozone-an-object-store-in-hdfs/49578502, 
2015) which envisioned that one container is in charge of a range of keys. The 
point is that we can make Ozone container to carry more meaning than simply "a 
collection of blocks".

We can also extend Ozone volume to be unit of tenancy instead the current use 
case of namespace isolation.

Related resources
[1] https://www.usenix.org/system/files/fast21-pan.pdf
[2] https://kubernetes.io/docs/concepts/security/multi-tenancy/
[3] https://docs.min.io/aistor/administration/multi-tenancy/
[4] 
https://learn.microsoft.com/en-us/azure/architecture/guide/multitenant/approaches/storage-data




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to