Drop Database di Production
ฝัง
- เผยแพร่เมื่อ 24 ส.ค. 2024
- Drop Database di Production
Artikel : resend.com/blo...
JOIN PREMIUM : www.youtube.co...
DISCORD PREMIUM : • Post
Donasi :
Saweria : saweria.co/Pro...
Social Media :
Instagram : / programmerzamannow
Facebook : / programmerzamannow
Telegram : t.me/Programme...
TH-cam : / programmerzamannow
Kejadian yang sama terjadi di kantor gue beberapa bulan lalu. Case nya sama persis, running database migration di local tapi env nya pointing ke production. Ga bisa direstore. Untungnya dari tim data punya data mirror, tapi transaksi hari yang sama hilang karena mirror nya perhari. Pelajaran penting, bener kata kang Eko, jangan pernah mau dikasih akses production.
Pantat seketika menguncup. Wkwk
Dipecat gak lu bang?
@@eichorcist Bukan gue, temen gue. Ngga dipecat lah. Malah jadi pembelajaran penting buat tim. Sekarang gara2 kejadian itu, manajemen akses dikantor jadi lebih baik lagi.
@@hiwijaya Gak mungkin di pecat kayaknya, dari pengalaman2 biasanya yang punya akses prod pasti sepuh/suhu 🤣
@@AdityoPratama tetep aja keringat dingin sih
Perbanyak konten kayak gini mas, seru belajar dari kejadian2 orang kyk gini wkwkwk
setuju.. konten kyk gini tuh menjadi teman makan siang ku
Terimakasih banyak untuk insight nya Pak. 🙏otw bikin useful log 🚀
Sama2
hal yang paling ditakuti pas berurusan dengan db production: "4000 data entries have been affected"
Njir pas baca aja agak merinding bro
Salah ngefilter, ngeri euy 🗿
Baru aja kemarin 180.000 huhu
biasakan melakukan SELECT query terlebih dahulu. Baru melakukan update/delete
Biasakan gunakan transaction
kasus begini akan selalu menjadi legenda dan obrolan senior to junior atau new comer dikantor dengan pengantar awal... "lo pernah dengar kisah legend gk????"
padahal hampir semua framework atau microframework memberikan peringatan ketika akan running migration di live (production). harus buat sekenario ketika akan naik ke live ya temen2pertama kali belajar windows 95, guru saya selalu bilang "baca peringatannya walaupun di bluescreen"...
Mantap suhu
mantap sekali mas, saya senang sekali dengan video di channelnya mas eko. sampai hari inipun channel mas eko masih menjadi teman makan siang saya. terima kasihh mas 🙏🙏
Pelajaran penting dr incident2 report semacam ini, trims mas eko utk sharing nya, sy pribadi ketika mau eksekusi cmd yg kira2 ber impact perubahan data, selalu memastikan pointing env nya dulu berkali2 🙏🙏🙏
satu lagi problem yg bisa terjadi saat pakai db migration adalah script "down" nya ga sesuai sama "up" nya. Mungkin karena buru buru terus asal copas script sebelumnya dan function down nya lupa disesuaikan. Alhasil tabel yg di drop ga sesuai. Tapi itu ga masalah kalo masih di local sih. Ga kebayang stress nya kalo harus ngalamin masalah itu di prod, amit amit.
Sangat bermanfaat
Semoga bermanfaat
ini cerita real banget, semua developer berpotensi melakukan kesalahan yang serupa, gw pernah ngedevelop web di laravel, dan bisa akses ke database production, waktu itu gw lagi mau migrate database untuk keperluan tambah relasi struktur database dan lupa untuk ubah env nya, trus gw jalanin aja itu php artisan migrate:fresh, beruntungnya itu akses database production butuh aktifkan vpn perusahaan jadinya migrate nya gagal dan baru sadar setelah di check di env (tangan dan lutut lemes seketika). semoga developer2 lain terhindar dari hal yang serupa.
8:00 sama nih, gw juga paling ga mau dapet akses production
Lagi belajar database, jadi ngeri2 sedap😬 thank you mas eko saran nya
kesalahan fatalnya lebih ke database migration yang ada di framework seperti laravel sama environment nya
belum ISO itu, nggak testing restore secara regular...😄😄
Sangat bagus materinya
semoga bermanfaat
ngebayangin orang yang ga sengaja ngedrop db di prod, pucat se pucat pucatnya pasti💀💀
Jantung rasanya berhenti sejenak🤣😅
@@rizalarfani7985kek nyawa dah mau lepas aja dari badan.
Lebih ngeri daripada ditolak cewek 💀
makan tak enak, tidur tak nyenyak
Pantat seketika menguncup wkwk
Pernah kejadian juga di tempat kerja saya namun untungnya di env staging.
Akhirnya kami pisahkan vpn untuk staging dan production sekalipun programmer senior dengan harapan saat development wajib menggunakan vpn staging.
bener yang disampaikan, ditempat saya pun hanya bbrp aja yg dikasih CRUD ke DB prod. Walopun udah ada backup berkala nya, tp ttp jaga2 byk layer. dapet insight ner uga nih, udah dibackupin berkala, tp nampaknya kelupaan buat test restore nya. thx for sharing!
wah pernah kejadian di perusahaan sekarang. apps buat absensi ga dipakai di internal aja, tapi 2 client kami. dari engineer ada case drop database untuk SSO jadi ga bisa login. deh bikin geger itu. emang harus hati hati sih, untung pake cloud dan ada backupnya. walau beberapa data ada yagn ga ke track
Dikantor sekarang juga sama ga dapet akses production, awalnya aga terhalang mau bikin ini itu ga bisa tp bisa dapet manfaatnya sekarang takutnya ada hal2 kyk gini.
apalagi kalau mau ubah2 atau apa2 terkait database itu harus lewat DBA/DBE , dan script migration di code selalu di comment (walau jatohnya jadi membuat manual db/table/collection sih) tapi jadi aman. thanks pak insight nya
Untuk di case aku sih kemarin juga gk sengaja timku delete data production, tapi untungnya aku udh buatin function di server untuk buat backup SQLite every transaction, jadi untuk restore bisa paling makan 2-3 jam-an
Di kantor gw, development dan production dijembatani oleh satu orang. Dan gak ada seorang pun di development punya akses ke production kecuali hanya satu orang itu yang bertanggungjawab. Itu pun sebelum dimigrate, perubahan code kita di review di gitlab, baru di pull branch dan data migration.
Mau drop database, ataupun UPDATE query. Semua beresiko di server production.
Gitu pentingnya adanya SOP atau system saat eksekusi.
Jgn dibiasakan QUERY lsg di server database. Kerjaannya sih mungkin enteng, tapi krn Human Error, Akibatnya sgt fatal.
pernah kejadian gini juga. dan pelakunya saya sendiri.
jadi saya mau upgrade server dari Ubuntu v18 ke v20. nah karena saya fullstack jadi semuanya dikerjain sendiri.
pada saat proses upgrade, ada kegagalan pada proses upgrade mysql. alhasil semua data hilang.
sialnya saya gak punya backup dan lupa buat backup. pengen nangis asli dan gak bisa tidur.
untungnya user gak ada yang ngeh data mereka hilang.
ini jadi pelajaran buat saya kalo mau ngerjain apapun diserver, wajib backup data dulu.
kobisa ga ngeh ya datanya hilang?
User y keluarga dia sendiri😂@@bungtomo4871
Thank you mas eko untuk insightnya.
sebagai dba yg tiap hari nyentuh env prod, kalo denger incident gni entah dari temen atau artikel, dengkul langsung lemes rasanya ,
kalo ditempat saya, developer cuma dikasih akses read only ke env prod, dan user db nya tidak boleh sharing antar developer.
Gw pernah ngerjain project sebagai role DBA sekaligus Storage Engineer... saat itu ada storage pinjeman yg akan dibalikin. Otomatis datanya saya pindah ke storage lain. pada saat proses rebalance belum selesai, gw delete lah LUN di storagenya... 12 Database hilang cuy...
klo saya, pernahnya delete load balancer yg sifatnya dynamic di GCP Prod, perusahaan mining, langsung panik gaes , untungnya bisa di buat ulang pakai deployment ulang
saya pernah, delete data di production punya client, panic
untung temen gw nenangin dan akhirnya kontak pihak hosting, alhamdulillah ada snapshot bbrp jam sebelumnya, sisanya saya minta pemilik toko untuk stock opname ulang di semua cabang karena system crash (ini aplikasi POS)
alhamdulillah pemilik toko fine2 aja malah karena kejujuran saya dan cara saya nanganin masalah gitu dia malah respect dan sering ngontak saya secara pribadi sampe sekarang
untung gak pura2 gak tau ya kak
sering-sering bahas ginian pak seru
Baru aja kejadian bulan lalu 😅
Jadi ada tim apps yang melakukan alter table pada salah satu db. Alhasil db nya hang, di hari jumat lagi 😂
Beruntung ada backup di hari itu, dan restorenya berhasil
kalo sampe nge Drop sih belom.
cuma dulu pernah update data di salah satu table Production ga pake where 😅
pas select all liat hasilnya kok kembar semua datanya wkwkwkwk
jarang-jarang ada kompeni yang ngakuin kesalahannya dan jelaskan kesalahannya secara real
pernah juga kejadian di kantor lama udah backup DB tapi ga pernah ngelakuin regular restore dan bener aja kejadian ga sengaja nge-drop DB prod dan saat mau restore file backupnya ternyata gagal di restore, beruntung itu data dari app yg masih beta test dan baru nyimpen dikit data transaksi user.
gue sebagai devops engineer pasti pegang akses production, agak ngeri2 sedap kalo apus data production wkwkkwkwkw, pernah ngerasain. jujur waktu itu karena ngantuk tapi beruntungnya waktu itu bikin cron backup.
Case aku pernah human error di production, tapi bukan drop database, aku flutter developer, jadi aku gak sengaja ngubah env production jadi development, apinya berubah ke api dev gk prod, mana aplikasi udah update udah rilis, jadi 1 hari perusahaan dimatikan dulu gk nerima transaksi, untung saya gal dipecat, mungkin karena masih hitungan magang juga, tapi sejak itu bener bener harus teliti liat file lagi
Dapet cerita dari temen, atasan dia gk sengaja drop db di cmd server tapi temen gue jg malah disalahin dan minta tanggung jawab berdua. Alhasil semua data harus diinput manual lagi 😂
Padahal cuma nonton ini, tapi ikut degdegan.. kaya horror banget
sama, ngebayangin klo terjadi beneran di gw 🤣
Mengheningkan cipta bagi programmer yg ga sengaja drop table / databse di production
sempet liat incident kaya gini, antara rm -rf / dan delete from tbl tanpa filter where di prod 😆 tp ya untungnya bisa segera solved dan kejadiannya bkn dijam sibuk, jadi gak heboh haha
Akses prod boleh tp permissionnya read only aja. Kan butuh jg utk troubleshot isu prod kadang kala.
Ini yang paling gw takutin ketika disuruh cleansing data atau data fix sama user dan lead. Neken enter nya sambil komat2 & keringet dingin. Gak bisa bayangin sih kalo case nya kalo satu db ke drop
emang paling bener itu env prod dikasih buat read-only aja
Jauhkan hamba dari hal ini yaa allah
Jadi bahan pembelajaran
amit2 jangan sampe kejadian kyk gitu, soalnya aku biasanya pake 2 env d local, ada dev dan prod,, cuman yg prod jarang bgt aku pake, hal2 tertentu aja sih
baru kejadian sama saya 1 bulan lalu, tiba2 ada temen 1 team ngehapus project di gcp, otomatis semua yang ada di dalam project nya ke hapus (vm, db, dll) untung aja masih bisa di restore
Berhati-hatilah kalian yang sedang belajar. Karna gw sendiri pernah ngalamin ke update tanpa filter. Dan rasa nya pengen resign :(
saya dulu bukan delete sih tapi update row sql, saya pikir kan di env local eh taunya di prod dong. asli panik banget sih itu hahaha
Pengalaman pribadi 4 taun lalu. Meskipun solved karna temen punya mirror, saya tetep kena SP karna kedenger direksi 😅
Lah gw baru kejadian kemaren kwkwk, tp cuma hapus data di tabel prod getdate - 1, untung ada backup jd bisa reinsert transaksi lama 😂😂😂
pak boleh di bikinkan tutorial sql server karena pas banget mau ganti db dari mysql ke sql server . terima kasih...
kalo hapus2 DB saya selalu minta di temani temen terutama senior. buat double chek dan tidak salah hapus..
pengalaman saya as DBA serajin atau sesering apapun buat backup pastikan bisa di restore dan buat automation. nya
kedua bisa informasikan ke team terutama team bisnis ada backup plan apa, selain mengandalkan restore backup dari database karena seperti sebelumnya backup itu ada gap walaupun kecil, atau bisa kerja bareng dengan team engineering nya apakah ada plan selain dari restore backup dari database
Pernah banget ngalamin njirr, pas mau running test ternyata ada kode yg menghapus seluruh table. Panik banget, untung ada backup tapi hilang data transaksi dari bbrp bulan.
harusnya di previlege nya untuk production hanya untuk read only disesuaikan berdasarkan user ldap yang login
Walaupun mereka mengalahkan kesalahan fatal tapi mereka tetap terbuka dengan apa yang terjadi dengan cukup detail. Kapan ya provider lokal kita bisa seterbuka ini kalau ada incident?
Duarrr
makan tak kenyang tidur tak sleeping pasti,
BUATIN TUTORIAL DJANGO PAK🙏
di tempat saya bekerja di kasih Laptop kantor mereka dan di kasih akses DB Prod, kadang panas dingin klo disuruh hapus data.
Pernah restart vps terus mongodb gagal restart. Karena bingung ujung2 install ulang mongodbnya dan gak bisa backup. Untung cari2 di vpsnya ada backup databaenya. Tetapi sekali di restore malah banyak error😢
QA diperlukan agar bisa recreate skenario bug di production seperti input nya apa outputnya apa. karena kalo udah di production jangan diapa2in lagi dah
Untung saya gak pernah mau dikasih akses ke production.
Kalaupun butuh minta datanya aja, import di local.
Ngeri banget emg kalo apa2 harus dilakuin di production, kadang agak riskan juga kalo do-changes langsung di DB production, suka was-was wkwk
minta maaf dulu sebelum execute
Ditempat saya ga ada db local, semua langsung production. testing aja pake production gegara nerusin app leluhur mana gada dokumentasi. env lokal sama dengan env production. Bahkan saya tiap mau php artisan serve aja selalu ngeri selalu teliti takut takut malah php artisan migrate 😂
test on prod, mantul
Hadir
Kelihatan fitur database tidak digunakan secara penuh, padahal ada fitur hak akses sesuai cred db.
artisan migrate:fresh, langsung jd pesulap jir 🗿
Aduh, mana saya sekarang punya akses db prod lagi pak 😅
minta maaf dulu sebelum kejadian
Sampe saat ini ga berani migrate di production
kejadian waktu pake sequelize yang mestinya sync false ini true 😂
Bang pelajari cybersecurity juga dong
Pak, apa memungkinkan untuk bahas materi vitess untuk scale DB?
Lama juga tuh panas dingin 12 jam lebih 😅
Itu merindingnya mungkin spt nyawa ada di atas pala, semua terasa melayang dan spt mimpi 😂
SI programmer: dah lah...
pernah kejadian jg pada diri sendiri.. untung bukan data transaksi. sekarang udah direstrict aksesnya hanya bisa melalui jump host. btw untuk log ini standartnya ada ngga ya? isinya apa aja? atau beda company beda jg standartnya? satu lagi, berarti harusnya semakin banyak data yang ditulis ke log semakin besar jg ya impactnya ke performance?
log nya custom bikin sendiri, sesuai kebutuhan transaksi terpenting yg di log sebagai mirror backup
tim devop panas-dingin 😂
kalau db di block akses tidak pakai from anywhere, artinya hanya bisa diakses di server apakah cukup membantu mengurangi resiko ini Pak?
Salah pemilihan backup timestamp itu maksudnya gimana mas?
kalo engineer nya gua yg baru fullstack crud dikit2 nestnextjs pasti gabakal bisa di restore selamanya kaga ngarti sama sekali gitu2an 😂 kalo ada salah mirgate auto migrate reset ajalah 😅
apakah mungkin migrate nya 'fresh' jadi semua data yang ada di drop terus dibuat lagi 😅
aku juga pernah ngalamin 2 tahun lalu
dulu gw minta user db tapi yang read only hehe aman kayaknya gitu ajah
itu kena sp berapa ya kira2
ini gabrul banget, drop database production bwahahaha
biasanya kesalahan saat unit test, isi database hilang 😂
kebayang itu panik nya wkwk
sync: true nya lupa dimatiin XD
"5000 rows affected" berasa simulasi kiamat kubro wkwk
wkwkwkwk di kantor gw juga pernah kejadian malah lebih parah, udah lupa backup, server production dijalanin command rm -rf di direktori root, otomatis satu server langsung kosong
kalo disini udah di G*blok2in tuh yg kek gini... t*lol'nya keterlaluan
Agak serem ya judul nya 😂
🙏 12:21 noted
Bisa gk Pak Eko, meskipun dapet akses ke database production tapi hak aksesnya di batesin, kayak file sharing gitu ada yg bisa edit, ada yg cuma bisa read aja,
meding ngga usah sekalian ... kan susah juga ngatur grant akses nya supaya cuma boleh akses object tertentu saja
Kalau saya pernah Release production App ke playstore, tapi databasenya point ke staging 😭
Saya pernah begini wkwk. Untungnya react native ada fitur code push 😂
programmer baru jangan mau deh dikasih akses ke db production apapun alasannya. Dulu gw suka dikasih padahal diluar role gw dan sekarang gw kapok. Bebannya berat cuy. Dan kalau ada anomali pasti kita dikambing hitamkan. Jadi, walau statusnya orang baru atau junior, jangan pernah mau dikasih akses db prod, titik.
kan emang sengaja, lagi nyari kambing hitam #eh
@ProgrammerZamanNow lebih tepatnya ditumbalin kali ya wkwk. Baru nyadar pas udah kesini sini. Untung gw udh cabut duluan sblm makin aneh.
saya pernah delete cluster production
keren men
katanya kalau "teman saya" itu biasanya "saya" 🤭🤭🤭
ah mosok sih?
gimana ya nasib bro yg ngelakuin kesalahan ini sekarang? turut prihatin gw… 😅