SOFTWARE ENGINEERING

Post Mortem: Asset Sync Error - Heroku Release Phase

Wellcode.IO team | 17 MAY 2020
Pada tanggal 24 Juli 2019, tim Engineering di Wellcode.io mengalami masalah mengenai task asset sync yang tidak berjalan pada fase 'release phase' di platform Heroku.
Karena dampak yang ditimbulkan dari masalah tersebut cukup besar, kami memutuskan untuk melakukan quick fix dengan langsung menjalankan perintah untuk melakukan asset sync di dalam terminal heroku menggunakan `heroku run`.

Disini muncul permasalahan baru dan pembelajaran bagi tim Engineering Wellcode.io yang cukup menarik untuk dibahas. Heroku memiliki 2 tipe environment yang digunakan untuk membuat aplikasi kita running dan melakukan kebutuhan administrasi (dyno): (1) Dyno formation (2) One-off dynos. Dyno formation adalah environment sesungguhnya yang berfungsi menjalankan aplikasi kita, menerima request user, meng-handle transaksi, dsb. Sedangkan one-off dynos diperuntukan hanya untuk melakukan tugas yang sifatnya administratif, ini berupa mesin yang dijalankan hanya ketika kita ingin koneksi ke environment aplikasi kita, bukan environment sesungguhnya yang sedang berjalan menangani request user.
Dan jika kita ingin melakukan direct connection ke aplikasi kita, heroku hanya menyediakan koneksi ke environment one-off dynos, sehingga dampaknya ketika kita melakukan quick fix untuk menjalankan proses sync asset ke CDN pada one-off dynos, fix itu hanya berjalan pada one-off dynos saja, tidak ter-apply pada environment sesungguhnya, sehingga hal ini membuat masalah menjadi semakin rumit.

h1.png 21.8 KB


Setelah melakukan pembahasan mendetail yang cukup cepat untuk memutuskan apakah ini issue yang perlu di raise ke platform Heroku atau tidak, akhirnya kami menemukan sumber dari masalah tersebut. Salah satu tim engineer melakukan proses 'restart dynos' ketika proses promotion dari environment staging ke production tengah berjalan. Tim Engineer Wellcode.io mencoba untuk melakukan re release ulang dan akhirnya hal tersebut bisa memecahkan masalah kami.

Ada beberapa hal yang kami pelajari dari issue ini bahwa heroku sebenarnya hanya menyediakan one-off dynos saja untuk kita bisa masuk ke dalam environment aplikasi kita. 

h2.png 35.2 KB


Adapun pada tahun 2018 Heroku meluncurkan fitur heroku:exec untuk membuat kita bisa masuk ke dalam environment yang sesungguhnya sedang berjalan, tetapi peruntukannya lebih kepada remote debugging.
h4.png 14 KB


Sekarang tidak perlu takut ribet lagi untuk menggunakan sistem invetaris, kamu bakal jadi lebih pinter berbisnis dengan menggunakan sistem inventaris online di bisnis-mu. Apalagi dengan platform pinterusaha.ai kamu akan mendapatkan experience menyenangkan saat mengelola bisnis jadi mudah dan teratur, yuk gabung sekarang dengan klik link pinterusaha.ai jangan lupa follow kami di Instagram untuk bertanya seputar platform dan bisnis insight lain nya di pinterusahaai dan join komunitas bisnis kami di WhatsApp.


Wellcode.io Team
Leading high-tech Indonesia Startup Digital - which serves the community with revolutionary products, system development, and information technology infrastructure

You may also like

NEWS

Apa Pengertian Fast Moving Consumer Goods?

Wellcode.IO team | 02 AUG 2021

TECH

Video Call Telegram Dapat Menampung 1000 Pengguna

Wellcode.IO team | 02 AUG 2021

TECH

Mulai 27 September, Google Tidak Mengizinkan Pengguna Versi Android Lama

Wellcode.IO team | 02 AUG 2021