Open nuclearcat opened 5 months ago
Has there been any actual solution design already for how to manage storage in production with the new API & Pipeline?
We are using Azure Files as before, at moment, and as discussed at meetings we will keep using it, unless we face significant issues. If necessary we can migrate to better storage later on, it is not a priority right now.
Right, so still no documented design for production. I was just intrigued by the word "improvement" as you can only improve based on something that exists. Are there actual good reasons to stick with Azure Files or is it just due to lack of time to research alternatives?
There are indeed several options for storing files in the project, and they do exist, and the project is somewhat far from being called “production”. At the moment we are discussing an option that MAY be used in production.
Short summary:
This proposal is about reducing costs for storage, and increasing retention period for data with half of the budget. :)
Details:
At current moment we are using for production storage managed block device 4TB. Cost is approx $450/month, which means approx $0.11/GB/month if we use it fully. Right now we are using 69% of capacity, which means we are paying approx $0.16/GB/month. Also problem we are facing that we are running out of space, and we need to extend it, which is painful from sysadmin POV and engineering hour costs.
Project generating in average 40GB of short-living data per day. (kernel artifacts) which is about up to 280GB per week, and 1.2TB per month. We have also long-term stored items (rootfs): 500-1000GB.
We are looking for a cheaper solution and reduce budget for storage twice.
I propose following:
Initial budget: $225/mo
Remaining budget: $102.2/mo
Option A:
Outcome:
Option B:
Outcome is almost the same as in Option A, but with longer retention period.
Option C: Hybrid scheme, where we might keep some files in "Cool" storage, and some in "Archive" storage. More likely that kernel developers will need artifacts from last 2-3 months, and older data will be needed rarely, for example in debugging some exceptional cases (for example kernel that was working 1 year ago, on rebuilding same doesnt work anymore).