The GitOps approach uses Git repositories as the single source of truth for infrastructure-as-code, which ensures all changes to code are tracked — this makes updates straightforward and provides robust version control in case a rollback is needed. GitOps offers:
The customer landscape around GitOps is evolving rapidly. Organizations that have adopted a DevOps culture are now looking to GitOps to further enhance their rate of innovation in applications and code because the methodology lets developers deploy code more quickly, more reliably, and with less manual effort. By leveraging Git-based workflows, GitOps extends the application development process to deployment, application lifecycle management, and infrastructure configuration.
The GitOps approach ensures that every change throughout the application lifecycle is traceable in the Git repository, which in turn makes the app lifecycle auditable. Such a framework allows developers to code at their pace without waiting for resources, while operations teams gain visibility into changes, enhancing overall security.
At Chronosphere, we’ve crafted features that don’t just align with GitOps principles but also directly enhance the everyday developer experience. Some great examples are:
With these features, developers can edit monitors in the UI, preview any changes, and generate the proper code. They don’t need to know the corresponding syntax for Chronoctl, Public API, or an infrastructure-as-code tool, such as Terraform. This means developers can code faster, safer, and automatically generate an auditable repository. Here’s more explanation about what these features do.
The Chronosphere provider allows you to build Terraform configurations to manage your resources from monitors to dashboards. This provider offers parity with Chronosphere’s existing API library such that all your modifications can go through Git and be appropriately tracked.
Since users can still make edits to configurations via the UI or API, now can we ensure a single source of truth. Chronosphere adheres to this by ensuring that changes made via Terraform override any modifications made through the UI or API. This approach guarantees that the state of the infrastructure is always synchronized with the code configuration found in the user’s git repository. This minimizes the risk of configuration drift and provides a consistent and predictable monitoring environment.
Chronosphere has taken strides to integrate GitOps with users’ workflows to ensure that they are able to get the most value out of both the UI and the GitOps flow.
While we acknowledge the benefits of GitOps and Terraform, we also recognize the value of the UI in providing an interactive way to create and edit Chronosphere entities. The UI allows users to visualize the impact of their changes and make subsequent modifications to reach the desired experience.
To bridge the gap between UI interactivity and GitOps principles, Chronosphere offers an innovative feature called Code Config (rolled out to Monitors initially). The Edit Monitor UI page now makes it easier for customers to build and update a monitor by using the visual editing experience – instead of just a command line interface.
It allows customers to make changes in the UI, see the preview of the changes, and export the necessary configuration code with Code Config to persist in the customer’s system of record (e.g. GitHub) before taking it through the GitOps workflow.
This new flow enables customers to:
As organizations rely on myriad data sources and numerous contributors, maintaining visibility and accountability becomes paramount. Chronosphere’s introduction of Version History for Monitors addresses this challenge.
The Version History UI page means users can now view and understand how monitors have evolved over time directly in the product. This enhancement is valuable for users who are trying to follow an application’s life cycle in order to understand its current state. Users can also discover the root cause more quickly during incident management.
Users can view past configuration versions, compare between different versions, and easily understand when changes took place. It supports viewing both changes that came directly within the UI and from external sources via a GitOps workflow. This new feature enables users to:
Let’s look at a hypothetical Chronosphere user — a DevOps engineer named Sally — to understand how Chronosphere’s features can transform observability workflows and how the Git repository helps.
Sally is a DevOps engineer at a fast-growing tech startup. She’s responsible for managing the monitoring configurations for several applications. With the rapid pace of development and frequent changes, Sally often finds herself juggling between the UI for quick edits and Terraform configurations for more structured, version-controlled changes. She needs a way to bridge her immediate UI changes with the robustness of GitOps principles.
One day, Sally discovers Chronosphere’s Code Config feature. This means she can use the familiar visual editing experience within the Chronosphere UI to preview changes, and then automatically generate configuration in her preferred format.
To make a change to a monitor, she previews her changes in real-time with the Chronosphere UI. This immediate feedback allows her to understand the potential impact of her modifications, ensuring she makes informed decisions.
But the real magic happens when she’s done. Instead of her changes being confined to the UI, she can now export these modifications as a Terraform configuration. This means she can apply her changes through her system of record via Git, ensuring that her quick UI edits are still in line with GitOps principles.
A week later, Sally faces an unexpected challenge. One of the applications starts behaving erratically, and she suspects a recent change in monitoring configurations might be the culprit. In the past, tracing back changes would have been a tedious task, because she would have spent time manually comparing lines of code. But with Chronosphere’s Version History for monitors, it’s a breeze. The Version History function provides a log of any code changes to her monitors so she can easily see any updates made over the code’s lifespan.
Sally quickly pulls up the Version History and can see a clear, chronological record of all changes made to the problematic monitor. She identifies a recent modification and gets insights into the source of the modification, be it from the UI, Terraform, or API.
Armed with this information, Sally quickly collaborates with her team, rolls back to a previous stable configuration, and resolves the issue. The ability to trace back changes and understand their context proves invaluable, turning what could have been hours of troubleshooting into a quick fix.
For Sally, and countless users like her, Chronosphere’s features are more than just tools; they’re workflow enhancers. Whether it’s the seamless fusion of UI interactivity with GitOps principles or the safety net provided by the version history, Chronosphere ensures that users are always equipped to handle the challenges of modern infrastructure management with confidence and efficiency.
At Chronosphere, we fully embrace and support the GitOps workflow that customers are striving for but also want to ensure that the developer experience is kept intact and even enhanced. Through our efforts with the Terraform providers and recent capabilities of Code Config and Version History, we will be able to enhance the developer experience.
Stay tuned to this space because there will be more coming in the future on the Chronosphere and GitOps front!
Request a demo for an in depth walk through of the platform!