Hygieia 3.0 - Contributing to Our Expanded Open Source Roadmap
As our DevOps dashboard Hygieia enters its third year, big roadmap changes are afoot for this popular OSS project.
Released in 2015, Hygieia is, at its heart, an aggregation platform. It reaches out into various systems in your enterprise, grabs relevant information, saves it, and makes it available via a dashboard view. Originally, the information it grabbed related to a dev’s-eye view of the CI/CD pipeline, and unsurprisingly, the primary users of this dashboard have been development teams.
Our contributor community has spent two years increasing the utility of this dashboard by writing new collectors — plugins responsible for grabbing information from your tools to display on the dashboard — for Hygieia. Contributors continue to expand the collector ecosystem, haven written over 55 collectors for the DevOps dashboard.
But devs aren’t the only group that could benefit from a visual interpretation of their pipeline and a set of collectors tailored to their workflow. With Hygieia 3.0, we aim to expand the utility of this dashboard to executives, allowing them to manage maturity and risk across the enterprise with new capabilities we’re developing.
The two use cases we’re exploring for development in Hygieia 3.0 are:
- A new dashboard for executives and managers
- Capabilities for auditing in release management
1. Executive Dashboard
The vision for this dashboard is for it to digest metrics across all of your applications to provide you with aggregated metrics for all your projects. You will be able to see, for example, how much test coverage there is across your portfolio and how many known security violations exist. The metrics will aggregate based on your organizational level and to aid in this, a Hygieia collector will be able to hook into your configuration management database to discover who owns which applications and what the organizational structure of your company is.
2. Auditing in Release Management
A second initiative that we are exploring is positioning Hygieia as the auditor for automated releases. Hygieia provides insights into not only the health of the CI/CD pipeline but the quality of what is going into production.
We aim to enhance Hygieia to collect all the information necessary for a release review. If Hygieia shows there are security violations in artifacts to be deployed, if there is an open source library that includes the wrong kind of license, if automated test coverage is below the standard, if these metrics are not available — all these cases would result in the release being automatically rejected.
How Can You Contribute?
To discuss how best to contribute to Hygieia, we talked to Capital One Senior Engineering Fellow Tapabrata Pal about the project’s roadmap. The team is focused on helping tech professionals up their game on CI/CD delivery and, as they enter development for Hygieia v3, they want to see contributions from current and future Hygieia users who have similar goals.
• How have contributions grown since Hygieia’s launch in 2015?
Since our launch in summer of 2015, we have seen a great deal of community involvement. Right after the launch, we had only eight contributors. As of today, we have more than seventy contributors contributing to the Hygieia project. Based on just this number, we can say that so far, this project has been a successful community project drawing collaboration between various large-size enterprises.
• What do you think this says about the health of the project?
To be honest, when we launched Hygieia we had zero expectations. This was the first open sourced project from Capital One. We did not even have a dedicated team for this project; it was all created by a handful of DevOps enthusiasts within Capital One’s engineering team. Right after the launch, we started getting a lot of questions, requests asking for help, and inquiring about collaboration. For more than two weeks, this was one of the trending projects on GitHub. Many of us worked really hard to keep up with the external demand. During this time, we realized that we really need to form a dedicated full-time team for this product. The fact that this project won the 2015 Blackduck Open Source Rookie of the Year says a lot about the impact it created in the market.
Currently, we have a dedicated product team and a product manager catering to both internal and external customers. Looking purely at the GitHub status (1900+ stars, 850+ forks and 70+ contributors) I can say that this has been a very successful open source project so far. You can get more interesting stats about Hygieia on Open Hub.
• What are your goals for Hygieia in 2018?
Hygieia 1.0 started with the simple idea of gathering data from various CI/CD tools and displaying them on a single dashboard so that development teams could gauge the health of their CI/CD pipeline.
As we matured in this area, we realized that simply displaying the pipeline status for a particular team is not good enough. For large products, there are multiple teams working on multiple components at the same time and each of these components have their own pipeline. We then created Hygieia 2.0 which included a product-level view of all the components’ CI/CD pipelines. We created a way to correlate data gathered from the tool and track code commits to production to deployment in a seamless way. Using this, we were able to show pipeline bottlenecks on the Hygieia 2.0 dashboard along with 90 day trends on various key metrics.
Over the past few years, DevOps and CI/CD have become mainstream — at this point I am not aware of any enterprise that has not started a DevOps initiative. It is also accepted that even though DevOps is a grass-root level “movement”, without buy-in from senior leadership it is very hard to be successful in implementing DevOps practices. Keeping this in mind, our next year roadmap focuses on some key initiatives:
- Bringing in more “enterprisey” features
- Executive Dashboard for senior leaders
- Overall product packaging, documentation and ease of operation
We created this roadmap based on feedback that we have received from the community and we hope they’re well received.
• What does a first-time contributor need to know or check out before diving into Hygieia?
As I mentioned earlier, this was Capital One’s first Open Source project and we continue to learn a lot about how to manage a good Open Source project. Recently, we have spent a good amount of time to update our documentationand we have a full time technical writer focused solely on this.
As a first-time contributor, one should read this documentation first to understand the current product architecture. Following the current coding style helps us when reviewing a pull request. We welcome all kinds of contribution — from documentation changes to small bug fixes, enhancements, new collectors, etc. Before accepting a pull request, we require the contributor to accept a standard contributor agreement. An individual contributor must sign the Individual Agreement. We also have few enterprises designated as corporate contributors. There is a separate agreement for these groups.
• What are some ways or places a first-time contributor can contribute to Hygieia?
There are many ways one can contribute to Hygieia. Contributing code is one way — that’s the usual and traditional way. One of the main reasons for open sourcing Hygieia was for us, as a community, to learn from each other within the larger DevOps community. Each enterprise has its own way of implementing Continuous Delivery. We wanted to create a vehicle to share ideas, patterns, practices. In that respect, ideas and suggestions to improve Hygieia would be significant contributions.
We do have many ideas, suggestions, and requests in the form of GitHub Issues. We tag issues as “bug”, “enhancement”, “help wanted”, etc. The open issues list is the best place to pick up something and work on it.
If you have questions on possible solutions, please do not hesitate to ask!
Check us out on GitHub for more information on using and contributing to Hygieia.
DISCLOSURE STATEMENT: © 2019 Capital One. Opinions are those of the individual author. Unless noted otherwise in this post, Capital One is not affiliated with, nor endorsed by, any of the companies mentioned. All trademarks and other intellectual property used or displayed are property of their respective owners.