Saya mulai EGovernment pada Juni 2023 sebagai fondasi digital service untuk pemerintah yang ingin memulai smart city. Saya ingin layanan digital bisa dibangun di atas dasar yang sama, saling terhubung, dan lebih mudah dikelola ketika jumlah aplikasi maupun OPD bertambah.
Bagi saya, fondasi ini mencakup dua hal yang perlu berjalan bersama: layanan yang dipakai pengguna dan sistem di belakangnya. Karena itu, pengerjaannya mencakup aplikasi, integrasi API, DevOps, infrastruktur, monitoring, serta pengelolaan layanan.
Fondasi DigitalState dan bagian yang saya kembangkan
Sebagian project ini menggunakan DigitalState, sebuah fondasi layanan publik berbasis microservice. Saya memanfaatkan komponen yang sudah tersedia, lalu menyempurnakan sisi DevOps, infrastruktur, monitoring, dan manajemennya sesuai kebutuhan EGovernment.
Dengan pendekatan ini, saya bisa melanjutkan pengembangan dari fondasi yang sudah ada. Bagian yang saya tekankan adalah bagaimana layanan-layanan tersebut dihubungkan, dijalankan, dipantau, dan dikelola sebagai satu kesatuan.
Susunan layanan
Saya memakai pendekatan microservice untuk membagi tanggung jawab layanan. Fondasi DigitalState menyediakan komponen untuk beberapa kebutuhan berikut:
Bagian | Peran |
Portal dan administrasi | Antarmuka untuk mengakses dan mengelola layanan digital. |
Identitas dan autentikasi | Pengelolaan identitas serta akses pengguna ke layanan. |
Services dan formulir | Definisi layanan dan formulir untuk kebutuhan pelayanan. |
Workflow dan cases | Alur proses serta penanganan permohonan atau kasus layanan. |
Records dan assets | Pengelolaan catatan serta aset yang berkaitan dengan layanan. |
Discovery, monitoring, dan logs | Penemuan layanan, pemeriksaan kondisi layanan, serta pencatatan log. |
Pemisahan ini menjadi dasar untuk mengembangkan layanan sesuai kebutuhannya masing-masing, sambil tetap menghubungkannya lewat API.
Penyatuan API dengan Gravitee
Saya menggunakan Gravitee API Management untuk menyatukan akses API dari berbagai microservice. Gravitee menjadi lapisan penghubung antara aplikasi yang memakai API dan layanan di belakangnya.
Pengelolaannya saya susun berdasarkan tenant, OPD, atau aplikasi, termasuk dashboard API untuk masing-masing kebutuhan tersebut. Jadi, API bisa dikelola secara terpusat, sementara konteks pengelolaannya tetap mengikuti layanan atau organisasi yang bertanggung jawab.
Bagian ini penting ketika satu platform melayani banyak aplikasi. Saya ingin integrasi antarlayanan tetap terarah, dan pengelola punya tempat untuk melihat serta mengurus API yang menjadi tanggung jawabnya.
DevOps dan infrastruktur
Di sisi DevOps, saya menggunakan Docker dan Docker Compose untuk menjalankan komponen platform, lalu Ansible untuk mengatur pemasangan serta konfigurasi layanannya. Konfigurasi environment saya pisahkan untuk kebutuhan development, pengujian, dan production.
Saya juga menambahkan pipeline GitLab CI yang menjalankan beberapa langkah:
- Membangun dan menjalankan environment platform dengan Docker Compose.
- Menjalankan playbook Ansible untuk memasang aplikasi.
- Menjalankan playbook validasi aplikasi setelah pemasangan.
Dengan alur ini, proses pemasangan dan pemeriksaan aplikasi masuk ke konfigurasi yang bisa dijalankan ulang. Fokus saya adalah membuat perubahan layanan dan kebutuhan infrastrukturnya lebih teratur, termasuk ketika beberapa microservice perlu diperbarui bersama.
Monitoring dan pengelolaan layanan
Saya memakai Consul pada lapisan service discovery untuk membantu layanan saling ditemukan dan memeriksa kondisi layanannya. Ini menjadi bagian penting ketika platform terdiri dari banyak microservice yang saling bergantung.
Untuk pengelolaan log, susunan layanannya memakai Elasticsearch, Logstash, dan Kibana. Log dikumpulkan dan ditelusuri dari satu tempat, sehingga pemeriksaan masalah tidak perlu bergantung pada pembacaan log setiap container secara terpisah.
Di lapisan API, saya menggunakan dashboard Gravitee sesuai tenant, OPD, atau aplikasi. Saya ingin pengelola bisa memahami kondisi layanan yang menjadi tanggung jawabnya, mulai dari akses API sampai informasi yang dibutuhkan untuk menelusuri gangguan.
Teknologi yang saya gunakan
Stack project ini mengikuti tanggung jawab masing-masing komponen. API Platform saya gunakan di sisi backend PHP, sedangkan Gravitee menangani penyatuan dan pengelolaan API di depan microservice.
Lapisan | Teknologi | Peran |
Fondasi layanan | DigitalState | Komponen dasar digital public services yang saya gunakan dan kembangkan lebih lanjut. |
Backend dan API | PHP, Symfony, API Platform, Composer, Doctrine | Membangun API microservice, mengelola dependency, serta pemetaan dan pengolahan data. |
Portal dan antarmuka | Angular, TypeScript, JavaScript, Bootstrap | Antarmuka portal dan komponen aplikasi yang berkomunikasi dengan layanan backend. |
Formulir digital | Form.io, Node.js | Pengelolaan formulir dan layanan pendukungnya. |
Alur proses | Camunda | Komponen workflow untuk kebutuhan proses layanan. |
API management | Gravitee | Menyatukan akses microservice serta menyediakan pengelolaan dan dashboard API sesuai tenant, OPD, atau aplikasi. |
Penyimpanan data | PostgreSQL, MongoDB | Penyimpanan data sesuai kebutuhan microservice dan layanan formulir. |
Container dan automasi | Docker, Docker Compose, Ansible | Menjalankan komponen, mengatur pemasangan, dan memisahkan konfigurasi environment. |
Pipeline | GitLab CI/CD | Menjalankan build environment, pemasangan aplikasi, dan validasi melalui pipeline. |
Service discovery | Consul | Penemuan layanan dan pemeriksaan kondisi layanan. |
Logging | Elasticsearch, Logstash, Kibana | Pengumpulan, pencarian, dan penelusuran log layanan. |
Pengujian | Behat | Pengujian perilaku dan interaksi layanan pada fondasi aplikasi. |
Arah pengembangan
EGovernment saya bangun sebagai titik awal untuk mengembangkan layanan smart city secara bertahap. Layanan baru bisa mengikuti fondasi yang sama, dengan integrasi API, pengelolaan infrastruktur, dan pemantauan yang dipikirkan bersama sejak awal.
Fokus saya adalah membentuk dasar digital service yang bisa terus dikembangkan sesuai kebutuhan pemerintah dan layanan publiknya.
gravitee-api-management
gravitee-io • Updated Oct 29, 2026
