Total Remediation
227
10 Aplikasi Suited
Wave 0 — Contain
64
Urgent Security Fixes
Wave 1 — Divergence
77
Sync & Concurrency
Wave 2 — Consolidate
40
119 → 36 Services
Wave 3 — Master Data
41
40 Employee Copies
Wave 4 — Cutover
5
Authentik & OpenFGA
Filter Cepat:
Menampilkan 1-25 dari 227 perbaikan
1 / 10
Perbandingan Arsitektur: Eksisting (repo.madhani.one) vs Platform Target (super-apps-platform)
Analisis perbedaan struktural antara distributed monolith eksisting dan hex-modular target platform
Kondisi Eksisting (repo.madhani.one)
DISTRIBUTED MONOLITH-
Sprawl Ekstrem: 119 deployables microservices terpecah ke 74 repository git, dengan 47% deployable tidak memiliki skema database sendiri dan 55% adalah kloning dari 15 stereotipe.
-
Replikasi Data Karyawan Tak Terkendali: 40 database independen menyimpan copy tabel
users/employeesdengan 6 strategi Primary Key berbeda dan 20 bentuk skema fisik. Tidak ada authoritative single writer. -
Keamanan Cacat & Fail-Open: Header
X-Bypass-Middlewareaktif, SSOIsAuthenticatedhanya mengecek validitas format UUID tanpa cek Redis, JWT secret HS256 dibagi lintas modul (ESS & Medic berbagi kunci). -
Sinkronisasi Rusak Tanpa Alerting: 7 consumer group Kafka bertabrakan (shared group ID), statement UPDATE bind parameter tidak cocok (10 args untuk 11 placeholders di hse-auth), dan query bulk upsert error diabaikan.
-
Bahaya Horisontal Scaling: ~25 dari ~28 scheduler cron tidak memiliki distributed lock. Scale-out HPA memicu ledakan notifikasi ganda ke WhatsApp/Firebase karyawan dan duplikasi deduksi cuti.
Target Platform (super-apps-platform/backend)
HEXAGONAL MODULAR MONOLITH-
Konsolidasi ke 6 Modul Platform: Seluruh dependensi platform disatukan ke dalam 6 modul hexagonal bersih:
platform-identity,platform-access,platform-config,platform-files,platform-log, danplatform-notif. -
Single Source of Truth Identitas:
platform-identitymenjadi pemilik tunggal entitas Employee dan Organisasi. Downstream service hanya membaca via gRPC/API tanpa membuka database pool sembarangan. -
Authentik IdP + OpenFGA PDP: Autentikasi bermigrasi ke OIDC berbasis Authentik yang terhubung ke Active Directory LDAP. Otorisasi dievaluasi saat request (request-time PDP) via OpenFGA, bukan sekadar snapshot JWT basi.
-
Protokol Bersih & Safe Concurrency: Kontrak gRPC dikelola dengan Buf (buf.yaml / buf.gen.yaml), cron job dilindungi Postgres Advisory Lock (
pkg/lock), dan Kafka murni untuk asinkron dispatch notifikasi. -
Pengurangan Beban Operasional: 119 service dikonsolidasikan menjadi 33-36 service (−70%), menghemat resource kluster k8s, mempermudah CI/CD pipeline, dan menghilangkan latency N+1 cross-network.