GitLab no longer requires NFS: The road to Gitaly v1.0

This post details the migration from NFS to Gitaly for Git storage on GitLab.com. It describes the challenges of vertical scaling, the decision to move to horizontal scaling using NFS, and the subsequent disadvantages of NFS such as reduced visibility and single points of failure. The introduction of Gitaly, a new Go-based service using Protocol Buffers and gRPC, is explained as the solution to remove NFS dependency. The post highlights the iterative migration process using feature flags, monitoring with Prometheus and ELK, and the extraction of Rails Git code into a reusable library. It also discusses challenges like N+1 problems in the new architecture and the eventual successful unmounting of NFS volumes in production. The next objective is to enable all customers to run without NFS, with administrative tasks slated for v1.1.