Adding another vote for this addition. I am encountering customers who are operating inside Azure and are either uninterested or unable to use a different provider for object storage, and using Minio as a self-managed alternative is less than ideal for large customers that do not want to be responsible for maintaining that part of their infrastructure or are concerned about scalability.
I have gotten an increasing number of questions about this from customers who are planning to migrate their GitLab instance, or already have migrated, to Azure. Do we have any updates on what would be required to implement native Azure Blob support? With that, any sort of updated timeline to see this added to GitLab?
1,600 seat premium customer is requesting this feature, would allow them to significantly simplify their backup process. ZenDesk ticket # 157006 (internal link).
@fzimmer do you have thoughts on this regarding backups? I'm not sure this is going to ever align well with the work that ~"group::ecosystem" is doing. Can you help me find the right home for this?
I actually believe there's an argument to be made that this is devopsenablement, specifically groupdistribution. This isnt specific to backups, it's specific to making GitLab loveable on all cloud platforms inclusive of Azure. @joshlambert thoughts?
@vkelkar is this something Alliances might be able to drive?
Our documentation suggests using a MinIO Gateway which, while functional, adds complexity and a single point of failure for the storage layer. It essentially means that an Azure environment that uses Blob storage cannot be fully HA.
They're not- as a consequence, my aforementioned customer has block storage in excess of 1.7TB and finds backups to be quite a painful process to manage. It's also contributing to poor performance in general for their gitlab instance.
Our reference architectures recommend the use of object storage for LFS, Uploads, Artifacts and other high contributors to disk utilization "due to better performance and availability.". Customers in azure can't (easily) make good on this recommendation.
Given Azure's place in the marketplace now, I think we should just add the gem and direct support into GitLab. I think we just need to load the fog/azurerm library
Agree @stanhu. @ayufan this isn't performance or memory related, but it's also not very clear where in GitLab this would fall from a responsibility standpoint. Do you have an idea of which group may be best suited to do this change?
Not having support for the #2 cloud provider is a pretty large gap.
@joshlambert In general, I think we need to assign object storage support to a specific group, but object storage touches so many different parts of the system (CI artifacts, LFS, upload attachments, etc.) whatever choice may be arbitrary (and that's okay, just as long as there is clear ownership). For example, adding fog/azurerm for backups might fall under the Geo purview, but then adding direct upload support would have to fall to another group (Plan, Create, etc.).
@stanhu I'm not sure any group is really set up to handle something like all of object storage, as it is a fairly significant amount of work. Personally I think we should try to prioritize the items and then find individual groups to drive forward from &483.
We can re-evaluate in FY21, but I'd vote for trying to find a way to load balance these across the feature group areas to avoid a concentration of "platform" type work in a group or set of groups.