I'm one of the maintainers of CNCF Harbor and I've noticed that while many users run Harbor on Azure, they also have the option of using Azure Container Registry (ACR). I recently talked to some Azure experts who suggested that ACR is always the better choice. But I find that surprising given the feedback from Harbor users on Azure. ACR is indeed simpler and integrates well within Azure, which is great for those who live entirely in Azure. However, some users prefer Harbor for its replication capabilities with other registries, more robust IAM outside of Azure, better organization-wide registry support, and cross-cloud compatibility. I'd like to know what other factors might lead users to favor Harbor over ACR?
5 Answers
The fact that Harbor is open source and doesn’t tie you to a single vendor is a big draw for me.
I run Harbor alongside Google Artifact Registry. Even though I'm not an Azure user, Harbor has been perfect for my business as it lets us manage customer accounts easily through a web interface.
Honestly, it just works well. If we ever need to move from the cloud to on-prem, there won’t be any issues. No vendor lock-in here!
I think a lot of teams want a registry that operates smoothly everywhere—on-premises, across multiple clouds, or in disconnected environments. While ACR is fine if you're fully within the Azure ecosystem, if your organization uses multiple platforms, Harbor makes a lot more sense.
Harbor works well across different clouds, like GCP and AWS, and it has scanning features built in. Plus, it simplifies things—no need to manage OIDC across various clouds for access.

That's definitely our situation. ACR has worked fine for us, but we're starting a project where we need an independent image registry. Choosing Harbor was an easy decision, and we're likely to switch from ACR soon.