Pulzen Gateway

Developer productivity is complex, with important implications for software development teams. Defining, measuring, and predicting developer productivity could provide organizations, managers, and developers with the ability to make higher-quality software—and make it more efficiently, using different approach such as Satisfaction, Performance, Activity, Communication and Efficiency.

Welcome to the Pulzen Gateway, a comprehensive solution designed to monitor and enhance the productivity of your development teams. This dashboard is powered by the SPACE framework and DORA, and integrates with various tools to provide real-time and historical data insights.

Data Acquisition

Real-Time Data

The Pulzen Gateway API is designed to provide a seamless and efficient way to collect and process real-time data from various sources. Real-time data is obtained through webhooks and API queries from integrated systems such as GitHub, BitBucket, GitLab, and Azure DevOps. The process begins with data being sent in JSON format from these systems. This JSON data is then analyzed to extract relevant metrics and information.

Once the JSON analysis is complete, the system makes additional requests to the APIs of these platforms to gather any further required data. The retrieved data is mapped to a new object structure, ensuring it is properly formatted and ready for storage. This newly mapped object is then saved in the database, maintaining an up-to-date repository of real-time data.

To keep the dashboard current, the Pulzen Gateway API fetches the latest data from the database and sends it to the visualization layer. This real-time data is displayed on Power BI dashboards, providing immediate insights into the development process. This ensures that stakeholders have access to the most recent information, enabling quick decision-making and proactive management.

Historical Data

In addition to real-time data, the Pulzen Gateway API also excels at handling historical data. Historical data is obtained exclusively through API queries to the same integrated platforms: GitHub, BitBucket, GitLab, and Azure DevOps. The process starts with the system requesting historical data from the APIs, which retrieve past records from these platforms.

The obtained historical data is then mapped to a new object structure, similar to the real-time data process. This mapping ensures consistency and compatibility with the database schema. Once mapped, the historical data is saved as new objects in the database, building a comprehensive archive of past activities and performance metrics.

To facilitate historical analysis, the Dashboard API can retrieve this archived data upon request. The processed historical data is then sent to the Power BI visualization layer, where it is displayed alongside real-time data. This integration allows users to compare past and present performance, identify long-term trends, and make data-driven decisions based on comprehensive historical insights.

By combining both real-time and historical data processing, the Pulzen Gateway API provides a holistic view of the development process, enabling continuous improvement and strategic planning.


Security

Security is a critical aspect of the Pulzen Gateway API, ensuring that data integrity and privacy are maintained throughout the entire process. The dashboard implements robust security measures across its integrations with GitHub, BitBucket, GitLab, and Azure DevOps, as well as its data visualization with Microsoft Power BI. Here’s a detailed description of the security components:

GitHub, BitBucket, GitLab, and Azure DevOps Webhooks

To secure the data flow from the source control platforms to the Pulzen Gateway API, we employ several security measures:

  • Enable SSL Verification: Ensures that data transmitted between the source control platforms and the dashboard is encrypted and secure.
  • Secret Token: Utilizes secret tokens to authenticate the webhook requests, ensuring that only legitimate data from the trusted source control platforms is accepted.

Power BI

The integration with Power BI is safeguarded using basic authentication methods:

  • Basic Authentication: Uses a combination of user credentials and Base64 encoding to secure API requests.
  • User and Password: Power BI connects to the dashboard's API using specific user credentials, ensuring that only authorized users can access the data.
  • Base64 Encoding: Adds an extra layer of security by encoding the authentication credentials in Base64 format.

GitHub, BitBucket, GitLab, and Azure DevOps APIs

When interacting with the APIs of the source control platforms, the following security measures are in place:

  • Read-Only Access: Limits the API interactions to read-only operations, minimizing the risk of unauthorized data modifications.
  • API Key Management: Uses API keys to authenticate and authorize access to the data, ensuring that only approved applications can retrieve information from the source control platforms.

By implementing these security measures, the Pulzen Gateway API maintains a high level of data integrity and protection, providing users with confidence in the accuracy and privacy of their data. These safeguards are crucial for ensuring that the dashboard can reliably support the needs of development teams while protecting sensitive information from potential threats.


Architecture

The architecture of the Pulzen Gateway API is cloud-based, ensuring scalability and reliability. It integrates with GitHub, BitBucket, GitLab, and Azure DevOps to gather and analyze data, and with Microsoft Power BI to visualize the data. Here’s a detailed description of each component:

API Pulzen Gateway

An application built in Java 17 with a hexagonal architecture, containerized with Docker, and ready to be deployed in the required environments. This application is responsible for:

  • Retrieving metrics from GitHub, BitBucket, GitLab, and Azure DevOps, filtering them, and storing them in the database.
  • Generating a secured endpoint for Power BI to query the data to be displayed on the dashboards.
  • Logging all activities related to webhooks and API endpoint calls from GitHub, BitBucket, GitLab, and Azure DevOps.

API License Server

An API that checks whether each client has access to use the Pulzen Gateway API.

Client

Power BI, which connects via GET requests to various secured endpoints of the API Pulzen Gateway.


The metrics we currently obtain from the SPACE metrics and DORA and others metrics provide valuable insights into the efficiency and productivity of your development teams. These metrics can be viewed in detail in the sections that follow, offering a comprehensive analysis to drive continuous improvement and project success.

For a quick setup, refer to our Quickstart section at the end of this documentation.