Common challenges with GitOps
Even with the best tools in your stack, GitOps will be a big change for your teams, so be prepared to come up against some challenges. Remember, you need a mature DevOps culture for GitOps to work well, and even then, it won't solve all your problems. Here are a few potential pitfalls to keep in mind.
Collaboration doesn't always come easy
The GitOps approval process requires developers to create a request after making a code change, and then an approver merges the change before it's deployed. People who think this is long-winded might still try to make changes manually or directly in production.
It's about infrastructure and deployment only
GitOps will not impact how you compile codes, run tests, take care of security, or analyse your SDLC. It applies to one part of the life cycle – infrastructure and deployment. You can't rely on it to fix problems elsewhere.
You need to be using Git
For GitOps to work, you have to create pull requests in Git. There's a clear assumption that you and your teams are already using Git and pull requests. If not, there's a steep learning curve, especially when it comes to colleagues with zero experience with both.
Bigger isn't always better
Larger organisations might struggle with the sheer volume of repositories, environments, and applications they need to stay on top for GitOps to work well. They also need to ensure everyone across the business is keeping clear records of their pull requests and issues, which can be tricky. Using a dedicated tool like Argo CD can help. It provides a separate UI to look at all your GitOps-enabled repositories, letting you make changes automatically.
GitOps workflows can be complex
The more environments you have, the more complex your application and its infrastructure becomes. The same goes for managing repositories across multiple apps with multiple environments. You'll need to consider your repository set-up, where people make changes, and who's responsible.