If you work in development or IT Ops, you probably spend much of your day staring at dashboards — a reality that makes IT work much less glamorous than it might sound. We use dashboards to manage code repositories, track builds, coordinate deployments, monitor software in production, and much more.
Indeed, you probably have dashboards that aggregate data from other dashboards, because otherwise there would be so many dashboards that you would not be able to keep track of them all.
If you’re tired of drowning in dashboards, there’s hope. With the help of GitOps, a new approach to managing software delivery, we can remove many of these dashboards from our lives and replace them with a streamlined, centralized management interface based on configuration files and pull requests.
Here’s what the GitOps-driven, dashboard-less future will look like.
What is GitOps?
To understand how GitOps can help save us from the dashboard deluge, you first have to understand what GitOps means.
In a nutshell, GitOps entails using Git and pull requests to manage all stages of modern software development. Whereas developers have traditionally used Git only to manage application source code, GitOps uses Git and pull requests to share information and coordinate activities at all stages of software delivery, from initial code design through app deployment and infrastructure provisioning.
In this way, GitOps delivers a host of key benefits:
- Engineers are not interrupted in order to manage the CI/CD process, infrastructure, security, etc.
- GitOps automatically creates a clear audit and reporting trail. This provides an added security benefit while also simplifying compliance.
- By codifying everything — i.e. infrastructure, security, monitoring, CI/CD — you can automate everything and move even faster with lower friction.
- With Git being the bridge between development and production, automatic policy enforcement is possible. Every change (pull request) can be validated automatically and blocked if needed before merging into a production environment.
- While Git is a single tool and requires users to master a relatively small set of principles in order to take advantage of it, the tool can be accessed through multiple interfaces — a web interface like GitHub or the command line, depending on your preference. Thus, GitOps provides the advantages of having only a single tool to work with, while still offering flexibility to use the tool in different ways.
Why GitOps is the Antidote to Dashboards
At first, it may not seem entirely obvious how GitOps can replace dashboards. Dashboards are used primarily for monitoring information, whereas GitOps is a way of managing steps along the development pipeline.
But when you realize that modern software development is really just a stream of data and related events, using GitOps to replace dashboards makes sense. Instead of relying on dashboards to display the data you need to write, build, test, deploy and monitor applications, you can configure these tasks via YAML files, and act upon those files using pull requests.
This approach offers benefits that stem beyond simply removing dashboards. By representing the processes and events that you need to monitor as code, you make their configurations easy to repeat, modify and automate (not to mention that you can manage them all through a central system, Git).
Conclusion: GitOps and the Future of Dashboards
For the record, I’m not suggesting that dashboards will completely go the way of the dodo bird. We’ll always use dashboards for some tasks.
But I think most developers, Security, and DevOps engineers would agree that we would benefit from having fewer dashboards in our lives, and from making sure that when we do use a dashboard, it’s because it delivers truly valuable information, and not because it’s our only way of configuring and performing monitoring for a given type of data. GitOps will help get us to that future.
I’m co-founder and CEO of datree.io, a code policy enforcement solution for confident and compliant code. I’m a technical evangelist with a particular interest in Cloud Computing and Modern Software Development.