In the dynamic landscape of software development, the never-ending challenge of understanding and optimizing the development process finds a solution in Apache DevLake. As an innovative open-source developer data platform, Apache DevLake is designed to revolutionize how development teams harness data for engineering excellence, elevate developer experiences, and foster community growth.
Our customer faced a significant challenge in gaining comprehensive insights into their software development practices. The fragmented data from different DevOps tools, like Jira, GitLab, and Jenkins, made it challenging to make smart decisions and improve the development process. This data puzzle brought several problems:
Recognizing the need for a transformative solution, the CloudifyOps team introduced Apache DevLake. Acting as a central hub, DevLake seamlessly ingested, analyzed, and visualized data from across the Software Development Life Cycle (SDLC).
How to Setup DevLake?
To install the chart with release name devlake, follow these steps:
Start by generating a secure encryption key using a reliable method like OpenSSL. For instance, run the following command to create a 128-character string of uppercase letters:
openssl rand -base64 2000 | tr -dc 'A-Z' | fold -w 128 | head -n 1
Copy the generated string and set the value of the ENCRYPTION_SECRET environment variable by running the following command:
export ENCRYPTION_SECRET="copied string"
Remember, keeping the ENCRYPTION_SECRET safe is crucial, as it encrypts sensitive information such as personal access tokens and passwords in the database.
Install the chart by executing the following commands:
helm repo add devlake https://apache.github.io/incubator-devlake-helm-chart
helm repo update
helm install devlake devlake/devlake --version=0.19.0-beta6 --set lake.encryptionSecret.secret=$ENCRYPTION_SECRET
And just like that, the journey begins. Visit your DevLake from the node port (default is 32001) at http://YOUR-NODE-IP:32001.
DevLake supports a range of data sources to cater to diverse needs. Among the supported sources are:
Let’s dive into a real-world scenario where Apache DevLake becomes a pivotal solution for a customer project involving Jira, Gitlab, and Jenkins.
Open the config UI and add the data sources.
To view the collected data, click on the “Dashboards” button located in the top-right corner of Config UI.
DevLake can be used for various use cases such as for Engineering Leads, QA Engineers, OSS Maintainers, etc.
DORA, which stands for “DevOps Research & Assessment,” becomes a focal point for Engineering Leads. This standardized framework focuses on both Velocity and Stability. Within velocity are two core metrics:
Stability is composed of two core metrics:
2. Engineering Overview
Use Cases: This dashboard is to overview the Git and project management metrics.
Data Source Required: Jira + GitHub, or Jira + GitLab.
3. Engineering Throughput and Cycle Time
Use Cases: This dashboard shows the engineering throughput and cycle time, which helps to identify productivity and bottlenecks of the development process.
Data Source Required: GitHub and Jira (transformation required to tell DevLake what the story_points field is)
4. Engineering Component and File-level Git Metrics Dashboard
Use Cases: This dashboard heavily focuses on components, files, and authors of the repository. This helps us to know how many authors are committed on specific files and also code distribution and commit distribution.
Data Source Required: GitHub, Gitlab, Azure DevOps
Unified Data Integration: DevLake seamlessly integrated a variety of our customer’s DevOps data sources including Jira, GitLab, and Jenkins, into a coherent and easily understandable view. The implementation of a standardized data model greatly simplified the integration process, offering our customer teams a consolidated and unified perspective on their entire SDLC from project progress to issue tracking, and continuous integration processes.
Out-of-the-Box Insights: With DevLake, our customer had immediate access to crucial engineering metrics through user-friendly, purpose-driven dashboards. These dashboards, tailored for real-world scenarios, provided actionable insights ranging from code commit patterns to deployment frequencies. Our customer could quickly identify bottlenecks in their deployment process, resulting in a significant reduction in deployment times and improved overall efficiency.
Customizability: Recognizing the distinct needs of each development team, DevLake’s high level of customization proved to be a game-changer for our customer. They were able to tailor the platform to match specific project requirements by seamlessly integrating new data sources, defining custom metrics, and creating personalized dashboards, enhancing their overall productivity and collaboration.
Industry Standards Implementation: DevLake’s commitment to aligning with industry standards, notably incorporating recognized DORA metrics, empowered our customer teams to systematically enhance their DevOps performance. For instance, by adhering to DORA metrics, the customer successfully identified improvement areas in deployment frequency and lead time for changes, resulting in a marked acceleration in their software delivery cycles.
In conclusion, Apache DevLake significantly enhanced how our customer developed software. The platform’s feature of integrating different DevOps data gives teams a clear overall picture of their development work. The ready-to-use insights help our customer teams quickly make decisions based on data, and the platform can easily adjust to each team’s specific needs. The journey with Apache DevLake is a big change. Starting with connecting data sources and creating dashboards, DevLake is making software development better, encouraging teamwork, and inspiring a strong push for excellence. Choosing DevLake isn’t just a decision; it’s a promise for a future where data, smart metrics, and industry rules come together to make software development a huge success.
To know more about how CloudifyOps can partner with your teams in your cloud journey, write to us at sales@cloudifyops.com.
CloudifyOps Pvt Ltd, Ground Floor, Block C, DSR Techno Cube, Survey No.68, Varthur Rd, Thubarahalli, Bengaluru, Karnataka 560037
Indiqube Vantage, 3rd Phase, No.1, OMR Service Road, Santhosh Nagar, Kandhanchavadi, Perungudi, Chennai, Tamil Nadu 600096.
CloudifyOps Inc.,
200, Continental Dr Suite 401,
Newark, Delaware 19713,
United States of America
Copyright 2024 CloudifyOps. All Rights Reserved