-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding storage as a service #143
Comments
Adding a note, I previously asked CCF to update their replication factors here for AWS and S3 Standard (change from 3 to 6 the replication factor). |
I think of 2 potential difficulties for this. 1. Each provider provides different classes of service for a given bloc storage service.Taking the example of Azure, bloc storage can be Standard, Premium or Ultra, meaning more IOPS as you choose a higher performance class, so probably more performance driven infrastructure behind. This probably doesn't mean more infrastructure, but it most probably means higher end disks. 2. Infrastructure is probably very different depending on the storage service types3-like storage means at least (base on what you can find in an open-source s3-like implementation like Ceph object storage / Rados Gateway):
bloc-storage on the other hand might be a bit simpler, containing at least :
Filesystem storage might be in the middle, needing less components than object-storage, but still being more complex than block-storage. I imagine part of the modeling should account for the difference of complexity somehow. I'm not sure how those two items should be implemented, but I think this is a modeling discussion worth having. |
Extra note for the hackathon on May 24th: Could we and how could we, account for the impact of not only storing data on a given storage service, but also accessing and writing this data ? I hardly imagine we could use something finer than a per GB impact factor regarding network traffic, probably different for each type of service, and maybe something very estimative regarding the compute part for delivering the data (that might be more important in object storage than other services). |
Content of the framaform hackathonOrange2024: Object storage impacts Formula Impact Use = FE_elec * PUE * conso_storage(storage_class) * Storage_user * resiliency_cost(storage_class) * Remplissage + Compute conso(storage_class)
Resiliency_cost(storage_class) = ( Bytes physiques Nécessaires) / (Bytes utilisateur resilient) Impact Fab = Fab(temp) + compute Fab(temp) = FE_fab_fixe + FE_fabvariable * densité * Reservation * resiliency_cost * Remplissage r FE_fab_fixe: exemple cout du casing S3 : Azure object storage:
Exemple One Zone (cas un peu particulier du S3)
Autres sources d'info: Dénomination azure des classes de redondance: Visualiser les couts du versioning S3
Cout des versions d'objet dans S3
Cas d'usage S3
Block Storage
|
note : add usage time dimension to the formula |
Problem
Most of the cloud instances we implement doesn't include storage since cloud providers offers storage as a service which can be linked to an instance. We should add a way to compute the impacts of storage as a service from the impacts of storage components.
Solution
General case
Create a storage_as_a_service router.
We should compute the impacts of a classic disk from user (or default) characteristics :
And compute the impacts per unit of storage from the value given by the user to finally get the impact for the total amount of storage used by the user.
impact = ((impact(disk) / disk.capacity) * usage.storage) * replication
archetypes
We could pre-record some values to complete the fields with the characteristics from specific type of services from specific providers.
Most of the value will be hard to get for specific providers. Replication factors have been gathered for GCP, AZURE and AWS here : https://docs.google.com/spreadsheets/d/1D7mIGKkdO1djPoMVmlXRmzA7_4tTiGZLYdVbfe85xQM/edit#gid=735227650
The text was updated successfully, but these errors were encountered: