Chapter Sixteen
Cutover
POV: Bella
Pak Gunawan bertaruh dua juta rupiah bahwa migrasi fase satu akan gagal.
Bukan di whiteboard Andre. Taruhan itu dia ucapkan langsung, di ruang rapat, Senin pagi, di depan dua belas orang, dengan nada yang tidak mengejek, tapi juga tidak ramah.
“Saya sudah delapan tahun di sistem ini, Pak Erga. Memindahkan data transaksi aktif ke arsitektur baru tanpa mematikan aplikasi, dalam satu malam, di hari kerja?” Dia menggeleng pelan. “Saya tidak bilang tidak mungkin. Saya bilang saya belum pernah lihat itu berhasil.”
“Belum pernah lihat bukan berarti nggak bisa, Pak,” kata Yoga, lalu langsung menyesal karena semua orang menoleh padanya.
Erga tidak menanggapi taruhan itu. Dia hanya mengangguk, lalu membuka dokumen yang sudah dia tulis selama tiga minggu. Runbook. Enam puluh dua langkah, masing-masing dengan penanggung jawab, perkiraan waktu, cara memeriksa keberhasilan, dan rencana mundur kalau gagal.
“Kalau langkah mana pun gagal,” katanya, “kita kembali ke sistem lama dalam sembilan menit. Pelanggan nggak akan tahu apa-apa.”
“Dan kalau tidak gagal?” tanya Pak Gunawan.
“Pelanggan juga nggak akan tahu apa-apa.”
Pak Gunawan menatapnya lama. Lalu dia tersenyum, senyum yang sama seperti di hari pertama, senyum orang tua yang sudah melihat banyak konsultan muda datang dan pergi.
“Dua juta,” katanya. “Kita lihat Rabu pagi.”
Cutover dimulai Selasa malam, pukul 01.00. Bukan Jumat. Tidak pernah Jumat.
Ruang Merbau terasa berbeda dari malam Twin Day. Lebih sepi. Hanya lima belas orang. Tidak ada teriakan, tidak ada tagar di media sosial, tidak ada kotak pizza yang jatuh. Hanya layar-layar monitor yang menyala, suara keyboard, dan suara Erga yang membaca langkah demi langkah dari runbook seperti pilot yang membaca daftar periksa sebelum lepas landas.
“Langkah dua belas. Replikasi data pelanggan. Adit.”
“Mulai, Pak.”
“Langkah tiga belas menunggu dua belas selesai. Perkiraan delapan menit.”
Aku duduk di sudut ruangan dengan laptop, sebagai PIC komunikasi, meskipun malam ini aku hampir tidak punya kerjaan. Rencana komunikasi yang kutulis untuk “kalau aplikasi lambat” masih tersimpan di draft, tidak terpakai. Aku lebih banyak menonton.
Aku menonton caranya bekerja. Dia tidak pernah terburu-buru, tapi dia juga tidak pernah terlambat. Setiap kali seseorang di ruangan mulai tegang, entah karena progress bar yang macet atau log yang menampilkan peringatan kuning, dia sudah ada di sana sebelum ketegangan itu sempat menyebar. Satu kalimat pendek. Satu instruksi. Lalu dia kembali ke kursinya.
Pukul 02.40, di langkah tiga puluh satu, grafik kecepatan replikasi turun tiba-tiba. Yoga langsung pucat.
“Pak. Pak, kecepatannya drop. Tinggal tiga puluh persen.”
Beberapa kepala menoleh. Pak Gunawan, yang duduk di pojok sebagai pengamat dengan tangan terlipat, mencondongkan tubuh ke depan.
Erga melihat grafik itu. Dua detik.
“Oke,” katanya. “Satu-satu.”
Ruangan itu memelan lagi. Aku merasakannya, seperti di Twin Day. Seperti suara yang menurunkan volume seluruh ruangan hanya dengan tidak menaikkan volumenya sendiri.
“Yog, itu jam backup harian sistem lama. Setiap jam setengah tiga, sistem lama menyalin datanya ke penyimpanan cadangan. Makan bandwidth yang sama dengan replikasi kita.” Dia membuka satu dokumen dan menggeser layar ke arah Yoga. “Langkah tiga puluh satu, catatan kaki. Aku udah tulis ini tiga minggu lalu. Tunggu sebelas menit, backup-nya selesai, kecepatannya balik sendiri.”
Yoga membaca catatan kaki itu. Wajahnya berubah dari pucat menjadi merah.
“Bapak udah tahu ini bakal terjadi?”
“Aku udah baca log sistem lama selama dua puluh jam. Sistem, kayak orang, jujur waktu nggak ada yang lihat.”
Sebelas menit kemudian, grafik itu naik kembali. Tepat sebelas menit.
Di pojok, Pak Gunawan bersandar ke kursinya dan tidak berkata apa-apa. Tapi dia melepas lipatan tangannya.
Pukul 03.30, aku menemukan sesuatu di runbook yang tidak kumengerti.
Langkah lima puluh delapan. Verifikasi gateway pembayaran cadangan. Status: terpasang.
Aku mengernyit. Aku product lead Nayara+. Aku tahu setiap vendor yang kami pakai, setiap kontrak yang kami tanda tangani. Kami tidak punya gateway pembayaran cadangan.
Aku berjalan ke mejanya. Dia sedang menunggu langkah empat puluh tujuh selesai, dan dia menoleh saat aku berdiri di sebelahnya.
“Langkah lima delapan,” kataku. “Gateway cadangan. Kita punya itu?”
“Sekarang punya.”
“Sejak kapan?”
“Minggu lalu. Aku pasang pakai akun sandbox dari penyedia kedua. Kontraknya udah ada, cuma belum pernah dipakai. Aku cuma nyambungin kabelnya.”
“Nggak ada yang minta.”
“Belum.” Dia kembali menatap layar. “Gateway utama kita cuma satu. Kalau gateway itu mati, seluruh Nayara+ mati. Satu pintu. Aku nggak suka satu pintu.”
Aku menatapnya. Laki-laki yang di ruangan mana pun selalu tahu di mana jalan keluarnya. Laki-laki yang memasang pintu cadangan untuk sistem orang lain tanpa ada yang meminta, tanpa ada yang tahu, tanpa ada yang akan berterima kasih, kecuali suatu hari pintu utama itu benar-benar mati.
“Kamu tahu nggak,” kataku pelan, “kamu nyebelin.”
“Kenapa?”
“Karena susah banget buat nggak jatuh cinta sama orang yang masang pintu cadangan buat semua orang kecuali dirinya sendiri.”
Jarinya berhenti di atas keyboard.
Aku kembali ke kursiku sebelum dia sempat menjawab. Aku tidak mau mendengar jawabannya. Aku tidak mau mendengar Won’t Fix dalam bentuk suara.
Pukul 04.52, langkah enam puluh dua selesai.
Tidak ada sorakan. Hanya keheningan panjang, lalu Adit yang berkata pelan, “Semua hijau, Pak.”
Erga membaca dashboard satu per satu. Transaksi berjalan. Pelanggan yang bangun subuh untuk belanja kebutuhan dapur sudah memakai sistem baru tanpa tahu apa-apa. Error rate: nol koma nol nol dua persen. Lebih rendah dari sistem lama di hari biasa.
“Rollback plan nggak terpakai,” kata Erga. “Terima kasih semuanya.”
Baru saat itulah ruangan bersorak. Pelan, lelah, tapi tulus. Yoga memeluk Adit. Adit memeluk monitor. Seseorang memutar lagu dangdut dari ponselnya.
Pak Gunawan berdiri. Dia berjalan ke meja Erga, merogoh saku kemejanya, dan mengeluarkan dua lembar uang seratus ribu. Lalu delapan belas lembar lagi dari dompet. Dia menghitungnya satu per satu di atas meja Erga dengan gerakan yang lambat dan penuh martabat.
“Dua juta,” katanya.
“Pak, nggak perlu—”
“Saya tidak bertanya perlu atau tidak.” Pak Gunawan meletakkan tumpukan uang itu. Lalu dia berhenti. Menatap Erga lama, dengan wajah laki-laki lima puluh tahun yang sedang menelan sesuatu yang besar.
“Ajari saya,” katanya.
Ruangan itu hening lagi.
“Delapan tahun saya membangun sistem ini. Saya pikir saya tahu semuanya. Dua bulan Anda di sini, Anda tahu hal-hal yang saya tidak tahu.” Suaranya tidak bergetar, tapi tangannya, yang masih memegang dompet, sedikit gemetar. “Saya tidak malu. Saya cuma tidak mau berhenti belajar di umur segini.”
Erga berdiri. Dia mengembalikan uang itu ke tangan Pak Gunawan, pelan, dengan kedua tangannya.
“Sistem ini berdiri delapan tahun karena Bapak yang bangun,” katanya. “Saya cuma baca catatan Bapak. Kalau Bapak mau, kita review runbook ini bareng minggu depan. Bapak pasti nemu hal yang saya lewatkan.”
Pak Gunawan menatap uang di tangannya. Lalu dia menatap Erga. Lalu dia tertawa. Tawa pendek, serak, seperti pintu tua yang akhirnya dibuka.
“Minggu depan,” katanya. Dia memasukkan uang dua juta itu kembali ke dompetnya, pelan, seperti menyimpan sesuatu yang lebih berharga dari uang.
Pukul 05.30, Erga keluar sebentar. Dia kembali lima belas menit kemudian dengan dua kantong plastik besar berisi lima belas bungkus bubur ayam dari gerobak di depan gedung.
“Diaduk atau nggak diaduk?” tanya Yoga, sambil membagikannya.
“Terserah,” kata Erga.
Aku mengambil satu bungkus dan duduk di sebelahnya. Dia sedang mengaduk buburnya sampai rata, berwarna kuning pucat, sangat teliti.
“Nala bilang,” kataku, “kamu nggak ngaduk bubur hari Minggu.”
Sendoknya berhenti.
“Nala banyak bilang,” katanya.
“Kenapa kamu nggak ngaduk?”
Dia tidak menjawab. Dia mengaduk lagi. Tapi aku melihat telinganya. Aku mulai hafal di mana harus melihat.
Pesta kantor diadakan Jumat malam. Pak Darmawan yang membayar, di ruang karaoke besar di mal sebelah, dengan alasan “merayakan migrasi tanpa air mata untuk pertama kalinya dalam sejarah Nayara.”
Aku mengundang Nala. Diam-diam. Aku bilang ini acara kantor yang boleh membawa satu teman, yang tidak sepenuhnya bohong.
Nala datang dengan jaket denim dan senyum yang lebar sekali waktu melihat wajah kakaknya.
“Kok kamu di sini?” tanya Erga.
“Diundang.”
“Siapa?”
Nala menunjuk aku. Aku menunjuk langit-langit. Erga menatap kami berdua, lalu menghela napas dengan cara seorang laki-laki yang sadar dia sudah dikepung dari dua arah.
Andre sudah mengenal Nala bertahun-tahun, sebagai adik sahabatnya. Anak SMA berkawat gigi yang suka merebut remote TV di rumah keluarga Mahardika, katanya. Belakangan mereka sering berkirim pesan, kebanyakan soal Erga, kebanyakan panik. Tapi malam itu, di depan mesin karaoke, dengan lampu neon ungu dan Nala yang tertawa tanpa kawat gigi, aku melihat sesuatu terjadi di wajah Andre. Seperti orang yang baru sadar bahwa jalan yang dia lewati setiap hari ternyata punya pemandangan, dan dia tidak pernah menoleh.
Tiga puluh menit kemudian, Andre memegang mikrofon dan menyanyikan lagu galau tentang cinta yang datang terlambat. Suaranya sumbang. Dia menyanyikannya sambil menatap Nala. Terus-terusan. Bahkan di bagian yang tidak ada liriknya.
Nala tertawa sampai terbatuk. Dan dia tidak berpaling.
Di sofa di sebelahku, Erga menatap Andre. Aku belum pernah melihat tatapan seperti itu dari dirinya. Bukan dingin, bukan datar. Tatapan kakak laki-laki yang sedang mempertimbangkan berapa lama hukuman penjara untuk kasus penganiayaan ringan.
“Ga,” bisikku. “Jangan bunuh Andre.”
“Aku nggak ngapa-ngapain.”
“Mata kamu lagi ngapa-ngapain.”
Pukul 22.10, aku menarik tangannya.
Bukan menggenggam. Menarik ujung lengan kemejanya, seperti yang dilakukan Nala waktu kecil. Aku membawanya keluar dari ruang karaoke, melewati koridor yang penuh lampu neon ungu, sampai ke pintu tangga darurat di ujung.
Tangga darurat itu sunyi. Lampunya putih dan redup. Dari balik dinding terdengar samar-samar suara Andre yang masih bernyanyi dan tawa orang-orang, tapi di sini, di antara dinding beton, suara itu terdengar seperti dari dunia lain.
Aku berhenti di bordes antara lantai tiga dan empat. Aku berbalik menghadapnya.
“Lima menit,” kataku.
Dia tidak bertanya kenapa.
Aku mengambil kedua tangannya dan meletakkannya di pinggangku. Dia membiarkanku. Tangannya kaku di sana, seperti tidak tahu apa yang boleh dan tidak boleh dilakukan. Lalu aku meletakkan tanganku di bahunya, dan mulai bergerak.
Tidak ada musik. Hanya dengung lampu dan suara samar dari balik dinding. Kami bergerak ke kiri, lalu ke kanan, pelan sekali, lebih seperti bernapas bersama daripada berdansa.
Tangannya di pinggangku perlahan-lahan berhenti kaku. Jari-jarinya melemas, lalu menekan sedikit. Tidak menarik. Hanya menekan, seperti orang yang memastikan sesuatu itu nyata.
Aku menempelkan dahiku di dahinya.
Dia tidak mundur.
Napasnya di bibirku. Hangat, sedikit bau mint dari permen yang dibagikan Mbak Tika tadi. Aku bisa merasakan jantungnya lewat telapak tanganku di dadanya. Cepat. Jauh lebih cepat daripada seharusnya untuk orang yang bisa tetap tenang di tengah tujuh belas menit sistem yang tumbang.
“Kamu tahu nggak,” bisikku, tanpa menjauhkan dahiku, “kamu wangi kayak orang yang harusnya udah aku cium dari bulan lalu.”
Dia diam. Aku merasakan napasnya berhenti, lalu kembali.
“Bulan lalu,” katanya pelan, suaranya serak, lebih rendah dari yang pernah kudengar, “kamu belum bikin aku penasaran.”
“Sekarang?”
Tangannya di pinggangku menekan lebih kuat. Aku merasakan hidungnya menyentuh hidungku. Jarak antara kami tinggal sesuatu yang tidak bisa diukur dengan satuan apa pun yang kukenal.
“Sekarang aku yang—”
BIIIP. BIIIP. BIIIP.
Ponselnya. Di saku celananya. Nada alert server yang tajam dan tidak kenal ampun, memantul di dinding beton tangga darurat seperti alarm kebakaran.
Kami berdua membeku.
Dia tidak langsung mengambil ponselnya. Dia tetap di sana, dahi menempel di dahiku, tangan di pinggangku, selama tiga bunyi alert lagi. Lalu dia menarik napas panjang. Sangat panjang. Seperti orang yang sedang menahan sesuatu yang sangat berat supaya tidak jatuh.
Dia mundur. Satu langkah. Tangannya meninggalkan pinggangku, dan udara tangga darurat tiba-tiba terasa dingin sekali.
Dia mengambil ponselnya dan menatap layarnya. Aku melihat wajahnya diterangi cahaya layar yang biru.
“Disk usage di server log,” katanya. “Delapan puluh lima persen. Bukan darurat.”
“Oh.”
Dia masih menatap layar. Lama. Rahangnya mengencang.
“Ini pertama kalinya,” katanya pelan, lebih kepada ponsel itu daripada kepadaku, “aku benci alert.”
Aku tertawa. Aku tidak bisa menahannya. Tawa yang keluar dari tempat yang sama dengan tangis, di bawah dada, di tempat yang sudah terlalu lama menampung terlalu banyak.
Dia mengangkat wajah dan menatapku, dan di bawah lampu redup tangga darurat itu, aku melihatnya tersenyum. Bukan dua detik di sudut bibir kiri. Senyum penuh. Senyum yang membuatnya terlihat lima tahun lebih muda dan sepuluh kali lebih berbahaya.
Lalu senyum itu hilang, perlahan, seperti orang yang ingat sesuatu.
“Kita balik,” katanya. “Nala sendirian sama Andre.”
“Nala nggak sendirian. Dia sama Andre.”
“Justru itu.”
Dia membuka pintu tangga darurat dan menahannya untukku. Waktu aku melewatinya, bahuku menyentuh dadanya, dan aku merasakan jantungnya masih berdetak sama cepatnya seperti tadi.
Dia bisa mematikan alert server. Tapi yang itu, tidak bisa.
- 1 Server yang Katanya Down
- 2 Seminggu Sebelum Akad
- 3 Pak Architect
- 4 Server Room
- 5 Lima Menit
- 6 Won’t Fix
- 7 Payung
- 8 Tanggal di Undangan
- 9 Oke. Satu-Satu
- 10 Dia yang Pergi Seminggu Sebelum Akad
- 11 Jangan Bilang Mas Raka
- 12 Empat Puluh Menit
- 13 Serbet
- 14 Di Bawah Meja
- 15 Setelah Meja Makan
- 16 Cutover reading
- 17 Versi Sheila
- 18 Tolong Jauhi Adikku
- 19 Hampir
- 20 Kita Berhenti di Sini
- 21 Lift
- 22 Hari Gajian
- 23 Fitting
- 24 Runbook
- 25 Aku yang Nggak Diam
- 26 Sama-Sama Benar
- 27 Satu Jengkal
- 28 H-10
- 29 H-8
- 30 H-7
- 31 Malam yang Sama
- 32 Klub H-7
- 33 Resolved
- 34 Pacar Senior Architect
- 35 Hari Kamis
- 36 Sheila Datang Lagi
- 37 Lima Menit?
- 38 Request: Seumur Hidup
- 39 H-7, Lagi
- 40 Tanpa Tanggal Kadaluarsa
- 41 Epilog 1: Malam yang Tidak Dihitung
- 42 Epilog 2: Pagi Pertama