-
Notifications
You must be signed in to change notification settings - Fork 115
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
colossus: add s3 compatible object storage backend #4981
Comments
@mnaamani there is a an NPM https://github.com/pkgcloud/pkgcloud#storage package that provides a unified interface to all/most of the obejct storage colud services, Maybe we can look into this and see if it meets the requirements |
Adding links that might be useful for testing/development: https://ytykhonchuk.medium.com/mock-amazon-s3-bucket-for-local-development-889440f9618e |
I have rewritten your points @mnaamani, to make sure I understand what you are saying RationaleThe usage of Colossus storage is reaching levels that are challenging to manage with standard retail Bare Metal Storage Options, primarily due to the excessive storage capacity demands. The proposal suggests leveraging a cloud storage provider for hosting the Object Request FlowBelow is a diagram illustrating the flow for a graph LR;
Argus[Argus] --> Colossus[(Colossus)] --StorageAPI--> CloudStorage[(CloudStorage)];
Decision PointsCaching Policy
Choice of Storage APIStorage Bucket Concept: A storage bucket is a primary container for data, files, and objects in cloud storage services.
Bucket Access for Colossus Nodes
Open Questions
|
Quick thoughts:
|
ok so this means that during the synching process, instead of locally downloading the assets the Colossus node stores them into S3, right? And this process should cost to the operator less as possible in terms of AWS billing |
I think the objects still need to be downloaded local first so their hash can be verified |
AWS SDK is available also in typescript https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/#Usage_with_TypeScript Questions
|
On Caching policy I say there shouldn't need to be any caching done in colossus.
That said for a current operating transitioning to s3, there may be a period where it might serve objects from its current local store if they have not been moved to s3 yet. |
Background
With the explosive growth in demand on the storage infrastructure, and as suggested on multiple occasions by Storage lead, scaling the storage capacity of the storage node can be achieved by storing data objects on an object store built on top of clustering technology which allows dynamic growth of the capacity with limited disruption. eg. AWS S3, Ceph cluster + Object Storage, S3 compatible object stores from other cloud providers
Proposal - add support to store objects in object store.
Notes
The text was updated successfully, but these errors were encountered: