Demi Neptunus!!!

- 2 mins read
story

https://spongebob.fandom.com/id/wiki/Raja_Neptunus

Ini adalah blog pertama saya yang ditulis dalam bahasa Indonesia. Saya tidak akan membahas hal-hal teknis secara langsung. Tapi tenang saja, masih ada hubungannya dengan profesi saya sebagai software engineer. Karena walau sedang tidak menulis tentang ruby, docker, atau AI, tulisan ini tetap berada dalam universe yang sama, universe developer yang penuh keanehan.

Dalam kebudayaan software engineer, kita mengenal pepatah sakral dari Martin Fowler yang katanya cuma ada dua hal yang benar-benar sulit dalam universe ini: cache invalidation dan naming things. Saya ingin bercerita soal poin nomor dua.

Di kantor saya yang sekarang, ada tradisi unik: hampir semua project baru dinamai berdasarkan tokoh atau konsep dari mitologi Yunani. Beberapa contohnya: Athena, Elysium, Phoenix dan Lexicon. Keren, kan? Saya pikir, di balik setiap penamaan ini, tersimpan niat dan doa yang tak kalah keren. Seperti orang Indonesia bilang, “Nama adalah doa.” Dan itu betul, doanya bisa baik, atau justru sesuai kenyataan, suka atau tidak.

https://www.ancient-origins.net/myths-legends-europe/cerberus-legendary-hell-hound-underworld-003142

Baru-baru ini saya ditugaskan untuk melakukan assessment teknis terhadap salah satu service bernama Cerberus. Kalau kamu pernah baca mitologi Yunani, kamu mungkin tahu siapa Cerberus. Ya, anjing berkepala tiga yang menjaga gerbang dunia bawah tanah agar tidak ada yang kabur dari neraka. Nah, di konteks kerjaan kami, Cerberus adalah authentication service yang bertugas menjaga sistem dari user tidak dikenal. Dengan kata lain, dia penjaga gerbang, literally. Nama yang sesuai, bukan?

Singkat cerita, muncul inisiatif untuk menggantikan Cerberus dengan sistem open source identity and access management (IAM). Secara teori, sistem baru ini lebih scalable, modern, dan tentunya enterprise ready. Beberapa aplikasi baru sudah mengadopsi sistem ini. Tapi ya, kamu tahu sendiri bagaimana rasanya mengintegrasikan sesuatu yang baru ke dalam sistem legacy yang sudah menempel erat seperti hubungan Ibu dan Anak.

Karena integrasi penuh belum bisa dilakukan tanpa risiko besar, akhirnya kami mengambil keputusan bijak khas dunia nyata: biarkan dua-duanya hidup berdampingan. Alhasil, user nantinya bisa login lewat sistem lama atau sistem baru. Alias: kita punya dua mekanisme autentikasi yang berjalan paralel. Alias DUA KEPALA.

Saya iseng berkelakar ke rekan saya, Tie, “Tie, sepertinya project Cerberus sudah mulai menjiwai namanya. Sekarang udah punya dua kepala. Tinggal cari satu lagi buat lengkapin…” Dengan cepat dia menimpali, “Kalau hitung portal aplikasi juga, bisa dibilang Cerberus kita udah punya tiga kepala loh.” Dan di situlah saya sadar kita benar-benar telah menciptakan Cerberus yang sesungguhnya.

Demi Neptunus!!! (eh… Neptunus memang bukan dewa Yunani, tapi Roman, sepupu Poseidon. Tapi sudahlah…)