Independent Submission
Implementation Report: 2610-2.3
Category: Standards Track
I. S. Hudzaifah
Bandung, Indonesia
2025

← Section 2, Implementations

Implementation Report: platform-engineering

Abstract

The shared platform under 15+ internal services, covering observability, event streaming, single sign-on, audited database access, and a self-hosted GitLab with CI/CD and an image registry.

See Tech Stack.

Status of This Implementation

This implementation is in production use and actively maintained.

Tech Stack

TelemetryOpenTelemetry
Event streamingKafka, Schema Registry
Log and trace storeClickHouse, Elasticsearch
DashboardsHyperDX
ContainersDocker, private image registry
CI/CDself-hosted GitLab
Code qualitySonarQube, SAST and DAST scans
Object storageMinIO
Single sign-onMicrosoft Entra ID
Database accessDBPortal (Go, Angular), MCP server

1. Overview

Behind the products sits the platform they run on: where logs and events go, how services talk to each other, who can log in where, and how code gets from a laptop to production. None of it is visible to users, which is how it SHOULD be.

2. Observability

With 15+ services, finding out why something was slow meant reading logs on several servers. Logs, traces and usage events now flow through one event-driven pipeline: OpenTelemetry → Kafka → ClickHouse and Elasticsearch, with HyperDX dashboards on top. Kafka sits in the middle so a slow store never blocks the services that send data.

HyperDX log search

Figure 1: HyperDX searching two weeks of WAF logs for one service, about 19.5 million rows. Request paths are blurred.

The same dashboards show slow endpoints, what the web application firewall blocked, and how teams use the internal tools. They later tracked Claude Code adoption after the author trained 20+ engineers.

3. Event Streaming

Kafka also connects the business systems. Recruitment logins, Genba finding reminders, project updates and telemetry all travel as events, so one slow system does not hold up the others. Schemas are registered in a schema registry, so a producer cannot quietly break its consumers.

Conduktor console for the production Kafka cluster

Figure 2: The production cluster in Conduktor, with 151 topics, 392 partitions and 82 schema subjects. Broker addresses are blurred.

4. Access and Storage

Database access used to mean a shared login in a desktop client: unrestricted and unaudited. DBPortal replaces it with role-based access to 30+ databases, granted per connection and per table, and every query is audited. It works from desktop and mobile browsers, and it has an MCP server, so AI agents get the same per-table permissions as people do, and no more.

DBPortal query editor

Figure 3: The DBPortal query editor. The schema tree shows only the tables this user has been granted.

5. Delivery

The author set up the delivery platform single-handedly: the self-hosted GitLab server and its repositories, the CI/CD pipelines, the Docker builds and the private container image registry. Every service now ships through it.

genba-backend in GitLab

Figure 4: genba-backend on the self-hosted GitLab, with 1,617 commits, 34 branches and a passing pipeline on the latest commit.

SonarQube projects

Figure 5: SonarQube, showing the quality gate, security and reliability ratings for each of the 26 scanned projects.

HudzaifahStandards Track[Page 1]