1. Analytics & Reporting with DevOps
We need analytics and reporting with DevOps because we want to know what is going on with our software and data. DevOps offers many reporting opportunities.
2. DevOps benefits for reporting
DevOps methodology offers many benefits related to Analytics and Reporting.
DevOps ensures seamless integration of many parts, enabling secure and swift software development. The good news is that the CI/CD pipelines manages many different data sources and produce a lot of data during each stage of the development and integration processes.
3. Requirements
Each component of DevOps offers different opportunities related to Analytics and Reporting.
The Requirements phase is where we look at things from a business point of view. It makes sense to track the pace of innovation and the number of products & new features related to this phase.
4. Design, develop, and test
In Design, Development, and Testing, the main goals of Reporting are to track the time spent in each phase, Planning, Coding, Building, and Testing.
Furthermore, for each of these phases, it is often a good idea to trace the quality of the output. Quality can be traced by employing metrics like how much of the code has passed the testing and how stable is the CI/CD pipelines. Pipeline pass rate means the percentage of the changes that enter into the CI/CD pipelines successfully pass the tests and go into deployment.
Also, DevOps reporting allows for monitoring the level of cooperation between the parties involved. Measuring the deliverables by different parties may shed light on the level of collaboration.
5. Deploy, review
The Deploy stage is where the change is ready to start interacting with the users. However, it makes sense to experiment with the transition first to ensure the users like it. In the experiments, the change starts to interact with a limited number of users.
Data scientists identify these experiments' success to see whether the users like them. To do this, data scientists compare the user behavior in the new version of the product with the old version to see if the change is successful. This method is called A/B testing.
The A/B testing provides insights into the user acceptance of the products.
6. Launch, operate, monitor
Once a change goes through the DevOps cycle, it must be maintained, operated, and monitored.
Monitoring means closely following your product to ensure it behaves as expected. Monitoring produces a lot of logs that can be used for reporting.
Reporting is critical here to learn what is going on with your product and if your users are happy with it.
Reporting can shed light on the quality of your DevOps setup and change management efforts. For example, suppose the product experiences a lot of post-release issues. In that case, it might make sense to introduce more testing before the launch.
7. Reporting architecture For DevOps
The DevOps Change Management model produces a lot of data that can be used for analytical purposes.
The primary data sources for DevOps are microservices, CI/CD logs, and Monitoring logs. Since these data sources are spread out, they need to be moved into a database for analytics.
The data is ingested into data pipelines, transforming and preparing them for analytics. Once the information is moved to the database, it becomes available for Data Scientists to use for analytics and reporting.
8. Let's practice!
We learned quite a bit about analytics and reporting in DevOps. Now let's go and practice what we have learned.